انتخاب درست یکزبان یا فریم ورک برنامهنویسی برای پروژهها، همیشه مسئلهای پیچیده است. در صورتیکه نظر توسعهدهندگان را راجع به این موضوع بپرسید، جوابهای متفاوتی خواهید شنید. یکی از بحثهای داغی که همیشه در این حوزه مطرح بوده، تشخیص بهترین زبان از بین ASP.NET و PHP بوده است.در این مقاله می خواهیم با اساسی ترین تفاوتهای ASP.net و PHP به زبان ساده آشنا شویم.
زبان پیاچپی با هدف نوشتن اسکریپتهای وب نوشته شد. در واقع هدف ، فرار از پیچیدگیهای Perl و نوشتن CGI با زبانهایی مثل C و ارائه دستوراتی ساده برای طراحان صفحات وب بود.
پی اچ پی اولیه زبانی با دستورات محدود و ساده بود که بیشتر برای کارهای ساده و برای طراحان وب سایتها و نه برنامه نویسان حرفهای بود. این زبان کم کم پیشرفت کرد و بخصوص Open Source بودن آن باعث تسریع در پیشرفت آن شد. در مرحله اول تعداد دستورات و توابع این زبان گسترش پیدا کرد بطوریکه امروز نیز براحتی کارهای نسبتا پیچیده ای مثل کار با سوکتها یا تصاویر با توابع این زبان قابل اجرا است.
همچنین از لحاظ معماری این زبان با پشتیبانی از شی گرایی پیشرفت مهم دیگری داشته است. پی اچ پی به طور کلی یکی از زبانهای معمول برای نوشتن اسکریپتهای اجرایی در محیط یونیکس ، لینوکس (هرچند که در ویندوز نیز به خوبی اجرا می شود) و کار با نرم افزار مدیریت بانک اطلاعات MySQL است.
برای کار با PHP باید مترجمی را مانند موتور Zend را روی سرورتان نصب کنید. این موتور، یکی از محبوبترین مترجمها در این زمینه است. برخلاف ASP.Net، برنامههای ساختهشده با PHP چندسکویی هستند، یعنی هیچ محدودیتی در نوع سیستمعامل و سرور میزبان اپلیکیشن وجود ندارد و برنامه بهدرستی روی تمام پلتفرمها اجرا میشود.
در نهایت قابلذکر است که از PHP و Html در کنار هم برای ساخت اپلیکیشنهای تحت وب استفاده میشود. همچنین برای استفاده از PHP باید آن را در بین کدهای Html جایگذاری کنید. این بدان معنی است که برای استفاده از PHP باید یک شناخت پایهای از Html داشته باشید.(دوره آموزش آنلاین و رایگان HTML5).
یکی از زبان های برنامه نویسی حرفه ای برای طراحی سایت ، ASP.NET است. ASP.NET نسل جدید ASP است. که با ASP کلاسیک سازگار نیست، اما ممکن است ASP.NET شامل ASP کلاسیک باشد. صفحات ASP.NET تألیف شده اند، که موجب سریع تر شدن آن از ASP کلاسیک شده است. ASP.NET دارای پشتیبانی بهتر زبان، یک مجموعه بزرگ از کنترل های کاربر، قطعات مبتنی بر XML، و تأیید یکپارچه هویت کاربر است.
صفحات ASP.NET دارای پسوند aspx. است، و به طور معمول در VB (ویژوال بیسیک) یا #C (سی شارپ) نوشته می شود. کنترل های کاربر در ASP.NET می توان به زبان های مختلف، از جمله ++ C و جاوا نوشته شود.
هنگامی که یک مرورگر درخواست یک فایل ASP.NET را دارد، موتور ASP.NET فایل را می خواند، اسکریپت را در فایل اجرا و تألیف می کند، و نتیجه را به شکل زبان HTML ساده به مرورگر برمیگرداند.
تا به اینجا ثابت کردیم که PHP و ASP.Net دو ابزار مختلف هستند که میتوانید از آنها برای کسب نتایچ یکسان استفاده کنید؛ اما سوال اصلی این است که چطور باید آنها را نسبت به هم مقایسه کرد؟
برای جواب به این سوال باید مجدداً یادآوری کنیم که هستههای ASP.Net و PHP با هم متفاوت هستند. ASP.Net فریم ورکی است که از زبان C# استفاده میکند؛ هر چند از سایر زبانهای.Net نیز میتوان استفاده کرد، اما PHP خودش یک زبان برنامهنویسی مستقل است.
بنابراین هنگامیکه بحث عملکرد در میان باشد، نمیتوان گفت که کدامیک از این دو تکنولوژی از دیگری بهتر است چراکه دو چیز کاملاً مستقل از یکدیگر هستند. در عوض باید زبان C# را با PHP مقایسه کرد. اگر زبانهای PHP و C# را بررسی کنید متوجه میشوید که C# از لحاظ عملکرد کمی بالاتر از PHP قرار دارد.
اما سختافزارهای مدرن، طوری ساخته شدهاند که عملکرد ذاتی یک زبان، دیگر یک عامل محدود کننده به شمار نمیآید. این بدان معنی است که به دست آوردن عملکرد بالا، بستگی به نوع برنامهنویسی یک اپلیکیشن دارد. این یک مزیت فنی برای زبان C# هست، اما یک پیوند عملی بین این دو زبان وجود دارد.
درباره مقیاسپذیری این دو زبان، عوامل یکسانی تأثیرگذار است. واقعیت این است که حتی اگر C# و ASP.Net ذاتاً پرسرعت باشند، نحوه رفتار یک برنامه بزرگ کاملاً بستگی به نحوه کدنویسی آن دارد. اگر شما از بهترین شیوههای برنامهنویسی استفاده نکنید، هیچکدام از این دو زبان، عملکرد بهتری را برایتان به ارمغان نخواهد آورد.
در اینجا، شاید تصور کنید که به شما در انتخاب زبان PHP یا ASP.Net کمک شده است که البته حق با شماست. انتخاب ابزار مناسب، بستگی به شرایط خودتان دارد، مثلاً اینکه از چه سیستمعاملی روی سرور استفاده میکنید و دیگر عوامل مرتبط در این امر مؤثرند.
با این حال نمیتوان گفت که PHP ابزار ضعیفتری نسبت به ASP.Net است؛ چراکه استفاده گستردهای از این زبان میشود و البته مشکلات پیشِ روی شما هنگام کار با آن بهراحتی قابلحل خواهند بود و همچنین اکثر سرورها هم از این زبان پشتیبانی میکنند.
اگر پروژه ای که میخواهید انجام دهید یک پروژه کوچک است و در مقیاس های بزرگ عملیاتی اجرائی نمیشود ، php میتواند گزینه خوبی باشد.
اگر اسکریپتهای آماده و کدهای آماده برای پروژه فوق به زبان php وجود دارند، گزینه مناسبی است.
اگر سرور شما لینوکس است، از php استفاده کنید.
اگر پروژه شامل انواع نقش های سیستمی و سطوح دسترسی مختلف و یک پورتال است از دات نت استفاده کنید.
اگر می خواهید از ساختارهای نوین برنامه نویسی مانند MVC استفاده کنید از دات نت استفاده کنید.
اگر می خواهید نرم افزار وب شما به صورت شی گرا تولید شود از دات نت استفاده کنید.
اگر به دنبال توسعه ساختار و پشتیبانی سیستم در دراز مدت هستند و دید کوتاه مدت به پروژه ندارید از دات نت استفاده کنید.
(برای یادگیری صفر تا صد php می توانید از دوره آموزشی کدفرند استفاده کنید).