PHP و ASP.NET کدامیک بهتر است؟!

آواتار زهره عالی
PHP و ASP.NET کدامیک بهتر است؟!
توسط   زهره عالی   ۵۰ روز قبل

PHP و ASP.NET : هزینه ها، مقیاس پذیری و اجرا

این سوال معمولا برای دو دسته از افراد پیش می آید که کدامیک بهتر است؟ PHP و یا ASP.NET؟ دسته اول آنهایی هستند که می خواهند شروع به یادگیری طراحی سایت کنند و دسته دوم افرادی هستند که قصد سفارش وب سایت خود را دارند و هر دو دسته با این سوال مواجه می شوند که کدام پلت فرم را انتخاب کنند!!!

به لحاظ فنی مقایسه PHP و ASP.NET مقایسه صحیحی نمی باشد. .NET یک فریم ورک نرم افزاری است (محیطی برای ساخت و اجرای نرم افزار) و نه یک زبان برنامه نویسی. مقایسه این دو مانند مقایسه اتومبیل با جاده می ماند. PHP می تواند با یکی از زبان های تحت  .Net مقایسه شود مانند C#. ولی عموما این طور جا افتاده است که PHP و ASP.Net  زبان های برنامه نویسی هستند که ما نیز در این مقاله از این اشتباه رایج چشم پوشی کرده ایم.
مقایسه PHP و ASP.NET  در واقع مقایسه بین دو ابر قدرت است. در یک سمت PHP، مشهورترین زبان اسکریپت نویسی بر روی اینترنت و میلیونها برنامه نویس اختصاصی و هوادارانی که تعدادشان از خود آنها بیشتر است قرار گرفته است. در سمت دیگر ASP.NET را داریم، پلت فرمی که توسط غول مایکروسافت ارائه شده است و تمامی زبانهای تحت دات نت را پشتیبانی می کند.
حال کدامیک بهتر است؟ در این مقاله ما به مقایسه PHP و ASP.NET می پردازیم و می گوییم جزو هر یک از دودسته فوق که باشید کدامیک برایتان بهتر است؟
مقدمه ای بر PHP
PHP برگرفته از کلمات Hypertext Preprocessor می باشد. PHP نشات گرفته از یک ابزار کد نویسی می باشد که به سرعت در کل اینترنت  فراگیر شده است. طبق یک تخمین آماری، PHP بر روی بیش از 244 میلیون وب سایت بر روی اینترنت نصب شده است. PHP همچنین یک تکنولوژی کاملا رایگان است و به داشتن فریم ورک هایی که توسعه وب را آسان می کنند مفتخر است.   
از بزرگترین وب سایت هایی که به زبان PHP نوشته شده اند می توان WordPress و Facebook را نام برد.

مقدمه ای بر ASP.NET
مایکروسافت  ASP.NET را ارائه کرد تا امکان کدنویسی آسان را برای ساخت وب سایت ها و نرم افزار های تحت وب را فراهم نماید. ASP.NET را می توان توسط تمامی زبان های تحت پوشش .NET توسعه داد که همین موضوع ASP.NET را میان توسعه دهندگان .NET مشهور کرده است. حکمفرمایی مایکروسافت با مرورگر اینترنت اکسپلورر در مارکت مرورگرها خود عاملی بر افزایش محبوبیت ASP.NET است.

برخی از وب سایت های بزرگ که با ASP.NET نوشته شده اند، MySpace و PlentyOfFish.com هستند.
حال سوال این است که کدامیک برای عنوان یک برنامه نویس و یا یک مشتری وب سایت بهتر است؟

موضوعی که وجود دارد اینست که در ایران به لحاظ حق کپی رایت و قوانین نرم افزاری تفاوتهایی با سایر کشورهای دنیا وجود دارد که این تفاوتها بر روی عوامل مختلف مقایسه این دو تکنولوژی تاثیر گذار هستند و در این مقاله به تشریح این تفاوتها نیز خواهیم پرداخت.

هزینه ها

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


مقیاس پذیری
هردوی PHP و ASP.NET در سطح بالایی مقیاس پذیر هستند. تصور  اینکه Facebook بعنوان دومین وب سایت
پرترافیک دنیا با PHP و MySpace، وب سایتی که Facebook را به لحاظ محبوبیت در دنیا خلع سلاح کرده است با ASP.NET نوشته شده اند، نشان می دهد که هر دوی PHP و ASP.NET در سطح وسیعی مقیاس پذیر هستند و اندازه آنها بسته به میل برنامه نویسشان است.


کارآیی
کارایی اکثر نرم افزار های تحت وب، تابعی از تعامل بین کدها، بانک اطلاعاتی و سرور می باشد. اغلب وب سایت هایی که با PHP نوشته شده اند، از بسته ی LAMP – سیستم عامل Linux، سرور Apache، بانک اطلاعاتی MYSQL و زبان برنامه نویسی PHP - استفاده می کنند. بسته LAMP از محبوبیت بالایی مابین برنامه نویسان برخوردار است و بنابراین برای افزایش کارایی بهینه شده است.
بانک اطلاعاتی که اغلب برای ASP.NET استفاده می شود، MSSQL (Microsoft SQL Server) است. تفاوتهای چشمگیری به لحاظ کارآیی بین ASP.NET+MSSQL و PHP+MySQL وجود ندارد.


دسترسی به ابزار ها و ویرایشگر ها
بیشتر برنامه نویسان PHP به جای استفاده ازIDE (محیط های توسعه نرم افزار)، از ویرایشگر هایی مثل VIM و Notepad++ استفاده می کنند. اگرچه امکان استفاده از IDE هم برای آنها وجود دارد.
ASP.NET هم توسط اکثر IDE ها پشتیبانی می شود ولی اغلب از Microsoft Visual Studio برای این منظور استفاده میکنند. نرم افزار VS یکی از قدرتمندترین، پرامکان ترین و انعطاف پذیر ترین محیط های توسعه نرم افزار و طراحی وب سایت می باشد.

بنابراین به لحاظ پوسته برنامه نویسی هر دو امکانات کافی در اختیار دارند.


سهولت یادگیری

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



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

اگر شما جزء دسته ای هستید که قصد سفارش سایت دارند، مسلما درگیر هیچ یک از پیچیدگیهای برنامه نویسی و توسعه وب سایت نخواهید بود و همچنین هردو تکنولوژی امکانات کافی در اختیار شما خواهند گذاشت. ولی با توجه به موارد ذکر شده در بالا وب سایت های توسعه یافته با .NET کمی گران تر از وب سایت های PHP هستند و این تفاوت قیمت را می توان به تفاوت قیمت در گوشیهای موبایل تشبیه کرد. Android یا IOS؟ انتخاب با شماست.