درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من
    تخفیف های وب سایت
    همه تخفیف ها

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      محمد نصیری
      امتیاز: 579069
      رتبه:1
      366
      1663
      802
      10666
      محمد نصیری ، بنیانگذار TOSINSO ، کارشناس امنیت اطلاعات و ارتباطات و کشف جرائم رایانه ای ، هکر کلاه سفید ، تخصص در حوزه امنیت سیستم عامل و تست های نفوذسنجی ، لینوکس ، مجازی سازی ، سرویس های کاربردی سرور و ... سابقه همکاری در بیش از 40 سازمان دولتی ، خصوصی و نظامی در حوزه پروژه ، مشاوره و آموزش ، بیش از 10 هزار ساعت سابقه آموزشی در طی 12 سال فعالیت حرفه ای ... پروفایل کاربر

      کاملترین مقایسه بین زبان برنامه نویسی وب ASP.NET و PHP - قسمت اول

      تاریخ 58 ماه قبل
      نظرات 21
      بازدیدها 25674
      مقایسه زبان برنامه نویسی PHP و ASP.NET


      اکثر دوستان با این مسئله آشنایی دارند که بنده Unity برنامه نویس خوبی نیستم ، هر چند به برنامه نویسی خیلی علاقه مند هستم ، چند وقت پیش یکی از دوستان در خصوص انتخاب زبان برنامه نویسی وب از بنده سئوالاتی پرسید که بنده هم با جستجویی که انجام دادم این مطلب را نوشتم و در اختیار دوستان قرار می دهم ، امیدوارم مورد توجه شما قرار بگیرد. امروزه هر کسی که به دنبال برنامه نویسی وب و مخلفات آن می رود ناخودآگاه دو گزینه به گوشش می رسد که معمولا بین این دو گزینه بایستی یکی را برای شروع برنامه نویسی تحت وب انتخاب کند و آن را بصورت حرفه ای ادامه دهد. یکی از این اسامی PHP و دیگری ASP.NET و مشتقات آن است. یکی از مهمترین مشکلاتی که در انتخاب یکی از این زبان های برنامه نویسی وب وجود دارد این است که مقایسه درستی بین این دو زبان بصورت جامع و به زبان فارسی وجود ندارد ، شما کافیست تفاوت بین زبان ASP.Net و PHP را در اینترنت به فارسی جستجو کنید ، مشاهده می کنید که اکثر وب سایت ها با رویکرد طرفدارانه مقایسه خود را انجام داده اند یا فقط یه ترجمه یک متن خارجی کفایت کرده اند ، اگر شخصی برنامه نویس ASP.NET است به طرفداری از این زبان برنامه نویسی و کوبیدن زبان برنامه نویسی PHP پرداخته است و برعکس همین مورد هم برای برنامه نویسان PHP وجود دارد.

      خوشبختانه بنده Unity به عنوان مدیر کل انجمن تخصصی فناوری اطلاعات ایران اصلا برنامه نویس نیستم و این مقاله را در قالب شخصی که قصد ورود به دنیای برنامه نویسی وب دارد و برای اینکار جستجوهایی زیادی انجام داده است می نویسم ، بنابراین مطمئن باشید در این مقاله از هیچ زبان برنامه نویسی حمایت نمی کنم و فقط به بررسی مزایا و یا معایت این دو زبان برنامه نویسی وب می پردازم ، ابتدا به معرفی ASP و PHP می پردازیم و سپس ملاک هایی که می توان برای مقایسه این دو زبان عنوان کرد را با هم مقایسه می کنیم و در نهایت به یک نتیجه کلی می رسیم که قطعا این نتیجه کلی طرفداری از زبان برنامه نویسی خاصی نخواهد بود و انتخاب اصلی با شما خواهد بود .قبل از اینکه انتخابی انجام دهید می خواهیم تفاوت بین این دو زبان برنامه نویسی را برای شما تشریح کنیم تا در انتخاب میان اینها دچار مشکل نشوید. هر دو زبان برنامه نویسی تحت PHP و ASP.NET در واقع زبان های اسکریپت نویسی سمت سرور یا در اصطلاح فنی Server Side Scripting هستند که برای طراحی وب سایت های داینامیک مورد استفاده قرار می گیرند. صفحات وب داینامیک ابتدا درخواست کلاینت را در سمت سرور پردازش کرده و در نهایت پس از هر بازدید کاربر نتیجه را به سمت کاربر ارسال می کنند. انتخاب بین این دو زبان اسکریپت نویسی بستگی به مواردی از قبیل اندازه و بزرگی وب سایت ، قابلیت های توسعه وب سایت ، هزینه های هاستیگ وب ، هزینه های پشتیبانی و زمان پیاده سازی و بسیاری دیگر از مواردی از این قبیل دارد که در ادامه به بررسی اکثر این موارد خواهیم پرداخت.

      معرفی زبان : زبان برنامه نویسی وب ASP یا ASP.NET چیست ؟


      ASP مخفف کلمه Active Server Pages است و یک محصول منحصر به فرد برای شرکت مایکروسافت به حساب می آید ، این زبان برنامه نویسی اکنون منسوخ شده است و جای خود را به زبان اسکریپت نویسی ASP.NET داده است. در همینجا به این نکته اشاره کنم که در واقع ASP.NET یک زبان برنامه نویسی نیست بلکه یک تکنولوژی برنامه نویسی وب با استفاده از دات نت است، شما می توانید با #C یا #F یا زبان های برنامه نویسی دیگر دات نت ASP.NET بنویسید ، اما با توجه با اینکه شما به عنوان یک زبان بیشتر با این محصول آشنا هستید ما در این سری مقالات از ASP.NET به عنوان یک زبان برنامه نویسی یاد می کنیم. بیشتر شرکت های و سازمان های بزرگ برای نرم افزارهای تحت وب خود از این زبان برنامه نویسی استفاده می کنند. نرم افزاری که بیشترین هماهنگی با این زبان برنامه نویسی را دارد به عنوان Microsoft Visual Studio شناخته می شود که در واقع محیط برنامه نویسی مایکروسافت محسوب می شود. در این نرم افزار قابلیت های بسیار زیادی برای برنامه نویسی بصورت پیشفرض قرار گرفته اند که کار برنامه نویسی را برای برنامه نویسان بسیار راحت می کند. معمولا تعداد خط های کدی که باید برای یک برنامه به زبان ASP.NET نوشته بشود نسبت به محصولات مشابه کمی بیشتر است که همین دلیل می تواند تا حدودی باعث زمانگیر بودن کدنویسی در این زبان برنامه نویسی برای فعالیت های پیچیده شود. در صورتیکه تغییری در هر خط کد از این زبان برنامه نویسی انجام شود به ناچار کل برنامه بایستی مجددا کامپایل شود ، بنابراین زمان برنامه نویسی تا حدودی افزایش می یابد.وب سروری که با این زبان برنامه نویسی هماهنگ است صرفا وب سرور شرکت مایکروسافت که همان IIS است می باشد و معمولا به عنوان پایگاه داده نیز در این نوع زبان برنامه نویسی از Microsoft SQL Server استفاده می شود.

      ASP.NET چیست ؟


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

      معرفی زبان : زبان برنامه نویسی وب PHP چیست ؟


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

      PHP چیست ؟


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

      ملاک های انتخاب یک زبان برنامه نویسی وب چیست ؟


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

      نویسنده : محمد نصیری
      منبع : جزیره طراحی و توسعه وب وب سایت توسینسو
      هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد
      برچسب ها
      ردیفعنوان
      1کاملترین مقایسه بین زبان برنامه نویسی وب ASP.NET و PHP - قسمت اول
      2کاملترین مقایسه بین زبان برنامه نویسی وب ASP.NET و PHP - قسمت دوم
      3کاملترین مقایسه بین زبان برنامه نویسی وب ASP.NET و PHP - قسمت سوم
      4کاملترین مقایسه بین زبان برنامه نویسی وب ASP.NET و PHP - قسمت چهارم
      دورهمجموعه کل دوره
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات
      • لینک بقیه قسمتهای این مطلب خرابه :(
      • مجددا بررسی کنید به دلیل برخی مشکلات فنی لینک ها کار نمی کردند ... با تشکر
      • سلام اقای نصیری . می خواستم راجع به این مقاله یه نکته ایی رو خدمتتون عرض کنم . این مقاله حدودا برای 1 سال پیش هستش و تو این مدت خیلی از قابلیت ها برای این دو زبان برنامه نویسی بهبود و پیشرفت چشمگیری داشته است . همانطور که شما هم در شبکه های اجتماعی حضور داشته و در گروه CIW فعالیت دارید حتما در جریان هستید که اخبار و کارکرد هایی جدید برای زبان های برنامه نویسی تخت وب در این صفحه بیان می شود . می خواستم از شما خواهش کنم که این مقاله هایی رو که در این زمینه یا سایر زمینه هایی که مرتبط با تکنولوژی های برنامه نویسی می شن رو بعد از نوشتن رها نکیند به حال خودشون . البته این رو هم بگم که من این مقاله رو تا اخرش خوندم و خیلی چیز های جدید و پایه ایی رو یاد گرفتم و اینکه چنین مقاله هایی که مدت زیادی ازشون می گذره با این که اطلاعات پایه ایی و اساسی رو در اختیار کاربران قرار می ده ولی اونا رو از تکنولوژی ها و پیشرفت های جدید اون زیان برنامه نویسی مطلع نمی کنه . مثلا همانطور که در جربان هستید ماکروسافت تو نسخه 2015 Visual studio الان اومده نسخه های IOS و Android رو وارد کرده و خیلی کار های دیگه که شما بهتر از من در جریان هستید .
        یه نکته دیگه هم می خواستم در رابطه با این مقاله خدمتتون عرض کنم و اون اینه که فکر کنم یه مقدار بحث اصلی مقاله می رود به سوی زبان PHP .یعنی کاربر از اول تا اخر این مقاله رو که بخونه به نظر من 30% تمایل پیدا می کنه به سمت تکنولوژی ASP.NET و 70% هم به سمت زبان PHP و این به نظر من یکم اجهاف در حق تکنولوزی ASP.NET هستش . چون شما خیلی از امکاناتی رو که این تکنولوژی داره رو ذکر نکردید تو این مقاله مثل Extention ها و Component هایی که در مبحث ASP.NET بسیار قوی تر از PHP عمل می کنن. ممکنه که برداشت من غلط باشه . در این زمینه اگه من اشتباه می کنم از شما خواهش میکنم که اشتباه بنده رو بفرمایید .
        این پیشنهاد و انتقادی که بنده نسبت به این مقاله و سایر مقاله های سایت کردم رو فقط برای بهبود سایت و بالاتر رفتن کارایی اون می خواستم خدمت شما عارض شم . جسارت بنده رو ببخشید .
        با تشکر .
      • برای اپلیکیشن های تحت وب هم php به پای asp.net نمیرسه مخصوصا که اکثرا داریم از سیستم عامل ویندوز استفاده می کنیم، از آفیس محصول مایکروسافت استفاده می کنیم و ...ارتباطی که یک برنامه کاربردی تحت وب به زبان ASP.net می تونه با سیستم عامل ویندوز و پروتکل های شبکه مبتنی بر ویندوز و برنامه های آفیس برقرار کنه البته اگر چه با php امکان پذیر هست ولی به سختی اونقدر که حال آدمو می گیره آخرشم انگار حس می کنی گندش دراومده.
        من خودم php کار هستم والبته C# هم تقریبا سررشته دارم خیلی دوست دارم برم سمت asp.net چون واقعا توی زمینه اپلیکیشن تحت وب حرفی رو که بالا گفتم رو حس کردم و با php به مشکل خوردم.
      • دوست عزیر سعی کن سراغ تکنولوژی های جدید هم بری . الان تو جاوا اسکریپت فریم ورک هایی رو ارایه داده که خیلی با قدرت داره تو برخی از موارد خاص از بعضی از زبان های پر طرفدار سبقت می گیره . پیشنهاد می کنم در مورد Angular.js و Node.js و سایر کتابخانه های این زبان مطالعه داشته باشید.الان مثلا ما توسط Node.js خیلی کار های رو می تونیم خیلی راخت و بهتر انجام بدیم . البته اینو بگم که صرفا نمی خوام یه زبان رو بکوبم تو سرش !!! الان مثلا ما توی ASP.NET یه بحثی داریم به نام SignalR که میشه باهاش چت روم پیاده سازی کرد و به تبع نیز مزایا و معایب خاص خودشو داره . همین کارو جاوا اسکریپت اومده با یک کتابخانه به نام Socket.IO انجام داده که اصلا از یه دید دیگه ایی داره به موضوع نگاه می کنه . در مورد اپلیکشن های تحت وب هم راستش زیاد نمی دونم که چه کتابخانه هایی رو معرفی کرده . مشکل خیلی از ما اینه که یه چیز رو یاد می گیریم و اینکه می خوایم همه کارامون رو با اون انجام بدیم و این خیلی بده واسه یه برنامه نویس .
      • ممنون دوست عزیز خیلی مفید بود
      • سلام جناب مهندس نصیری

        اینکه کدهای asp.net بعد از هر تغییر کامپایل می شن رو من متوجه نشدم

        مثلا سایت دیجی کالا یا سایت شما که با asp.net نوشته شدن در صورت تغییر در چه قسمت هایی باید دوباره کامپایل بشن


      • یعنی شما اگر تغییر کد داشته باشید باید یکبار کل برنامه بصورت کلی از ابتدا صفر تا صد کامپایل بشه ، کل کد کامپایل مجدد میشه.
      • یعنی اگر فقط در کدهای asp.net تغییری بدیم باید دوباره کامپایل بشن یا اینکه مثلا اگه کدهای html css javascript و ... رو هم تغییر بدیم باید دوباره کامپایل کنیم (یا مثلا اضافه کردن چد تگ)

        مثلا یک بار کامپایل سایت شما از صفر تا صد چند دقیقه طول می کشه یا مثلا کامپایل سایتی مثل دیجی کالا رو هم با توجه به تجربه بالایی که در این زمینه دارید اگه حدودا بفرمائید ممنون می شم چون می خوام حساب کنم اگه مجبور بشم روزی چند بار کدهام رو تغییر بدم چقدر زمان می بره و با این حساب ممکنه استفاده از asp.net وقت گیر باشه


      • دوست عزیز html و css و javascript سمت کلاینت هستند و اصلا نیاز به کامپایل ندارن ، در حد یک F5 توی مرورگر به روز رسانی میشن درگیر این موضوع نباشید ، تازه کل سایت بخاد مجددا کامپایل بشه حتی اگر دیجیکالا باشه بر حسب حجم کاری ماکزیمم بین 10 تا 60 ثانیه طول می کشه ... تازه اگر سنگین باشه
      • جناب مهندس برای یادگیری asp.net حتما باید اول سی شارپ رو کامل یاد بگیریم یا می شه بدون یادگیری سی شارپ asp.net رو یاد گرفت چون در صورتی که نیاز به یادگیری سی شارپ باشه باید برای طراح وب شدن دو تا زبان سخت رو یاد گرفت
      • رامین عزیز من برنامه نویس حرفه ای نیستم ، بهتره این سئوال رو در قسمت سئوال بپرسید در جزیره برنامه نویسی مطرح کنید که دوستان برنامه نویس حرفه ای جوابت رو بدن.
      • جناب مهندس چون شما مقاله مقایسه بین asp.net و php رو نوشتید مطمئنا روی هر دو تسلط کامل دارید و من فکر می کنم در جای درستی این سوال رو مطرح کردم
      • خیر من ابتدای مقاله عنوان کردم که تسلط ندارم و کار تحقیقاتی بوده
      • جناب مهندس من همیشه فکر می کردم که حرفه ای ها تو تهران هستن ولی الان که رزومه شما و بعضی از بنیانگذاران این سایت رو می خوندم شگفت زده شدم و یه جورایی غبطه خوردم به این سطح دانش شما
        و اینکه این سایت بهترین سایت ایران در حوزه it است مثلا من در سایت های دیگه دیدم که مثلا کسی یه سوالی پرسیده بود و جواب متخصص اون سایت این بود که "برو یک کتاب بخر بخون"
        ولی اینجا هم مقاله و آموزش داریم و هم پاسخ به سوال حتی اگه مبتدیانه باشه

        از شما و همه بنیانگذاران و دست اندرکاران این سایت برای ایجاد یک همچین سایت حرفه ای تشکر می کنم
      • این وظیفه ما هست ، شما هم با معرفی ما به دیگران از ما حمایت کنید سپاسگزارم
      • سلام جناب نصیری، وقت بخیر
        در جایی از مقاله عنوان کردید که
        "در واقع ASP.NET یک زبان برنامه نویسی نیست بلکه یک تکنولوژی برنامه نویسی وب با استفاده از دات نت است"
        من منظورتون رو از اینکه زبان برنامه نویسی نیست بلکه تکنولوژی برنامه نویسی وب هست رو متوجه نمی شم!
        میشه لطفا یه مقدار بیشتر در این باره توضیح بدید؟
      • یعنی برگرفته ای از زبان دات نت هست که هم سی شارپ هم ... ازش استفاده می کنن
      • یعنی برگرفته ای از زبان دات نت هست که هم سی شارپ هم ... ازش استفاده می کنن
      • ممنونم
        ولی ،خوب این تکنولوژی دقیقاً چیه و چیکار می کنه؟
      • به نظرم برای اینکه بدونی چیه و دقیقا چیکار می کنه باید تو سایت قسمت برنامه نویسی سئوالتو بپرسی دوستان بهتر توضیح میدن

      برای ارسال نظر ابتدا به سایت وارد شوید