انجمن عمومی گسترش فناوری آگو
Php یا Asp.net کدام بهتر است ؟ - نسخه‌ی قابل چاپ

+- انجمن عمومی گسترش فناوری آگو (http://forums.ago.ir)
+-- انجمن: انجمن های عمومی گسترش فناوری آگو (/forumdisplay.php?fid=1)
+--- انجمن: برنامه نویسی (/forumdisplay.php?fid=13)
+--- موضوع: Php یا Asp.net کدام بهتر است ؟ (/showthread.php?tid=2139)



Php یا Asp.net کدام بهتر است ؟ - agotd - 08-25-2013 02:22 PM

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

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

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

[تصویر:  develop01.jpg]

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 قادر هستند که تمامی نیازهای ما را برطرف کنند و نمی‌توان به سادگی یکی را بر دیگری برتری داد و حقیقت این است که ما باید سعی کنیم به بهترین نحو ممکن بر زبان انتخابی خود تسلط بیابیم. چون در نهایت انتظار مشتری این است که خروجی کار همانی باشد که انتظار دارد و شاید در اکثر موارد به هیچ وجه اهمیت ندهد که شما از چه زبان برنامه‌نویسی برای ایجاد وبسایت او استفاده کرده‌اید. پس همین امروز با توجه به نیازهای خود و اهدافتان در آینده، گزینه‌ی مورد نظر را انتخاب کنید و سعی کنید به صورت حرفه‌ای به آن بپردازید.