دوشنبه, ۲۵ تیر, ۱۴۰۳ / 15 July, 2024
مجله ویستا

مقایسه Coldfusion و ASP


مقایسه Coldfusion و ASP
▪ ASP بر مبنای ISAPI بنا شده است . ASP یک DLL است بنام ASP.DLL که معمولا در دایرکتوری های سیستمی ویندوز یافت میشود . IIS فایل های ASP را به ASP.DLL راهنمایی میکند ، در اینجا موتور ASP فایل ها را پردازش میکند و سپس نتایج را برای کلاینت میفرستد. کلدفیوژن از پسوند CFM استفاده میکند . iis ازین پسوند برای تعیین مسیر درخواست هاو راهنمایی آنها به کلدفیوژن توسط ارتباط دهنده ISAPI استفاده میکند.
▪ ASP از کد های اسکریپتی سرور ساید مانند VBSCRIPT استفاده میکند و همچنین کد های کلاینت ساید جاوا اسکریپت .کلدفیوژن هم از فایل هی CFML برای عملیات سرور ساید و از جاوا اسکریپت جهت اعمال کلاینت ساید استفاده میکند . اما کلدفیوژن با asp فرق دارد . چون کلدفیوژن فقط یک DLL نیست که توسط IIS لود شود بلکه کلدفیوژن یک سرویس است که روی ویندوز اجرا میشود وشما میتوانید آن را مانند هر سرویس دیگر (مثلا SQL ) بحالت START و STOP در آورید .
▪ پس نحوه کار ASP و Coldfusion با IIS یکسان است . نحوه برنامه نویسی در هر دو یکسان است ( استفاده همزمان سرور ساید و کلاینت ساید) و تفاوت آنها در پسوند فایل ها و زبان استفاده شده در اسکریپت نویسی آنهاست.
● دات نت قدم بعدی ASP :
▪ ASP.NET برای کار با دات نت فریم ورک مایکروسافت طراحی شده . برخلاف ASP که یک زبان اینترپرتری (مفسری) است ،ASP.NET قبل از اجرا در همان لحظه درخواست به زبان MSIL (Microsoft Intermediate Language ) ترجمه میشود . کدهای ترجمه شده ASP.NET که معمولا کدVB.NET یا C# هستند در محیط CLR ترجمه میشود . کلدفیوژن زبان کامپایلری است که در لحظه اجرا کد هایش به بایت کد جاوا تبدیل میشوندو کد تبدیل شده در محیطی بنام Java Virtual Machine اجرا میشود.
▪ ASP.NET از منابع و آبجکت ها و API های دات نت استفاده میکند که در CLR هستند . مدیریت حافظه و اجرا و همه چیز بعهده CLR میباشد . ASP.net بجای پردازش در یک فایل dll تنها، از CLR استفاده میکند -- اما کلدفیوژن بجای اینکه فقط در محیط دات نت مایکروسافت اجرا شود روی تمام محیط های J۲EE اجرا میشود و از ابجکت ها و منابع و API های جاوا و J۲EE که داخل java VM است استفاده میکند. و مدیریت حافظه و اجرا و بقیه بعهده VM است.
● دفاع از کلدفیوژن در برابر پدرخوانده اش : جاوا
خیلی می بینیم که بعضی ها میگن از کلدفیوژن به جاوا اسباب کشی کنید . چرا ؟ یکی از دلایل کمبود شناخت درباره کلدفیوژن و طرز کارشه . بیاید با یک رابطه بین این دو برنامه شروع کنیم :
برنامه های نوشته شده در CF اصالتا جاوا هستند یا مقدار خیلی کمی فرق دارند .CF روی یک سرورJ۲EE اجرا میشود که یک برنامه تایید شده توسط شرکت سان میباشد که کدبایت جاوا را اجرا میکند . این کدبایت جاوا از کامپایل کد های CFML نوشته شده توسط شما برجود میاید. به زبان ساده تر میشه گفت که CFML یک ساختار زبان برای برنامه نویس است، نه برای سرور . در هنگام اجرا کلدفیوژن برنامه را به جاوا کامپایل کرده و بنام CF اجرا میکند . در این لحظه هیچ CFML ای وجود ندارد و کدی که اجرا میشود تماما جاوا است . نه بیشتر و نه کمتر ! بهمین سادگی .
برنامه کلدفیوژن شما یک برنامه جاوا است که با کد های ساده تر کلدفیوژن آنرا نوشته اید . در اصل کلدفیوژن یکی از ابزارهای کمکی جاوا بحساب میاید .مثلا در جاوا برای وصل شده به پایگاه داده باید ۱۰ خط کد بنویسید ، در حالیکه این کار با یک تگ کلدفیوژن قابل انجام است . یا در جاوا برای فرستادن ایمیل SMTP با استفاده از JAVAMail API باید کلی خودتونو برای نوشتن کد خسته کنید ، در حالیکه اینکار با یک تگ تنها در کلدفیوژن انجام میشود . خوب دوباره نویسی را پس کنار بگذارید .
پس cf برنامه نویسی جاوا راگسترش داده و ساده تر میکند . وبرنامه های CF نوعی جاوا هستند و با برنامه هایی که در زبان سطح پایین تر جاوا نوشته شده اند فرقی ندارند .کلدفیوژن همچنین میتواند از API های جاوا ، class های جاوا ، تگ های JSP و JavaBeans نیز استفاده کند .چون خودش فرزند جاواست.
نویسنده : حسین شرفی
منبع : سایت ماکرومدیاx