PHP یا ASP.NET

همیشه یكی از بزرگترین سوالات برای علاقمندان به یادگیری زبان برنامه نویسی تحت وب این است كه بین ASP.NET و PHP كدام یك را انتخاب كنم؟

اگر شما هم درون سایت‌ها و انجمن‌های مختلف در این مورد جستجو كرده باشید، خواهید دید كه در اكثر موارد این بحث بدون نتیجه بوده و یا هر كس با توجه به دلایل خاص خود از این دو گزینه یك مورد را پیشنهاد می‌كند. من نیز در اینجا قصد ندارم در مورد خوب بودن یا بد بودن این دو گزینه صحبت كنم. بلكه تنها نكاتی را در مورد ASP.NET و PHP بررسی خواهم كرد تا شناخت بهتری از این دو گزینه پیدا كنیم.

قبل از اینكه به بحث درباره‌ی این موضوع بپردازیم بهتر است كه بدانیم PHP و ASP.NET چه هستند.

php-or-asp-dot-net

PHP چیست؟
PHP یك زبان برنامه‌نویسی اسكریپتی تحت وب بود و با همین هدف به وجود آمد تا توسعه‌دهندگان و برنامه‌نویسان وب با سهولت بیشتر به توسعه‌ی وبسایت‌های داینامیك بپردازند و از بزرگترین مزایای آن شاید بتوان به متن باز(Open Source) بودن آن اشاره كرد و در نسخه‌های مختلف خود مانند اكثر پروژه‌ها، شامل تحولاتی شد. به طور مثال پشتیبانی از قابلیت شی‌گرایی كه در گذشته نبود آن یكی از نقاط ضعف PHP محسوب می‌شد.

ASP.NET چیست؟
در حالی كه برخی از افراد ASP.NET را یك زبان تصور می‌كنند باید بدانید كه ASP.NET به هیچ وجه یك زبان برنامه‌نویسی نیست، بلكه یك چارچوب(Framework) برای توسعه و ساخت صفحات وب است كه با پشتیبانی از HTML ، CSS ، جاوا اسكریپت و زبان‌های برنامه‌نویسی سمت سرور(ServerSide) به توسعه‌ی یك وبسایت كمك می‌كند و از ویژگی‌های این فریم ورك می‌توان به امكان توسعه توسط چندین زبان برنامه‌نویسی اشاره كرد. برای مثال شما با دانستن یكی از زبان‌های خانواده‌ی C و یا ویژوال بیسیك قادر به توسعه‌ی پروژه‌ی خود هستید و یا می‌توانید به صورت تلفیقی از زبان‌های پشتیبانی شده پروژه‌ی خود را رو به جلو هدایت كنید. در ضمن به یاد داشته باشید كه باید بین ASP.NET و ASP كلاسیك تفاوت قائل شوید و این دو را با هم اشتباه نگیرید.

مقایسه‌ای كوتاه بین PHP و ASP.NET
اگر بخواهیم به صورت كوتاه و گذرا مقایسه‌ای بین PHP و ASP.NET داشته باشیم، می‌توانیم به موارد زیر اشاره كنیم:
۱- PHP رایگان و متن باز است و بر روی سیستم عامل‌های لینوكس، ویندوز و مك قابل اجراست. این در حالی است كه ASP.NET متعلق به شركت ماکروسافت است و به صورت تجاری عرضه شده است و به صورت عمده فقط روی سیستم عامل ویندوز قابل اجراست.(البته پروژه‌ی MONO قابلیت اجرای محصولات NET. را بر روی سایر سیستم عامل‌ها میسر می‌سازد.)
۲- هزینه‌ی میزبانی و نگهداری وبسایت‌های PHP در مقایسه با وبسایت‌های طراحی شده با محصولات ماکروسافت بسیار كمتر است و سرورهای لینوكس در قیاس با سرورهای ویندوز از ثبات بیشتری برخوردارند.
۳- با استفاده از ASP.NET شما قادر به تولید نرم‌افزارهای تحت سیستم عامل ویندوز هستید كه در حال حاضر بیشترین سهم از بازار سیستم عامل ایران را به صورت عام در اختیار دارد، ولی PHP چنین امكانی را برای شما فراهم نخواهد كرد.
۴- برای PHP نیز فریم ورك‌های مختلفی وجود دارد كه بصورت رایگان و تجاری عرضه شده‌اند و باعث می‌شوند شما در كمترین زمان ممكن به توسعه‌ی یك وبسایت بپردازید. مانند ASP.NET كه یك فریم ورك برای توسعه‌ی برنامه‌ها و وبسایت‌های تحت تكنولوژی ماكروسافت است كه بصورت تجاری عرضه شده و قیمت نسبتاً بالایی دارد. (البته ماكروسافت یك نسخه رایگان نیز برای توسعه‌دهندگان ایجاد كرده كه از سایت رسمی شركت ماكروسافت قابل دریافت است).
۵- منابع یادگیری برای هر دو گزینه در اینترنت وجود دارد و شما قادر خواهید بود تا دانش خود را از این طریق به روز نگاه دارید.
۶- طی یك آمارگیری كه در یك وبسایت مشاهده كردم، PHP گوی سبقت را ربوده و طی آمار اعلام شده، ضریب نفوذ و استفاده از PHP بالاتر از سایر زبان‌های برنامه‌نویسی برای راه‌اندازی وبسایت‌ها بوده است كه می‌توان دلیل این آمار را استفاده‌ی بیشتر افراد از نرم‌افزارهای تحت وب مانند وردپرس، جوملا و سایر سیستم‌های مدیریت محتوا پر پایه‌ی PHP دانست كه بصورت رایگان عرضه می‌شوند و دلیلی بر ضعف تكنولوژی NET. نخواهد بود.
۷- فریم ورك‌های PHP و همچنین NET. هر دو از معماری MVC پشتیبانی می‌كنند.
۸- در ASP.NET كدها به دلیل اینكه با فرمت dll كد می‌شوند، از امنیت بالایی برخوردارند و امكان سرقت كدها وجود ندارد، ولی كدهای PHP به دلیل Open Source بودن بیشتر در معرض سرقت و انتشار غیرقانونی قرار دارند كه البته راهكارهایی برای كد كردن و محافظت از كدهای PHP نیز وجود دارد و شركت‌های بزرگ در این زمینه نرم‌افزارهایی را به صورت تجاری روانه بازار ساخته‌اند. ولی با این حال شاهد این هستیم كه باز هم كدهای PHP به صورت غیرقانونی منتشر می‌شوند و در این زمینه می‌توان عملكرد NET. را موفق‌تر دانست.

نكته‌ی پایانی:
ما برای طراحی وبسایت زبان‌های گوناگونی داریم كه با هر كدام قادر به توسعه‌ی یك وبسایت هستیم. همچون روبی(Ruby) و یا پرل(Perl) كه شاید كمتر به این زبان‌ها اشاره كرده باشیم و كمتر شنیده باشیم.
اما باید گفت هم PHP و هم ASP.NET قادر هستند كه تمامی نیازهای ما را برطرف كنند و نمی‌توان به سادگی یكی را بر دیگری برتری داد و حقیقت این است كه ما باید سعی كنیم به بهترین نحو ممكن بر زبان انتخابی خود تسلط بیابیم. چون در نهایت انتظار مشتری این است كه خروجی كار همانی باشد كه انتظار دارد و شاید در اكثر موارد به هیچ وجه اهمیت ندهد كه شما از چه زبان برنامه‌نویسی برای ایجاد وبسایت او استفاده كرده‌اید. پس همین امروز با توجه به نیازهای خود و اهدافتان در آینده، گزینه‌ی مورد نظر را انتخاب كنید و سعی كنید به صورت حرفه‌ای به آن بپردازید.

٪ نظرات