طراحی سایت با ASP یا طراحی سایت با PHP، مسئله این است!

برای طراحی یک سایت داینامیک، باید زبان طراحی خود را انتخاب کنید، ASP و یا PHP، کدامیک؟...

تاریخ درج خبر: تاریخ آخرین بروزرسانی:

معمولا تا قصد طراحی سایت یا یادگیری برنامه نویسی وب را در سر نداشته باشید به این مشکل برنمیخورید که ASP را انتخاب کنید یا PHP. البته معیارها برای کسانی که قصد یاد گیری برنامه نویسی وب (که در نهایت طراحی سایت و طراحی اپلیکیشن تحت وب را خواهند آموخت) و برای کسانی که فقط قصد داشتن یک وبسایت ( و یا اپلیکیشن تحت وب و در نهایت مدیریت آن) را دارند متفاوت است که در این مقاله برای هردو این گروه ها مزایا و معایبASP و PHP را بررسی میکنیم و در نهایت انتخاب رو به خود شما واگذار میکنیم. قبل از هرچیزی باید بدانید پایه وب زبان HTML هست و CSS هم برای زیبایی و بالا بردن کارایی به آن ملحق شده است. جاوا اسکریپت نیز برای ایجاد جلوه های بصری خاص که از توان این دو خارج است به کمک آنها آمده. شما چه ازASP استفاده کنید چه از PHP (که به زبان های سمت سرور معروف هستند و برای داینامیک کردن وبسایت و اپ های تحت وب استفاده میشوند) در نهایت همه در مرورگر به HTML و CSS ترجمه میشوند. پس اگر میخواهید طراح وب باشید باید این زبانها رو خوب بشناسید.
نخست معرفی ASP و PHP
این دو زبان برنامه نویسی جزو رایج ترین زبان های برنامه نویسی (سمت سرور) در جهان و همینطور در ایران هستند و هرکدام طرفداران و کد نویس های پر و پا قرص خود را دارند.
ASP: این زبان که توسط شرکت مایکروسافت تولید، توسعه و پشتیبانی میشود از ابتدا تا کنون پیشرفت و تغییرات زیادی را به خود دیده. نسخه های امروزی ASP از کتابخانه .NET مایکروسافت استفاده میکنند و به ASP.NET معروف شده اند. کد های این زبان روی سرور های ویندوزی اجرا میشوند.
PHP: این زبان متن باز است. یعنی کد های اصلی آن به رایگان در دسترس همه است. برای عموم مردم است و برای شخص یا شرکت خاصی نیست و مسلما کسی تعهدی برای پشتیبانی از آن را ندارد (البته این به معنی عدم پشتیبانی از این زبان نیست و طرفداران این زبان سعی میکنند کار پشتیبانی و توسعه آن را انجام دهند اما شرکت یا شخصی برای این کار تعهد ندارد) کسانی که به علم زبانهای برنامه نویسی واقف هستند میتوانند کد منبع آن را تغییر بدهند و برای راحتی کار خود و یا تولید یه زبان جدید از آن استفاده کنند. با اینهمه مزیت به دلیل منبع باز بودن، امکان تغییر و خرابکاری در این گونه کدها بسیار بالاست (که کم هم اتفاق نمی افتد) و تا کاملا به کدهای آن مسلط نباشید نمیتوانید متوجه تغییر در آن شوید. معمولا CMS ها یا سیستم ها مدیریت محتوای رایگان مثل وردپرس، جوملا، دروپال،پرستا و... از PHP استفاده میکنند. کد های این زبان روی سرور های لینوکسی اجرا میشن.
قیمت
از آنجایی کهPHP بر پایه سیستم عامل لینوکس (که مانند PHP منبع باز هست و رایگان!) و ASP.NET بر پایه سیستم عامل ویندوز که باید خریداری و فعال سازی شود (که هزینه بردار است) در نتیجه هاستینگ (ارائه خدمات مربوط به اپ یا سایت های آپلود شده روی سرور های میزبان وب) در سرورهای لینوکس معمولا نسبت به هاست های ویندوزی ارزان تر بوده و معمولا با قیمت کمتر ارائه می گردند. البته باید توجه داشته باشید در اینجا هم به دلیل متن باز بودن کسی تعهدی مبنی بر اینکه سیستم عامل لینوکس (و نه سرور) به مشکل نخورد ندارد. اما برعکس مایکروسافت تعهد پشتیبانی از ویندوز سرور را دارد (البته اگر کرک نشده باشد که معمولا سرور های هاستینگ همچین ریسکی را نمیکنند که نسخه های کرک شده را استفاده کنند). از مسئله سیستم عامل،که بگذریم گفته میشود چون PHP به صورت متن باز عرضه میشود اسکریپت ها و کدهای رایگان بیشتری دارد و این درست است چرا که در ASP.NET برنامه نویس با اتکا به برنامه نویسی قدرتمند Vb وC# نیازی به اسکریپت ندارد. (منظور از اسکریپت زبان جاوا اسکریپت نبوده بلکه اسکریپت هایی است که به شکل افزونه به سایت های عمدتا مدیریت محتوای رایگان مانند وردپرس اضافه میشود). درضمن اینجا مسئله امنیت این اسکریپت ها نیز مطرح میشود. چون هکرها بیشتر مواقع از اسکریپت ها برای مقاصد خود استفاده میکنند.
سرعت
با توجه به سادگی PHP و اینکه معمولا طراح های PHP از CMS ها استفاده میکنند(که از نظر امنیای نیز مطمئن نیستند) سیکل طراحي سايت با PHP به مراتب سریعتر از ASP.NET است. البته .NET نیز سیستم های مدیریت محتوای خود نظیرNuke را داره اما کسانی که ASP.NET مسلط هستند CMS ها را ترجیح نخواهند داد (برعکس PHP). گاهی برای کسانی که میخواهند برنامه نویسی تحت وب بیاموزند سرعت یادگیری و سریعتر به نتیجه رسیدن اهمیت دارد و همین باعث میشود با بررسی سطحی PHP را انتخاب کنند. اما در نهایت وقتی وارد بازار کار میشوند و پروژه های کمی بزرگتر و پیچیده تر را میبینند عمق فاجعه تازه کارهای PHP که به امید CMS ها PHP را انتخاب کرده اند مشخص میشود.
عملکرد
PHP تحت لینوکس و با پایگاه داده mysql و با آپاچی کار میکند که برای ارتباط سریعتر بهینه سازی شده اند و ASP.NET تحت ویندوز و با پایگاه داده MICROSOFT SQL و با IIS که ارتباط و هماهنگی مناسبی با یکدیگر دارند کار میکند و تفاوت عملکرد PHP و ASP.NET تقریبا نا محسوس است.
پایداری
هر دوی این زبان های برنامه نویسی جزو سیستم های پایدار می باشند و توسط آن ها وب سایت های قدرتمند بسیاری طراحی گردیده است. به عنوان مثال گفته میشه بخشی از فیسبوک که یکی از قدرتمدترین شبکه های اجتماعی می باشد توسط PHP پیاده سازی شده و یا Myspace که یکی دیگر از شبکه های اجتماعی قدرتمند می باشد توسط ASP.net پیاده سازی شده است. (اما مسلما پایگاه داده عظیم اونها mysql یا SQL نیستند!!)
پشتیبانی
PHP به عنوان محبوب ترین زبان برنامه نویسی (به جهت سرعت یادگیری و گستردگی CMS هاش) توسعه دهندگان و جوامع کاربری بسیاری دارد و در صورتی که مشکلی برای توسعه دهنده به وجود آمد میتواند نحوه رفع مشکل خود را به در این جوامع پیدا کنه. اما پشتیبانیASP.NET به صورت رسمی ارائه میشه و تا حد امکان خود مایکروسافت سعی میکنه مشکلات اصلی رو در اسرع وقت مرتفع کنه همچنین چندین سایت منبع به عنوان کمک منابع آموزشی قرارداده تا جای هیچ مشکلی در برنامه نویسی ASP.NET نباشه. علاوه بر همه اینها و با وجود مشکلات کمتر در ASP.NET جوامع ASP.NET کار در اینترنت دست کمی از جوامع PHP کار نداره. ابزارهای توسعه و کد نویسی برنامه نویسان برای توسعه PHP معمولا از ویرایشگرهای مختلفی استفاده می کنند و برنامه استاندارد و جامعی برای آن وجود ندارد درحالی که توسعه دهندگان ASP.net همواره از نرم افزار های قدرتمند مورد پیشنهاد مایکروسافت به عنوان ویرایشگر استاندارد ASP.net استفاده میکنند. Microsoft Visual Studio که توسط مایکروسافت ارائه شده به عنوان بستری کامل و جامع برای انواع برنامه نویسی ها و خصوصا برنامه نویسی تحت وب مورد توجه برنامه نویسان ASP.net است.
آسانی در یادگیری
PHP بسیار ساده تر از ASP.NET در یادگیری می باشد زیرا کدهای آن و روتین برنامه نویسی بسیار ساده ای برای آن در نظر گرفته شده است حال آنکه برای کار با ASP.NET می بایست از زبان برنامه نویسی C# و یا VB.NET استفاده نمایید که زبان های پیچیده تری هستند. اما نباید این نکته را از یاد ببریم که این دشواری بی حکمت نیست. در صورتی که قصد طراحي سايت خاص و پیچیده را داشته باشید و ازPHP استفاده میکنید برای هر ویژگی مجبورید به سراغ اسکریپت های آماده بروید و در نهایت کارایی سایت را (به علت استفاده از اسکریپت های متعدد پایین پیاورید-جدا از اینکه باید سالم بودن اسکریپت ها بررسی شوند) حال آنکه در ASP.NET شما می آموزید تا آنجا که میتوانید نیاز های خود را با زبان های واسط ASP.NET مانند C# که خود یک زبان کامل است مرتفع کنید. به همین دلیل پروسه آموزش ASP.NET طولانی تر و مسلما کاملتر است و در نهایت نتیجه کار این دو قابل مقایسه نخواهند بود.
محبوبیت
PHP به عنوان محبوب ترین زبان برنامه نویسی تحت وب می باشد که دلیل آن نیز به واضح است، رایگان و متن باز بودن و سرعت در آموختن و گستردگی CMSهایی که زبان آنها PHP است. قابلیت اطمینان (امنیت) با تمام ویژگیهای قابل قبولی که PHP دارد امنیت آن بسیار پایین است. دلیل آن جدا از نداشتن پشتیبانی مستقل، استفاده از قالب های آماده و اسکریپت های آماده رایگان (و بعضا غیر رایگان) در CMSهای رایج است.
نتیجه گیری
با توجه به موارد ذکر شده در بالا مشخص است که سرعت طراحي سايت های PHP بالاتر نسبت به ASP.NET می باشد و همچنین هزینه تمام شده آن نیز پایین تر و سرعت آموزش آن (برای برنامه نویسان) سریعتر می باشد. اما امنیت و قابلیت توسعه فوق العاده ASP.NET را نباید از یاد ببریم. پس صرفا نمیتوان گفت کدام بهتر است چراکه بسته به نوع کار باید ببینید کدام ویژگی برای شما مطرح است و علاوه بر همه اینها تجربه و کیفیت کار برنامه نویس هم عامل تاثیر گذاریست و نتیجه هر کدام که بالاترین کیفیت و پایین ترین هزینه را به ارمغان بیاورد برای کار شما مناسب تر است. برای درک بهتر پراید را مثال میزنیم!
پراید هم ارزان است، هم در دسترس، هم سبک،هم کم مصرف و هم تا حد قابل قبولی سریع. اما چه چیزی در آن فدای اینهمه ویژگی مثبت شده؟ دقیقا همان چیزی که شعار سایپا است "سایپا مطمئن"!!!!!!!!
انتخاب شما چیست؟