یکی از مسائلی که مدام در جمع توسعه دهندگان وب مطرح میشود تفاوت زبان ASP و PHP است. حال به معرفی ، بررسیِ تفاوت و بازارکارِ این دو زبان میپردازیم.. با ماگرتا همراه شوید.
ابتدای کار به معرفی دو زبان php و asp.net میپردازیم :
معرفی زبان asp.net
ASP مخفف کلمه Active Server Pages است و یک محصول منحصر به فرد برای شرکت مایکروسافت به حساب می آید ، این زبان برنامه نویسی اکنون منسوخ شده است و جای خود را به زبان اسکریپت نویسی ASP.NET داده است. در همینجا به این نکته اشاره کنم که در واقع ASP.NET یک زبان برنامه نویسی نیست بلکه یک تکنولوژی برنامه نویسی وب با استفاده از دات نت است،
شما می توانید با #C یا #F یا زبان های برنامه نویسی دیگر دات نت ASP.NET بنویسید ، اما با توجه با اینکه شما به عنوان یک زبان بیشتر با این محصول آشنا هستید ما در این سری مقالات از ASP.NET به عنوان یک زبان برنامه نویسی یاد می کنیم.
بیشتر شرکت های و سازمان های بزرگ برای نرم افزارهای تحت وب خود از این زبان برنامه نویسی استفاده می کنند. نرم افزاری که بیشترین هماهنگی با این زبان برنامه نویسی را دارد به عنوان Microsoft Visual Studio شناخته می شود که در واقع محیط برنامه نویسی مایکروسافت محسوب می شود. در این نرم افزار قابلیت های بسیار زیادی برای برنامه نویسی بصورت پیشفرض قرار گرفته اند که کار برنامه نویسی را برای برنامه نویسان بسیار راحت می کند.
معمولا تعداد خط های کدی که باید برای یک برنامه به زبان ASP.NET نوشته بشود نسبت به محصولات مشابه کمی بیشتر است که همین دلیل می تواند تا حدودی باعث زمانگیر بودن کدنویسی در این زبان برنامه نویسی برای فعالیت های پیچیده شود.
در صورتیکه تغییری در هر خط کد از این زبان برنامه نویسی انجام شود به ناچار کل برنامه بایستی مجددا کامپایل شود ، بنابراین زمان برنامه نویسی تا حدودی افزایش می یابد.وب سروری که با این زبان برنامه نویسی هماهنگ است صرفا وب سرور شرکت مایکروسافت که همان IIS است می باشد و معمولا به عنوان پایگاه داده نیز در این نوع زبان برنامه نویسی از Microsoft SQL Server استفاده می شود.
ویژگی های کلی asp.net
1- دات نت را می توان با C#.NET , VB.NET و … نوشت و در یک پروژه یا سایت می توان از چند زبان استفاده کرد.
2- برنامه نویسانی که با دات نت وب سایت درست می کنند می توانند برنامه هایی برای ویندوز و… بنویسند.
3- برای شروع برنامه نویسی باید کمی برنامه نویسی در محیط ویندوز یا داس نیز یاد بگیرید.
4- دات نت یک برنامه تجاری است. البته در ایران برای برنامه (VSS) هزینه ای پرداخت نمی کنید.
5- معمولا از کنترل های آماده یا امثال تلریک در وب سایت ها استفاده می شود که باعث افزایش سرعت انجام پروژه می شود ولی به دلیل اینکه خود برنامه نویس آن ها را ننوشته است پرفرمنس پایینی دارد و سایت کند تر می شود. البته این به این دلیل نیست که همیشه برنامه نویسان دات نت کنترل های اختصاصی و با پرفرمنس بالا نمی نویسند.
6- دات نت اپن سورس نیست و پروژه اپن سورس کمی در اینترنت موجود است.
7- برنامه نویسان ASP.NET ممکن است برنامه نویس ویندوز هم باشند و فقط تخصصی روی وب فعال نباشند.
8- دات نت توسط شرکت عظیم مایکروسافت ایجاد شده است و پشتیبانی و منابع آموزشی زیادی مانند MSDN دارد.
9- هاست های دات نت که ویندوز هستند کمی گرانتر و دارای کنترل پنل ضعیف تری از نظر UX,UI هستند.
نکته : درست است که ASP.NET و IIS هر دو نرم افزارهایی رایگان هستند اما شما برای لایسنس ویندوز بایستی پول پرداخت کنید و از طرفی نرم افزار Visual Studio نیز نرم افزار ارزان قیمتی نیست ( البته در ایران با کرک کردن این برنامه ها مشکلی آنچنانی در هزینه نخواهد داشت و میشه گفت رایگان است) . پشتیبانی زبان برنامه نویسی ASP.NET توسط وب سایت و مرجعی به نام MSDN انجام می شود که مخفف کلمه Microsoft Software Developer Network می باشد.
معرفی زبان php
PHP مخفف کلمه PHP Hypertext Preprocessor است و یک نرم افزار یا بستر برنامه نویسی متن باز و رایگان است که توسط شخصی به نام رزموس لردورف در سال 1995 طراحی و ایجاد شد. یکی از نکات مهمی که در خصوص برنامه نویسی به زبان PHP وجود دارد این است که این زبان وابسته به هیچ Platform خاصی نیست و می توان آن را بر روی هر سیستمی عاملی اجرا و استفاده کرد.
شرکت های متوسط و کوچک بیشتر از این زبان برنامه نویسی در دنیا استفاده می کنند زیرا هزینه توسعه و همچنین هزینه هاستینگی که در اینترنت دارد بسیار ارزان است. بسیاری از ابزارهای رایگان برای توسعه دهندگان این زبان برنامه نویسی بصورت رایگان در اینترنت وجود دارد که به برنامه نویسان PHP این امکان را می دهد که بتوانند براحتی با آنها برنامه بنویسند.
ویژگی های کلی php
1- پی اچ پی برای تولید وب سایت درست شده است، پس شما احتیاج به یادگیری هیچ نکته اضافی ندارد.
2- قدرت PHP در ایجاد وب سایت است البته به کمک PHP-GTK می توانید برنامه های تحت ویندوز نیز بنویسید.
3- یادگیری و شروع پی اچ پی بسیار راحت تر از دات نت است.
4- پی اچ پی رایگان است.
5- معمولا کنترل ها توسط خود برنامه نویسان نوشته می شود.
اینکار سرعت برنامه نویسی را کاهش می دهد ولی کد ها تمیز تر، سریع تر خواهند بود.
همین قضیه باعث شده اکثر سایت های پی اچ پی سریعتر لود شوند و بعضی ها فکر کنند این به خاطر قدرت پی اچ پی است.
6- PHP اپن سورس است و پروژه های و سایت های اپن سورس و رایگان زیادی می توانید در اینترنت موجود است.
این نکته بسیار مهمی است که برای هر کاری که می خواهید انجام دهید کلی کد نمونه در اینترنت یافت می شود.
7- هاست های پی اچ پی که لینوکس هستند ارزانتر و دارای امکانات بهتری هستند.
نکته : زمانیکه بحث زمان تولید پیش می آید با توجه به اینکه معمولا در پروژه های پیچیده تعداد خطوط کد PHP کمتر از ASP.NET است زمان کمتری برای پیاده سازی لازم است. PHP را می توانید بر روی هر سروری که بتواند از HTML پشتیبانی کند اجرا و استفاده کنید و معمولا پایگاده داده ای که برای نرم افزارهای تحت PHP استفاده می شود پایگاده داده رایگان MySQL است که متن باز نیز می باشد.
معایب php و asp.net
معایب php :
– یکی از معایب اصلی PHP این است که عموما برای ساخت و طراحی برنامه های کامپیوتری (مانند CRM های داخلی) نمی توان از استفاده کرد.
– در مقایسه با زبان های دیگر برنامه نویسی ، اجرای کدهای PHP کندتر انجام می شود.
– اجازه شخصی سازی باعث ایجاد باگ های زیاد و کدنویسی های ضعیف توسط افراد غیر حرفه ای در آن می گردد.
– سیستم کنترل کدنویسی آن بصورت کلی در مقایسه با زبان های دیگر ضعیف عمل می کند به این معنی که در بسیاری از مواقع زمان خیلی زیادی باید صرف شود تا برنامه نویس متوجه شود که مثلا چرا یک قطعه کد بدرستی کار نمی کند.
معایب asp.net :
– بسادگی قابل یادگیری نیست و سخت تر از پلتفورم های دیگر می توان آن را فراگرفت.
– انجمن های برنامه نویسی و پشتیبانی نسبتا محدودتری دارد.
– تنها در سرورهای مایکروسافت قابل اجرا است.
– بدلیل اینکه تحت لیسانس مایکروسافت است کمی گران تر از پلتفورم های دیگر محسوب می شود که البته این موضوع در ایران در حال حاضر تا حدودی کمتر احساس می شود.
– به اندازه PHP برای تولید وب سایت های ساده مناسب نیست.
بازار کار
شاید برای شما بسیار مهم است که کدام یک از این دو زبان بازار کار بهتری دارد؟ اگر نگاهی به آگهی های استخدام برنامه نویس نگاه کنیم می بینیم که برتری با php است هرچند که به این معنی نیست که بازار کار برای asp.net بدتر است!
در واقع اکثر سازمان های دولتی و شرکت های شبه دولتی با تکنولوژی asp.net کار می کنند و بازار کار این بازار تقریبا در انحصار asp.net می باشد. برنامه نویس های php بخش اعظمی از شرکت های خصوصی و استارت آپ ها را تشکیل می دهند.
اگر بخواهیم منصفانه نگاه کنیم بازار کار برنامه نویسان php بیشتر اما دستمزد برنامه نویسان .net بیشتر است!
ولی در کل هر دو زبان به شدت بازار کار خوب دارند و اگر مسلط باشید به راحتی می توانید وارد بازار کار شوید و کار پیدا کنید. شما فقط یاد بگیرید نگرانی از لحاظ بازار کار نداشته باشید این دو زبان در یک کلمه برای بازار کار عالی هستند.
عملکرد
PHP معمولا تحت لینوکس، آپاچی و mysql می باشد که بهینه سازی بسیاری برای ارتباط سریعتر این سه انجام شده است که باعث سرعت بالای آن گردیده است و همچنین ASP.NET معمولا تحت ویندوز، IIS و MSSQL که ارتباط و هماهنگی مناسبی با یکدیگر دارند و تفاوت عملکرد PHP و ASP.NET نا محسوس می باشد. موردی که وجود دارد آن است که فایل های سیستمی لینوکس عملکرد بهتری نسبت به فایل های NTFS ویندوز دارند و همین مورد باعث برتری عملکرد PHP نسبت به ویندوز می باشد.
سرعت یادگیری
.net یک زبان نیست بلکه یک تکنولوژی است که با زبان های بسیاری می توان در آن برنامه نویسی کرد. یکی از محبوب ترین آنها زبان برنامه نویسی c# می باشد. برای مقایسه با زبان php در واقع آن را با c# مقایسه خواهیم کرد.
هردو زبان از خانواده c هستند و تقریبا سینتکس مشابهی برخوردار هستند و اگر شما قبلا به یکی از زبان های خانواده c مانند c, c++, java آشنایی دارید یادگیری این زبان ها برای شما آسان خواهد بود.
زبان برنامه نویسی php یک زبان بسیار ساده است که منحصرا برای وب ساخته شده است اما زبان c# می تواند علاوه بر وب در اپلیکیشن های تحت ویندوز نیز مورد استفاده قرار گیرد.
پشتیبانی ، توسعه و آینده زبان
پشتیبانی و آینده این دو زبان هر یک به دلیلی کاملا مشخص است. البته در دنیای کامپیوتر هیچ چیز مطلق نیست و هر لحظه ممکن است یک تکنولوژی جدید همهی پیشبینیها را رد کند.
بر اساس امکانات و شرایط دنیای امروز PHP به دلیل متنباز بودن و داشتن هزاران توسعه دهنده پیشبینی میشود که همینطور روال وجود و توسعه خود را طی کند و در این راه مشکلی دیده نمیشود. از طرفی سرمایهگذاری مایکروسافت بر روی .Net و تعداد بالای توسعه دهندگان این زبان باعث میشود که این زبان هر روزه پیشرفت داشته باشد و تغییرِ نگرشِ مایکروسافت در آخرین ورژن دات نت حس مثبتی به توسعه دهندگان داده است و قطعا در آینده این زبان قدرتمندتر از امروز خواهد شد.
ابزارات توسعه
برای زبان PHP ابزاراتِ مختلفی وجود دارد که با استفاده از آنها میتوانید از این زبان استفاده کنید. در این زبان ابزارِ مشخصی وجود ندارد که مورد تایید همه باشد. یعنی بگویند این ابزار عالیه ولی من با این راحتم. که با بررسی در مورد بهترین ابزار برای PHP ما به یک ابزار مشخص نرسیدیم تنها دلیل آن هم کدباز بودن این زبان است. تحقیق ما نشان داد که یک برنامه نویس PHP برای ساخت یک پروژه از ابزاراتِ مختلفی برای توسعه، دیباگ، تست، بهینه سازی و… استفاده میکند.
برای زبان ASP.Net هم ابزارات مختلفی وجود دارد اما تحقیق ما نشان داد که اکثرا برنامهنویسان این زبان از ویژوال استودیو (Visual Studio) استفاده میکنند. ابزاری فوقالعاده که مایکروسافت به خوبی طراحی کرده و نیازی وجود ندارد که یک برنامه نویس داشته باشد و این ابزار نتواند آن را برطرف کند.
جمع بندی
با توجه به موارد بالا می توانیم اینطور نتیجه گیری کنیم :
php یک زبان متن باز، رایگان و سریع است که به سرعت فرا گرفته می شود و امروز اکثر نرم افزارهای تجاری مهم از آن استفاده می کنند. php یک زبان اسکریپتی است که هدف آن نرم افزارهای تحت وب است. مقیاس این زبان را می توان برای نرم افزارهای کوچک و متوسط در نظر گرفت.
asp.net یک زبان جدید و کاملا شی گراست که می تواند هم تحت وب و هم تحت سیستم عامل توسط آن برنامه نوشت. این زبان برای مقیاس متوسط و بزرگ مناسب است.
فیس بوک رو php نوشتن بنظرتون پروژهی کوچک یا متوسطیه؟!
خیر اینطور نیست با php نوشته شد و بعد به زبان hack که تقریبا مشابه php است تغییر یافت ، با هر دو زبان میشه پروژه های کوچیک و بزرگ زد ولی الان معمولا با asp بیشتر پروژه های بزرگتر انجام میشه.
ممنون از نظرتون.