خانه / برنامه نویسی / ASP.net / طراحی سایت با زبان ASP.NET یا PHP – تفاوت PHP و ASP.NET

طراحی سایت با زبان ASP.NET یا PHP – تفاوت PHP و ASP.NET

طراحی سایت با زبان ASP.NET  یا PHP – تفاوت PHP و ASP.NET

تفاوت زبان برنامه نویسی php و سکوی asp.net برای طراحی سایت بحثی بسیار طولانی و پایان ناپذیر است. اکثر شرکت ها طراحی سایت و برنامه نویسانی که یک زبان برنامه نویسی را یاد میگیرند علاقه مند به دفاع کردن از آن زبان هستند و بعضا دلایل غیر منطقی و غیر علمی برای کار خودشان دارند. علت اینکه گروه آسیا مصمم شد این مقاله را بنویسه دامن زدن به بحث های طولانی و غیر منطقی که بین برنامه نویسان زبان های php و asp.net وجود دارد نیست زیرا شخصا اعتقاد دارم که زبان های برنامه نویسی ابزار هستند و در صنعت نرم افزار نیروی انسانی و تخصص است که حرف اول را می زند نه یک زبان برنامه نویسی. یک برنامه نویس بد با هر زبانی میتواند یک برنامه ضعیف، کند، غیر ایمن و سرشار از باگ را تولید کند و یک برنامه نویس خوب با یک زبان قدیمی نیز می تواند یک برنامه خوب بنویسد.

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

 

قبل از اینکه وارد مباحث مربوط به مقایسه این دو زبان بشویم لازم است این نکته را مطرح کنم که من به عنوان برنامه نویس وب بیش از 15 سال تجربه برنامه نویسی دارم و در این مدت با زبان ها و پلتفرم هایی مانند جاوا، php ، asp، و asp.net کار کرده ام و به تمام آنها مسلط هستم.

برخی از مواردی که در دفاع از php مطرح می شوند عبارتند از:

آیا سرعت php از asp.net بیشتر است یا بلعکس ؟

مهم ترین دلیل که برنامه نویسان php برای دفاع از آن مطرح می کنند سرعت آن است و میگویند که سرعت php از asp.net بیشتر است، در حالیکه آزمایشات انجام شده نتیجه کاملا متفاوت را نشان می دهند. از نظر منطقی نیز چنین چیزی امکان ندارد به این دلیل که کدهای خروجی asp.net در سمت سرور تفسیر نمی شوند و به صورت dll هستند و web server در زمان اجرای کدها هیچگونه زمانی برای تفسیر آنها نمی گذارد و با سریعترین زمان ممکن اجرا می شوند. لذا چنین حرفی هیچ پایه و اساس علمی ندارد.

برای بررسی سرعت میان زبان های سمت سرور و مقایسه سرعت php و asp.net مقاله زیر را مشاهده کنید:

مقایسه سرعت php ، asp ، asp.net و cgi

همانطور که در نتایج آزمایش مقاله فوق مشخص است، سرعت asp.net قابل مقایسه با سایر زبان ها و تکنولوژی ها نیست و به مقدار قابل توجهی مخصوصا در زمانی که مقدار داده ها افزایش می یابد و مقیاس سازمانی است سریع تر است.

آیا امنیت php بالاتر  از asp است؟

ایمن بودن نرم افزارهای کدباز ( اپن سورس ) یکی از مباحثی است که برخی برنامه نویسان مطرح می کنند. به طور کلی هر سیستمی که افراد زیادی بر روی آن کار کنند و استفاده کنندگان زیادی داشته باشد به مرور تکمیل می شود. اما کدباز بودن نه تنها دلیل بر ایمن بودن نیست بلکه در بسیاری از موارد ممکن است باعث شود که سیستم فوق مورد حمله قرار گرفته و هک شود. به عنوان مثال پلتفرم جوملا که بر پایه php است یکی از ضعیف ترین پلتفرم ها از نظر امنیتی است و هر از چندگاهی شاهد هک شدن نسخه های مختلف آن در اینترنت هستیم.

برخی از مشکلات امنیتی که ممکن است به خاطر برنامه نویسی سایت پیش بیاید عبارتند از:

Remote code execution
SQL injection
Cross Site Scripting (XSS)
Session Hijacking
XSRF

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

آیا سایت های بزرگی مانند گوگل، فیسبوک با php برنامه نویسی شده اند

؟

پاسخ این سوال کاملا منفی است! سایت های فوق عمدتا از زبان های c++ پایتون و جاوا برای برنامه نویسی سمت سرور خود استفاده می کنند و به هیچ وجه از پلتفرم های اپن سورس مثل php در طراحی بخش های اصلی آنها استفاده نشده است. تنها گوگل برای برخی از سرویس های جانبی خود به طور محدود از زبان php استفاده می کند. تنها سایت پربازدید دنیا که از php استفاده می کرده است سایت یاهو است که آن هم در حال انتقال برنامه های خود به زبان جدید node.js است.

برای مشاهده زبان های استفاده شده در سایت های بزرگ اینترنتی می توانید به لینک زیر مراجعه نمایید:

تفاوت php و asp.net

اگر ایران از قانون کپی رایت حمایت کند ….

در حال حاضر درصد قابل توجهی از سایت های بزرگ اینترنتی بر پایه asp.net طراحی شده اند، سوال اینجاست که مگر کشورهای دیگه از قانون کپی رایت حمایت نمی کنند؟ پس چرا با این وجود استفاده از تکنولوژی دات نت روز به روز در این کشورها رو به افزایش است؟ متاسفانه زمانی که ما میخواهیم هزینه استفاده از یک سیستم را محاسبه کنیم فقط به قیمت خرید آن فکرمیکنیم و این فرهنگ در ما ایرانی ها وجود دارد.

درست است که زبان php یک زبان اپن سورس و رایگان است، اما اگر شما بخواهید یک پورتال اینترنتی را با استفاده از آن طراحی کنید این کار چقدر زمان خواهد برد؟ آیا خروجی پروژه به مقدار کافی مقیاس پذیر خواهد بود؟ آیا قابلیت توسعه و گسترش کافی خواهد داشت؟ اگر هزینه استخدام یک برنامه نویس n تومان در ماه باشد و پروژه php سه ماه طول بکشد و پیاده سازی همان پروژه با asp.net یک ماه زمان بخواهد، عاقلانه خواهد بود که با خرید لایسنس به سمت asp.net برویم یا از سیستم رایگان php استفاده کنیم؟

اگر منطق فوق درست بود، تا کنون تمام کشورهای دنیا از php استفاده می کردند و کسی به سراغ asp.net نمی رفت در حالیکه در عمل می بینیم که چنین نیست.

گرچه سعی کردم بی طرفانه به مقایسه هر دو تکنولوژی فوق بپردازم اما واقعیت این است که پلتفرم asp.net از نظر امکانات، سطح تکنولوژِی و قابلیت هایی که دارد به هیچ وجه قابل مقایسه با زبان اسکریپتی php نیست. استفاده از php تنها زمانی منطقی است که یک اسکریپت رایگان و آماده برای پروژه ای که می خواهید انجام دهید وجود داشته باشد و نوشتن مجدد کد مقرون به صرفه نباشد. از طرف دیگر به دلیل اینکه سرورهای لینوکس از asp.net پشتیبانی نمیکنند و قیمت ارزان تری نسبت به سرورهای ویندوزی دارند، بسیاری از افراد به دلیل صرفه جویی در زمینه هاست به سراغ php می روند، در حالیکه به دلیلی که در بخش قانون کپی رایت ذکر کردم چنین کاری مقرون به صرفه نیست!

چه زمانی بهتر است از php استفاده کنیم؟

  • اگر پروژه ای که میخواهید انجام دهید یک پروژه کوچک است و در مقیاس های بزرگ عملیاتی اجرائی نمیشود php میتواند گزینه خوبی باشد.
  • اگر اسکریپت های آماده و کدهای آماده برای پروژه فوق به زبان php وجود دارند، گزینه مناسبی است.
  • اگر سرور شما لینوکس است، از php استفاده کنید.

چه زمانی بهتر است از asp.net استفاده کنیم؟

  • اگر پروژه شامل انواع نقش های سیستمی و سطوح دستری مختلف و یک پورتال است از دات نت استفاده کنید
  • اگر می خواهید از ساختارهای نوین برنامه نویسی مانند MVC استفاده کنید از دات نت استفاده کنید
  • اگر می خواهید نرم افزار وب شما به صورت شی گرا تولید شود از دات نت استفاده کنید
  • اگر به دنبال توسعه ساختار و پشتیبانی سیستم در دراز مدت هستند و دید کوتاه مدت به پروژه ندارید از دات نت استفاده کنید

 

همچنین مشاهده کنید

طراحی سایت

آموزش تنظیمات کریو کنترل قسمت1 (تنظیمات محدودیت کاربران)

در این مقاله در طراحی سایت آسیا آی تی به بررسی آموزش کریو میپردازیم این ...

2 نظر

  1. مطلب کاملا سطح پایین و جانبدارانه بود،
    “اگر پروژه ای که میخواهید انجام دهید یک پروژه کوچک است و در مقیاس های بزرگ ملیاتی اجرائی نمیشود php میتواند گزینه خوبی باشد.”
    این جمله با کوتاه ترین سطح فکری نوشته شده است، مثال:
    ویکیپدیا , یاهو و قسمت بزرگی از فیسبوک از زبان php استفاده میکنند، همچنین wordpress.com که همگی جزو بزرگترین سایت های جهان میباشند.
    از شما بعید بود.
    http://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites

    • با سلام.استفاده از زبان های مختلف برنامه نویسی بستگی به خیلی از مولفه ها دارد و استفاده از هرکدام از این زبان ها یک کار سلیقه ای و بسته به مهارت دارد.در هر صورت ممنون از اظهار نظرتان

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>