هميشه يكي از بزرگترين سوالات براي علاقه مندان به ايجاد وب سايت زبان برنامه نويسي تحت وب است. سوال اصلي اين است كه از بين دو زبان اصلي طراحي وب سايت؛ بين ASP.NET و PHP كدام يك را انتخاب كنم؟
اگر شما هم درون سايتها و انجمنهاي مختلف در اين مورد جستجو كرده باشيد، خواهيد ديد كه در اكثر موارد اين بحث بدون نتيجه بوده و يا هر كس با توجه به دلايل خاص خود از اين دو گزينه يك مورد را پيشنهاد ميكند. من نيز در اينجا قصد ندارم در مورد خوب بودن يا بد بودن اين دو گزينه صحبت كنم. بلكه تنها نكاتي را در مورد ASP.NET و PHP بررسي خواهم كرد تا شناخت بهتري از اين دو گزينه پيدا كنيم.
قبل از اينكه به بحث دربارهي اين موضوع بپردازيم بهتر است كه بدانيم PHP و ASP.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. را موفقتر دانست.
و اما نظر شخصي بنده : شما اگر تازه كار هستيد و مي خواهيد كمتر هزينه كنيد بهتر است از زبان پي اچ پي استفاده كنيد ولي اگر قصد فروش نرم افزار به سازمان و يا ارگاني را داريد بهتر است از Asp استفاده كنيد .
منبع: بهترين زبان براي برنامه نويسي براي طراحي سايت