ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقایسه php و asp.net



8908183
22nd May 2015, 02:14 PM
چند وقت پیش یکی از دوستان در خصوص انتخاب زبان برنامه نویسی وب از بنده سئوالاتی پرسید که بنده هم با جستجویی که انجام دادم این مطلب را نوشتم و در اختیار دوستان قرار می دهم ، امیدوارم مورد توجه شما قرار بگیرد. امروزه هر کسی که به دنبال آموزش برنامه نویسی (http://clicksite.ir) وب و مخلفات آن می رود ناخودآگاه دو گزینه به گوشش می رسد که معمولا بین این دو گزینه بایستی یکی را برای شروع برنامه نویسی تحت وب انتخاب کند و آن را بصورت حرفه ای ادامه دهد.

یکی از این اسامی PHP (http://clicksite.ir)و دیگری ASP.NET (http://clicksite.ir) و مشتقات آن است. یکی از مهمترین مشکلاتی که در انتخاب یکی از این زبان های برنامه نویسی وب (http://clicksite.ir) وجود دارد این است که مقایسه درستی بین این دو زبان بصورت جامع و به زبان فارسی وجود ندارد ، شما کافیست تفاوت بین زبان ASP.Net (http://clicksite.ir) و PHP (http://clicksite.ir)را در اینترنت به فارسی جستجو کنید ، مشاهده می کنید که اکثر وب سایت ها با رویکرد طرفدارانه مقایسه خود را انجام داده اند یا فقط یه ترجمه یک متن خارجی کفایت کرده اند ، اگر شخصی آموزش asp.net (http://clicksite.ir) دیده باشد است به طرفداری از این زبان برنامه نویسی و کوبیدن زبان برنامه نویسی PHP (http://clicksite.ir)پرداخته است و برعکس همین مورد هم برای برنامه نویسان PHP (http://clicksite.ir)وجود دارد. یعنی اگر آموزش php (http://clicksite.ir) دیده باشد، به Asp.net (http://clicksite.ir)پشت خواهد کرد.


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

سعی خواهیم داشت که در انتخاب آموزش php (http://clicksite.ir) و یا آموزش asp.net (http://clicksite.ir) مسیر را برای شما روشن کنم.
معرفی زبان : زبان برنامه نویسی وب ASP (http://clicksite.ir)یا ASP.NET (http://clicksite.ir)چیست ؟


ASP (http://clicksite.ir)مخفف کلمه Active Server Pages است و یک محصول منحصر به فرد برای شرکت مایکروسافت به حساب می آید ، این زبان برنامه نویسی اکنون منسوخ شده است و جای خود را به زبان اسکریپت نویسی ASP.NET (http://clicksite.ir) داده است. در همینجا به این نکته اشاره کنم که در واقع ASP.NET (http://clicksite.ir)یک زبان برنامه نویسی نیست بلکه یک تکنولوژی برنامه نویسی وب با استفاده از دات نت است، شما می توانید با #C یا #F یا زبان های برنامه نویسی دیگر دات نت ASP.NET (http://clicksite.ir) بنویسید ، اما با توجه با اینکه شما به عنوان یک زبان بیشتر با این محصول آشنا هستید ما در این سری مقالات از ASP.NET (http://clicksite.ir) به عنوان یک زبان برنامه نویسی یاد می کنیم. بیشتر شرکت های و سازمان های بزرگ برای نرم افزارهای تحت وب خود از این زبان برنامه نویسی استفاده می کنند. نرم افزاری که بیشترین هماهنگی با این زبان برنامه نویسی را دارد به عنوان Microsoft Visual Studio شناخته می شود که در واقع محیط برنامه نویسی مایکروسافت محسوب می شود.

در این نرم افزار قابلیت های بسیار زیادی برای برنامه نویسی بصورت پیشفرض قرار گرفته اند که کار برنامه نویسی را برای برنامه نویسان بسیار راحت می کند. معمولا تعداد خط های کدی که باید برای یک برنامه به زبان ASP.NET (http://clicksite.ir)نوشته بشود نسبت به محصولات مشابه کمی بیشتر است که همین دلیل می تواند تا حدودی باعث زمانگیر بودن کدنویسی در این زبان برنامه نویسی برای فعالیت های پیچیده شود. در صورتیکه تغییری در هر خط کد از این زبان برنامه نویسی انجام شود به ناچار کل برنامه بایستی مجددا کامپایل شود ، بنابراین زمان برنامه نویسی تا حدودی افزایش می یابد.وب سروری که با این زبان برنامه نویسی (http://clicksite.ir) هماهنگ است صرفا وب سرور شرکت مایکروسافت که همان IIS است می باشد و معمولا به عنوان پایگاه داده نیز در این نوع زبان برنامه نویسی از Microsoft SQL Server استفاده می شود.





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

معرفی زبان : زبان برنامه نویسی وب PHP (http://clicksite.ir)چیست ؟


PHP (http://clicksite.ir)مخفف کلمه PHP Hypertext Preprocessor است و یک نرم افزار یا بستر برنامه نویسی متن باز و رایگان است که توسط شخصی به نام رزموس لردورف در سال 1995 طراحی و ایجاد شد. یکی از نکات مهمی که در خصوص برنامه نویسی به زبان PHP (http://clicksite.ir)وجود دارد این است که این زبان وابسته به هیچ Platform خاصی نیست و می توان آن را بر روی هر سیستمی عاملی اجرا و استفاده کرد. شرکت های متوسط و کوچک بیشتر از این زبان برنامه نویسی در دنیا استفاده می کنند زیرا هزینه توسعه و همچنین هزینه هاستینگی که در اینترنت دارد بسیار ارزان است. بسیاری از ابزارهای رایگان برای توسعه دهندگان این زبان برنامه نویسی بصورت رایگان در اینترنت وجود دارد که به برنامه نویسان PHP (http://clicksite.ir)این امکان را می دهد که بتوانند براحتی با آنها برنامه بنویسند.




زمانیکه بحث زمان تولید پیش می آید با توجه به اینکه معمولا در پروژه (http://clicksite.ir)های پیچیده تعداد خطوط کد PHP (http://clicksite.ir)کمتر از ASP.NET (http://clicksite.ir)است زمان کمتری برای پیاده سازی لازم است. PHP (http://clicksite.ir)را می توانید بر روی هر سروری که بتواند از HTML پشتیبانی کند اجرا و استفاده کنید و معمولا پایگاده داده ای که برای نرم افزارهای تحت PHP استفاده می شود پایگاده داده رایگان MySQL است که متن باز نیز می باشد. هزینه هاستینگ PHP با توجه به قابلیت استفاده این زبان از لینوکس به عنوان یک سرور رایگان ارزانتر از نمونه ویندوزی است. توسعه ، پیشرفت و ارتفاء این زبان برنامه نویسی نیز بر اساس بازخوردهایی است که در تالارهای گفتمان آنلاین و مجامعی که برای این مورد در نظر گرفته شده اند انجام می شود. البته این نکته را هم متذکر می شوم که این قسمت ترجمه از یک وب سایت خارجی بود و تنها به عنوان معرفی استفاده شده است قطعا در ادامه بیشتر با این مواردی که ذکر کردیم آشنایی پیدا خواهید کرد. علاوه بر آن، آموزش php (http://clicksite.ir) و آموزش طراحی سایت با php (http://clicksite.ir) نسبت به آموزش طراحی سایت با asp.net (http://clicksite.ir) ساده تر است.

ملاک های انتخاب یک زبان برنامه نویسی وب (http://clicksite.ir) چیست ؟


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



فاکتور اول : تکنولوژی مورد استفاده در ASP.NET بهتر است یا PHP ؟


زبان برنامه نویسی PHP (http://clicksite.ir)در اصل و ماهیت برای نوشتن اسکریپت های وب ایجاد شد و هدف اصلی آن کاهش پیچیدگی های برنامه نویسی های وب ای مانند Perl و CGI بود. PHP (http://clicksite.ir)برای این ایجاد شد که این امکان را ایجاد کند که افراد تازه وارد به دنیای برنامه نویسی (http://clicksite.ir) وب نیز بتوانند در این حوزه شروع به فعالیت کنند و به همین دلیل بیشتر کارهای ساده و طراحی های وب سایت های کوچک با این زبان برنامه نویسی وب شروع شد و اکثرا در اوایل برنامه نویسان حرفه ای از این زبان استفاده نمی کردند. اما به مرور زمان با توجه به گسترش روزافزون نرم افزارهای Open Source و استفاده بیشتر از زبان Open Source ای به نام PHP حرکت رو به جلوی این زبان بسیار سریع صورت گرفت. یکی از مشکلاتی که به این زبان گرفته می شد عدم وجود توابع زیاد و همچنین دستورات کم بود که با گستردگی استفاده از PHP (http://clicksite.ir)به مرور این موانع و مشکلات برطرف شد و امروزه می توان با PHP (http://clicksite.ir)توابع و کارهای تقریبا پیچیده ای را برنامه نویسی کرد. PHP یک زبان مفسری است یعنی در هر بار اجرا بایستی کد توسط وب سرور خط به خط اجرا و نتیجه نمایش داده شود.یکی از مشکلاتی که به PHP (http://clicksite.ir)برنامه نویسان می گیرند این است که اگر شخصی بتواند به سرور لینوکسی یا آپاچی شما دسترسی پیدا کند ، با توجه به اینکه کدهای شما بصورت کامپایل نشده و Open Source روی سرور قرار دارند می توانند به آنها دسترسی پیدا کنند ، این مشکل در ASP.NET (http://clicksite.ir) وجود ندارد زیرا برنامه قبل از اجرا به فایل های DLL کامپایل می شود و باعث عدم نمایش کد به مهاجم می شود ، این مشکل را PHP (http://clicksite.ir)با معرفی تکنولوژی رمزنگاری به نام Zend حل کرد تا بتواند کدهای PHP (http://clicksite.ir)را Encode کند و دیگر نگران این مسئله نباشد.





در ابتدا PHP (http://clicksite.ir)از شیء گرایی (http://clicksite.ir) پشتیبانی نمی کرد اما به مرور این قابلیت به یکی از قدرت های این زبان تبدیل شد . تکنولوژی کاربردی این زبان بیشتر برای نوشتن و اجرا کردن اسکریپت های وب برای اجرا در سیستم عامل های Open Source ای مانند یونیکس و لینوکس استفاده می شود. البته یکی از خرده هایی که به PHP گرفته می شود این است که هنوز تا حدودی نقص های اولیه خود را در خصوص شیء گرایی دارد و به گفته برخی برنامه نویسان خاصیت های حرفه ای شیء گرایی در این زبان برنامه نویسی دیده نشده است. یکی از قدرت های بی بدیل PHP (http://clicksite.ir)عدم وابستگی به Platform خاص است ، یعنی برنامه هایی که با زبان PHP (http://clicksite.ir)نوشته می شوند براحتی قابل اجرا بر روی هر سیستم عاملی از جمله ویندوز هستند . اما ذاتا تکنولوژی برنامه نویسی وب PHP (http://clicksite.ir) مبتنی بر یک ساختار است که به آن در اصطلاح فنی LAMP می گویند. LAMP مخفف کلمات Linux به عنوان سیستم عامل ، Apache به عنوان وب سرور ، MySQL (http://clicksite.ir)به عنوان پایگاه داده و در نهایت PHP (http://clicksite.ir)به عنوان زبان برنامه نویسی می باشد. بنابراین اکثر افرادی که به برنامه نویسی وب PHP (http://clicksite.ir)می پردازند با این ابزارهای کاملا رایگان آشنا هستند.






فاکتور دوم : برنامه نویسی با ASP.NET (http://clicksite.ir) ساده تر است یا PHP (http://clicksite.ir)؟


بحث سادگی کار با یک محیط برنامه نویسی بستگی به موارد مختلفی دارد که از جمله آنها می توان به اندازه پروژه ای که می خواهیم انجام دهیم اشاره کرد. در وهله اول باید بگوییم که آموزش php (http://clicksite.ir) قطعا برای شروع ساده تر از برنامه نویسی به زبان ASP.NET (http://clicksite.ir) است اما برای برنامه نویسی اسکریپت های چند خطی یا وب سایت های کوچک نه برای نوشتن Web Application های بزرگ و سازمانی و یا اتوماسیون های اداری پیچیده ، اگر می خواهید صرفا یک وب سایت یا یک CMS یا یک Web Application ساده و دارای پیچیدگی های کم بنویسید . در بتدای امر آموزش php (http://clicksite.ir)نسبت به آموزش asp.net (http://clicksite.ir) ساده تر است . هرچند هم آموزش php (http://clicksite.ir) و هم آموزش asp.net (http://clicksite.ir) در سطح اینترنت به وفور یافت می شود اما وجود حجم زیادی از آموزش php (http://clicksite.ir) در این مدت زمان کم، نشانه ای بر استقبال از این زبان است.

برای شروع آموزش PHP (http://clicksite.ir) بهترین گزینه است . شما با استفاده از هر ویرایشگر متنی قادر به نوشتن کدهای PHP (http://clicksite.ir)هستید که این خود یکی از مزایای اصلی این زبان برنامه نویسی وب می باشد . متاسفانه PHP (http://clicksite.ir) ویرایشگر و ابزار مشخصی برای کدنویسی ندارد ، شرکت های مختلفی در اینترنت ابزارهای مختلفی برای استفاده برای کدنویسی این محصول ارائه داده اند که این خود یک عدم تمرکز برای برنامه نویسی PHP (http://clicksite.ir)را ایجاد می کند. هرچند php نبت به asp.net بسیار کم سن و سال تر است، اما فیلم آموزشی طراحی سایت با استفاده از php (http://clicksite.ir) به وفور در سطح اینترنت یافت می شود.

اما اگر قصد برنامه نویسی Web Application هایی در سطح Enterprise دارید ترجیجا ASP.NET (http://clicksite.ir) را انتخاب کنید. هدف اصلی و ماهیت واقعی زبان ASP.NET (http://clicksite.ir)که همانطور که گفتیم یک Platform به حساب می آید نوشتن Web Application های بزرگ و دارای فرم ها و اطلاعات ورودی و پیچیدگی های زیاد است ، برای کسانی که به برنامه نویسی کردن در محیط های گرافیکی عادت دارند این زبان بسیار بهتر است ، در ASP.NET (http://clicksite.ir)شما در قالب (http://clicksite.ir)استفاده از ابزارهای گرافیکی براحتی می توانید تولید کد داشته باشید و همچنین با استفاده از فرم های آماده یا همان Web Form ها می توانید براحتی به بانک های اطلاعاتی و ماهیت های مختلف اطلاعات و جدول ها بصورت گرافیکی دسترسی پیدا کنید بدون اینکه نیاز به کد نوشتن داشته باشید ، ASP.NET بصورت خودکار با ماژول هایی که در اختیار دارد این کدها را برای شما ایجاد می کند. در کنار اینها فریم ورک .NET برخی از موارد مانند Caching ، احراز هویت و بسیاری دیگر از این مسائل را به خودی خود انجام می دهد .توابع ASP.NET (http://clicksite.ir) اینقدر زیاد است که تقریبا شما را از استفاده کردن از توابع خارجی در برنامه نویسی خود بی نیاز می کند. تمامی کارهایی که قرار است شما در ASP.NET (http://clicksite.ir) انجام دهید در یک محیط یکپارچه یا بهتر بگوییم یک ابزار قدرتمند به نام Microsoft Visual Studio انجام می شود که طبیعتا سادگی های کار گرافیکی در محصولات مایکروسافت به خوبی در این نرم افزار نیز دیده می شود.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد