مقایسه PHP و Asp.NET

 

زبان PHP با هدف نوشتن اسکریپتهای وب نوشته شد. در واقع هدف فرار از پیچیدگیهای Perl و نوشتن CGI با زبانهایی مثل C و ارائه دستوراتی ساده برای طراحان صفحات وب بود.پی اچ پی اولیه زبانی با دستورات محدود و ساده بود که بیشتر برای کارهای ساده و برای طراحان وب سایتها و نه برنامه نویسان حرفه ای بود. این زبان کم کم پیشرفت کرد و بخصوص Open Source بودن آن باعث شد تسریع این حرکت شد. در مرحله اول تعداد دستورات و توابع این زبان گسترش پیدا کرد بطوریکه امروز نیز براحتی کارهای پیچیده ای (مثل کار با سوکتها یا تصاویر) با توابع این زبان قابل اجراست. پی اچ پی به طور کلی یکی از زبانهای معمول برای نوشتن اسکریپتهای اجرایی در محیط یونیکس ، لینوکس (هرچند که در ویندوز نیز به خوبی اجرا می شود) و کار با نرم افزار مدیریت بانک اطلاعات MySQL است.

دات نت نسل جدیدی از ابزارهای توسعه مایکروسافت است. دات نت فقط یک زبان نیست و در واقع یک فریم ورک یا پلاتفرم برای توسعه و اجرای نرم افزار است.دات نت شباهت زیادی با پلاتفرم جاوا دارد و در واقع در رقابت با اوست. ASP.NET نیز نسل جدیدی از ASP کلاسیک در بستر دات نت است و از این جهت پیشرفت بسیار زیادی نسبت به ASP کلاسیک شاهد هستیم.با ASP.NET و با وجود کتابخانه غنی توابع و کلاسهای دات نت تقریبا هر کاری در وب امکان پذیر است. اگر چه مایکروسافت در معماری دات نت هدف اجرا در پلاتفرمها و سیستم عاملهای مختلف را مد نظر داشته است اما حداقل تاکنون میتوان دات نت را یک ابزار توسعه در سیستم عامل ویندوز دانست. البته پروژه هایی برای شبیه سازی و انتقال دات نت به محیط لینوکس نیز وجود دارد که مهمترین آنها پروژه Mono است که پیشرفت قابل توجهی داشته است.انتظار می رود در آینده نزدیک ASP.NET در هر سیستم عامل و پلاتفرمی قابل اجرا باشد.

 

می دانم خیلی از کسانی که به این بحث علاقه دارند واقعا می خواهند بدانند که آیا Asp.NET بهتر است یا Php ؟ کدام سریعتر است ، یادگیری کدام آسان تر و کدام یک پرکاربر تر است ، چرا خیلی از سایت های معروف مانند Yahoo و Facebook و ... از Php استفاده می کنند و سوالات متعدد دیگری که در ذهن خیلی از ما نقش بسته ، امیدوارم این مقاله بتواند به انتخاب درست شما کمک کند .
پشتیبانی از زبان های مختلف :
همانطور که می دانید Asp.NET را با زبان ها VB.NET ، C Sharp , Delphi , J Sharp و چند زبان دیگر .... میتوان توسعه داد در حالی که Php را فقط با زبان Php می توان نوشت . نکته جالب تر تلفیق زبان هاست ! شما در Asp.NET قادر خواهید بود از چند زبان برای تولید وب سایت یا نرم افزار خود استفاده نمایید .


Php از بدو تولد به صورت یک زبان اسکریپتی ارائه شد و پیاده سازی گرافیک سخت تر از زبان ASP است در حالی که Asp.NET با مفهوم شی گرایی (کلاس ، خاصیت ، رویداد و ...) پا به عرصه گذاشت . کار با Asp.NET بسیار شبیه کد نویسی برای یک نرم افزار تحت ویندوز است و تمام امکانات مورد نیاز برای یک برنامه نویسی شی گرا را فراهم نموده است .

یکی از بزرگترین مزایای Php سورس باز بودن آن است ، این امر باعث شده است خیلی از سایت های بزرگ برای توسعه وب سایت خود از Php استفاده کنند حتی سورس آن را به اقتضای نیاز های خود تغییر و شخصی سازی کنند .دلیل اصلی استفاده شرکت ها بزرگ مانند Yahoo , Facebook , ... از زبان Php سورس باز بودن آن است .سورس باز نبودن Asp.NET یکی از نقاط ضعف آن محسوب می شود .

همانطور که میدانید Php هم بر روی ویندوز و هم بر روی لینوکس نصب می شود ، و این یکی دیگر از مزیت های Php می باشد
ولی ASP.NET فقط بر روی سرورهای ویندوز قابل اجرا می باشد.

اغلب برنامه نويسان PHP با MY SQL کار مي کنند و ASP کاران با Access .
مشکل اصلي Access اين است که در حجم بالا جواب نمي دهد مثلا وقتي 1500 نفر در يک زمان جستجو کنند کارايي ندارد ولي MY SQL از اين نظر از Access بهتر است. اين را هم بايد بگم شايد غير ممکن است 1500 نفر از سايت ما آنلاين در يک زمان بخواهند با هم جستجو کنند ! پس اين مشکل خيلي مشکل حادي نيست و مي توان در حجم هاي بالا نوع ديتابيس را عوض کرد مثلا SQL SERVER شرکت مايکروسافت که شايد بيشترين بازديد کننده را دارد بدون هيچ مشکلي با ASP کار مي کند

غنی بودن زبان php از نظر تعداد اسکریپتها و کتابخانه‌ها آماده استفاده بسیار چشم گیر است . اگر مثلا شما به دنبال یک اسکرپیت آماده باشید با یک جستجو ساده می‌تونید صدها مورد رو برای php پیدا کنید که بعد می‌تونید با توجه به opensource بودن اونها اسکریپت رو بسته به نیازتون گسترش داده و استفاده کنید. یعنی در اکثر مواقع در php نیاز نیست از اول بشنید و اسکریپتی رو بنویسید.

ابزار های زیادی از زبان PHP استفاده میکنند که به صورت رایگان وجود دارند . پس از اینکه PHP سورس باز شد کدهای زیادی را می شود در انجمن ها و به طور کلی در اینترنت یافت که با زبان PHP نوشته شده اند . از ویژگی های درون ساختی که در php وجود داره میشه به ftp,email در صفحات اشاره کرد و یا مکانیزم مخفی سازی .
اما ASP چنین ویژگی هایی رو در خودش به صورت ترکیبی نداره و فقط به صورت افزودنی هستش یعنی کامپوننت هایی را داراست که این ویژگی را در خود دارند, از این رو این افزوده ها هزینه هایی را در بر میگیرد برای این قبیل کامپوننت ها.
هزینه های سرور برای زبان PHP کمتر از زبان ASP می باشد.

 

در اینجا بعضی دیگر از تفاوت های asp.net رو با Php می نویسم تا خودتون بهتر بتونید تصمیم بگیرید:

  • • ASP.net یک محصول مایکروسافتی است که در مجموعه دات نت ارائه شده است. اما php یک زبان تحت وب اوپن سورس است.
  • • ASP.net قابلیت encode کردن کدهای نوشته شده سمت سرور را با تبدیل آنها به یک فایل DLL فراهم ساخته است (code-Behind) تا حتی کسی که به سرور شما دسترسی دارد هم سورس های شما رو نبیند. اما php گزینه کامپایل ندارد . البته یک رمزنگار بنام zend برای php نوشته شده که کاری مشابه encode کردن را بر روی کدهای php انجام میدهد.
  • • قابلیت های شی گرایی در asp.net به دلیل قابلیت کامپایلی بودن آن و مجتمع شدن با سایر زبان های دات نت خیلی بهتر پیاده سازی شده است.
  • • IDE به محیطی برنامه نویسی زبان ها میگویند. ASP.net تحت Visual Studio نوشته میشود که در کشورهایی که ملزم به رعایت کپی رایت هستند 4000 دلار قیمت دارد. در حالی که IDE های موجود برای زبان PHP معمولا رایگان است. اما در ایران که خداروشکر این مورد با هزار تومن در درسترس است.
  • • بانک اطلاعاتی مورد استفاده برای زبان های دات نت معمولا SQL Server است و بانک اطلاعاتی مرتبط با PHP معمولا MySQL است. قیمت لایسنس SQL server معمولا از my sql بالاتره.
  • • امکانات URL-Rewriting در زبان PHP ساده تر از زبان های دات نتی قابل پیاده سازی است. برای اینکار در ریشه سایتی که نوشته اید یک فایل htaccess میگذارید و تنظیمات مربوط به URL Rewriting را داخل آن تنظیم میکنید. اما برای زبان های دات نتی شما باید این تنظیمات را روی سرور انجام دهید. به همین دلیل اگر پروژه ای نوشته باشید که بخواهید در آن از امکانات URL Rewriting استفاده کنید در حالت برنامه نویسی دات نتی، نیازمند اجاره کردن یک سرور هستید که اینکار برای پروژه های کوچک که با 20 مگابایت هاست کارشون راه میفته توجیه اقتصادی نداره.
  • (( URL-Rewriting به ایجاد آدرس های مجازی روی سرور میگن. مثلا آدرس وبلاگ هایی که شما در یک سرویس مانند پرشین بلاگ میسازید مجازی هستند. چون هیچ دامنه ای امکان داشتن یک میلیون ساب دامین واقعی رو نداره. پس اینکار توسط شبیه سازی انجام میشه که بهش URL Rewriting میگن.))
  • • PHP با زبان خاص خودش نوشته میشود و چندان هم مشکل نیست. اما ASP.net با استفاده از زبان های دات نتی قابل نوشتن است. که معروف ترین آنها vb.net و سی شارپ است. کدنویسی با استفاده از VB.net برای تازه کارهای برنامه نویسی خیلی ساده تر است و کد نویسی C# برای دانشجویان رشته نرم افزار که با زبان C آشنایی دارند توصیه میشه. معمولا هر برنامه نویسی با یکی از این زبان ها کار میکند و روی آن زبان متمرکز میشود.

آخرین نمونه کارها

    • جشنواره بین المللی تئاتر دانشگاهی
    • طراحی پوسته اختصاصی ، سبک سازی و سئو
    • http://iifut.kanoonha.ir
    • ثبت نام و ارسال اثار کشوری
    • مشاهده سایت
    • شبکه مجازی کانون های دانشگاه ها
    • طراحی اختصاصی و سامانه های تخصصی
    • http://kanoonha.net
    • شبکه اجتماعی و ملزومات آن
    • مشاهده سایت
    • موسسه فرهنگی آموزشی نصیر
    • طراحی شاد و متنوع
    • http://nasirhs.ir
    • تالار گفتمان و اطلاع رسانی موسسه
    • مشاهده سایت
    • پایگاه آموزش مجازی
    • طراحی اختصاصی
    • http://amuzesh.net
    • مدیریت آموزش مجازی
    • مشاهده سایت
Go to top