سلام به شما دوستان و همراهان همیشگی. به جدال دو سنگین وزن خوش آمدید. در طرفی از زمین مسابقه، PHP (پی اچ پی)، محبوب ترین زبان اسکریپتی در دنیای اینترنت رو مشاهده می کنید که بیش از یک میلیون توسعه دهنده و بیش از این، طرفداران بسیاری در سر تا سر این کره خاکی دارد. در سمتی دیگر نیز ASP.NET (اِی اِس پی دات نِت) رو داریم. پلتفرمی که توسط مایکروسافت (Microsoft) حمایت میشه و هر زبان دات نتی را پشتیبانی می کند.

اما کدام یک بهتر است؟ این سؤالیست که ذهن تمام کسانی که می خواهند شروع به یادگیری یکی از این زبان ها بکنند را همواره به خود مشغول کرده است. در این مقاله قصد دارم تا PHP و ASP.NET را با هم مقایسه کرده و به شما بگویم تا کدام زبان برای پروژه ای که میخواهید آغاز کنید مناسب تر است. پس با ما همراه باشید…

این روزها هر کسی که به دنبال برنامه نویسی تحت وب می رود ناخودآگاه دو گزینه به گوشش می رسد که معمولا بین این دو گزینه بایستی یکی را برای شروع برنامه نویسی وب انتخاب کند و آن را به صورت حرفه ای ادامه دهد. یکی از این اسامی PHP و دیگری ASP.NET و مشتقات آن است. قبل از اینکه انتخابی انجام دهید می خواهم تفاوت بین این دو زبان برنامه نویسی را برای شما تشریح کنم تا در انتخاب میان این ها دچار مشکل نشوید. هر دو زبان برنامه نویسی تحت PHP و ASP.NET در واقع زبان های اسکریپت نویسی سمت سرور یا در اصطلاح فنی Server Side Scripting هستند که برای طراحی وب سایت های پویا (=Dynamic) مورد استفاده قرار می گیرند. صفحات وب داینامیک (=پویا) ابتدا درخواست کلاینت (=مشترک) را در سمت سرور پردازش کرده و در نهایت پس از هر بازدید کاربر نتیجه را به سمت کاربر ارسال می کنند. انتخاب بین این دو زبان اسکریپت نویسی بستگی به مواردی از قبیل اندازه و بزرگی وب سایت، قابلیت های توسعه وب سایت، هزینه های هاستینگ وب، هزینه های پشتیبانی و زمان پیاده سازی و بسیاری دیگر از مواردی از این قبیل دارد که در ادامه به بررسی اکثر این موارد خواهم پرداخت.

PHP چیست؟

PHP-logoPHP مخفف کلمه PHP: Hypertext Preprocessor است و یک نرم افزار یا بستر برنامه نویسی متن باز و رایگان است که توسط شخصی به نام راسموس لردورف در سال ۱۹۹۵ طراحی و ایجاد شد. یکی از نکات مهمی که در خصوص برنامه نویسی به زبان PHP وجود دارد این است که این زبان وابسته به هیچ Platform (=سکو) خاصی نیست و می توان آن را بر روی هر سیستم عاملی اجرا و استفاده کرد. شرکت های متوسط و کوچک بیشتر از این زبان برنامه نویسی در دنیا استفاده می کنند زیرا هزینه توسعه و همچنین هزینه هاستینگی که در اینترنت دارد بسیار ارزان است. بسیاری از ابزارهای رایگان برای توسعه دهندگان این زبان برنامه نویسی بصورت رایگان در اینترنت وجود دارد که به برنامه نویسان PHP این امکان را می دهد که بتوانند براحتی با آنها برنامه بنویسند.

زمانی که بحث زمان تولید پیش می آید با توجه به اینکه معمولا در پروژه های پیچیده تعداد خطوط کد PHP کمتر از ASP.NET است زمان کمتری برای پیاده سازی لازم است. PHP را می توانید بر روی هر سروری که بتواند از HTML پشتیبانی کند اجرا و استفاده کنید و معمولا پایگاده داده ای که برای نرم افزارهای تحت PHP استفاده می شود پایگاه داده رایگان MySQL است که متن باز نیز می باشد. هزینه هاستینگ PHP با توجه به قابلیت استفاده این زبان از لینوکس به عنوان یک سرور رایگان ارزانتر از نمونه ویندوزی است. توسعه، پیشرفت و ارتفاء این زبان برنامه نویسی نیز بر اساس بازخوردهایی است که در تالارهای گفتمان آنلاین و مجامعی که برای این مورد در نظر گرفته شده اند انجام می شود.

ASP یا ASP.NET چیست؟

ASP-NET-LOGOASP مخفف کلمه Active Server Pages است و یک محصول منحصر بفرد شرکت مایکروسافت به حساب می آید.  این زبان برنامه نویسی اکنون منسوخ شده است و جای خود را به زبان اسکریپت نویسی ASP.NET داده است. در همین جا به این نکته اشاره کنم که در واقع ASP.NET یک زبان برنامه نویسی نیست بلکه یک تکنولوژی برنامه نویسی وب با استفاده از دات نت است. شما می توانید با #C یا زبان های برنامه نویسی دیگر دات نت ASP.NET بنویسید، اما با توجه به اینکه شما به عنوان یک زبان بیشتر با این محصول آشنا هستید من هم در این مقاله از ASP.NET به عنوان یک زبان برنامه نویسی یاد می کنم. بیشتر شرکت ها و سازمان های بزرگ علی الخصوص در ایران، برای نرم افزار های تحت وب خود از این زبان برنامه نویسی استفاده می کنند. نرم افزاری که بیشترین هماهنگی با این زبان برنامه نویسی را دارد به عنوان Microsoft Visual Studio شناخته می شود که در واقع محیط برنامه نویسی مایکروسافت محسوب می شود. در این نرم افزار قابلیت های بسیار زیادی برای برنامه نویسی بصورت پیشفرض قرار گرفته اند که کار برنامه نویسی را برای برنامه نویسان بسیار راحت می کند. معمولا تعداد خط های کدی که باید برای یک برنامه به زبان ASP.NET نوشته شود نسبت به محصولات مشابه کمی بیشتر است که همین دلیل می تواند تا حدودی باعث زمانگیر بودن کدنویسی در این زبان برنامه نویسی برای فعالیت های پیچیده شود. در صورتیکه تغییری در هر خط کد از این زبان برنامه نویسی انجام شود به ناچار کل برنامه بایستی مجددا کامپایل شود ، بنابراین زمان برنامه نویسی تا حدودی افزایش می یابد. وب سروری که با این زبان برنامه نویسی هماهنگ است صرفا وب سرور شرکت مایکروسافت که همان IIS است می باشد و معمولا به عنوان پایگاه داده نیز در این نوع زبان برنامه نویسی از Microsoft SQL Server استفاده می شود.

درست است که ASP.NET و IIS هر دو نرم افزارهایی رایگان هستند اما شما برای لایسنس (=مجوز) ویندوز بایستی هزینه پرداخت کنید و از طرفی نرم افزار Visual Studio نیز نرم افزار ارزان قیمتی نیست (منظور نسخه های تجاری این برنامه می باشد). پشتیبانی زبان برنامه نویسی ASP.NET توسط وب سایت و مرجعی به نام MSDN انجام می شود که مخفف کلمه Microsoft Software Developer Network می باشد. پیشرفت ها و توسعه هایی که در این زبان برنامه نویسی انجام می شود توسط بازخوردها و تجاربی است که کاربران این محصول به وب سایت این شرکت اطلاع می دهند و همین موضوع باعث ارائه نسخه های جدیدتر این زبان برنامه نویسی با امکانات جدید می شود. ASP.NET تحت برند مایکروسافت است و این یعنی بسیاری از زبان ها یا Platform های دیگر را پشتیبانی نمی کند اما در این حین به شما امکانات بسیار ساده ای برای شروع برنامه نویسی می دهد. ماژول های آماده و محیطی ساده و رابط کاربری آسان برنامه نویسی را برای کاربران لذت بخش می کند. توجه کنید که یکی از مشکلاتی که در دنیای برنامه نویسی به این زبان برنامه نویسی وارد می شود هزینه ای است که برای خرید نرم افزارهای آن صرف می شود، اما با توجه به اینکه ما در ایران هستیم و هیچ هزینه ای برای خرید این نرم افزارها پرداخت نمی کنیم، ASP.NET می تواند گزینه مناسبی برای برنامه نویسی وب باشد.

اما معیار های انتخاب یک زبان برنامه نویسی تحت وب چیست؟

به هیچ عنوان به صورت کلی نمی توانیم بگوییم فلان چیز خوب است یا فلان چیز بد است. برای تعیین خوبی یا بدی چیزی بایستی شما دارای معیار یا فاکتور باشید در غیر این صورت مقایسه یا انتخاب شما غیر فنی و از روی تعصب یا نادانی خواهد بود. در خصوص انتخاب زبان برنامه نویسی هم همینطور است، شما بایستی بدانید ملاک های شما برای انتخاب یک زبان برنامه نویسی تحت وب چیست؟ صرفا به دلیل اینکه فردی بگوید زبان برنامه نویسی PHP بهتر است زیرا وی برنامه نویس PHP است و یا بر عکس برای برنامه نویسان ASP.NET ، شما نباید انتخاب انجام دهید. بنابراین مقایسه و انتخابی درست است که بر اساس معیار ها و به دور از تعصب باشد. تکنولوژی مورد استفاده، سادگی کار یا سهولت کاربری، وابستگی به Platform، امنیت، سرعت و کارایی در اجرا، ابزارها و رابط های کاربری، سرعت توسعه، منابع آموزشی و یادگیری، پشتیبانی، بازار کار، هزینه و بحث بهینه سازی برای موتورهای جستجو (SEO) می تواند مهم ترین معیار های شما برای تعیین برتری یک زبان برنامه نویسی تحت وب باشد که در قسمت بعدی این مقاله به بررسی تک تک این موراد برای مقایسه ASP.NET و PHP خواهم پرداخت.

جهت حفظ جامعیت مطالب و جلوگیری از خستگی، این مقاله را به چندین بخش تقسیم کرده ام که بخش دوم از این مقاله در روز های آتی همینجا قرار خواهد گرفت.

با ما همراه باشید…