رفتن به مطلب

موشکافی تفاوت های ASP.NET MVC با نسخه CORE


8908190

ارسال‌های توصیه شده

نتیجه تصویری برای ‪core‬‏

 

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

با توجه به سابقه تخصصی که در ASP.NET دارم سعی میکنم مقالاتی در این زمینه خدمت شما عزیزان ارائه کنم.یک مبحث داغ این روزها مبحث CORE در ASP.NET هست.

 

 

 

ASP.NET Core چیست؟


شرکت مایکروسافت ، بعد از ASP.NET 4 ، دیگر نسخه 5 آن را منتشر ننمود ؛ در عوض ASP.NET Core را با ساختار درونی جدید منتشر کرد ، که بسیاری از نواقص ASP.NET MVC ، را بر طرف می کند.
چند مورد از نواقص ASP.NET MVC ، که نیاز به توسعه چارچوب جدید را بهتر نشان می دهند، عبارتند از:

  1. محدود بودن به وب سرور IIS بر روی ویندوز.
  2. قرار گرفتن  Request ها در مسیرهای طولانی از  handler ها و  ماژول ها.
  3.  بیگانگی کامل با چارچوب های مدیریت پکیج های سمت کاربر مانند bower, npm, gulp و  غیره.
  4. انحصاری بودن چارچوب .NET ، تا قبل از این.

مسائل بالا ، عمده نقص هایی بودند که موجب شدند ، تیم .NET ، به فکر ایجاد بستر جدیدی باشند ؛ به طوری که این بستر ، ویژگی هایی مانند سبک بودن ،  کارآیی بالا و قابلیت توسعه و استقرار نرم افزار در محیط هایی غیر از ویندوز را داشته باشد.
ASP.NET Core ، یک چارچوب سبک و سازگار برای ساخت برنامه های کاربردی تحت وب و ابر (cloud) می باشد. ASP.NET Core ، به طور کامل، متن باز (open source) می باشد. متن باز بودن کامل، کار ساده ای نیست و شرکت مایکروسافت توانسته است، کار بسیار بزرگی را انجام دهد و این برنامه را در پلتفرم هایی مانند لینوکس و ماکروسافت، قابل اجرا نماید.

نگاه سریع به بهبودهای ایجاد شده در ASP.NET Core :

  • ساخت و اجرای اپ های ASP.NET چند پلتفرمی (cross – platform) ، در ویندوز، Mac و لینوکس.
  • توسعه برنامه بر روی Core .Net  که از ساخت اپ ها با ورژن های مختلف و در کنار هم ،آموزش جامع ASP.NET جهت ورود به بازار کار و کسب درآمد را پشتیبانی می کند.
  • ارائه ابزار های جدید برای ساده کردن کار توسعه برنامه های کاربردی تحت وب مدرن.
  • ارائه پشته یک طرفه وب (Single aligned web stack) برای API های وب و MVC.
  • پیکر بندی بر مبنای محیط های ابری.
  • پشتیبانی یکپارچه برای ساخت و استفاده از پکیج های  NuGet.
  • پشتیبانی داخلی از کد نویسی جهت تزریق وابستگی ها.
  • قابلیت میزبانی در IIS ، یا خود میزبانی ، در فرآیندهای داخلی برنامه.

همان طور ، که در تصویر زیر مشاهده می شود، پروژه  ASP.NET Core را به دو صورت می توان اجرا نمود:

  1.  مانند قبل، تحت چارچوب .NET ، یعنی نسخه 4.6  و یا کمتر بر روی  ویندوز و وب سرور  IIS ، اجرا شود.
  2. می تواند در .NET Core ، بر روی هر یک از پلتفرم های ویندوز، لینوکس یا OS x اجرا شود.

http://www.sepidaria.com/Uploads/HtmlEditor/eb945c80Difference-between-.NET-Framework-and-.NET-Core.png
 

مقایسه چارچوب های .NET با یکدیگر

در شکل زیر، دسته بندی های مختلف .NET ، نشان داده شده است.
چارچوب .NET ، برای توسعه برنامه های کاربردی تحت ویندوز با استفاده از WPF و Windows Forms و برنامه های کاربردی تحت وب با استفاده از  ASP.NET MVC ،  کاربرد دارد.
.NET Core ، کتابخانه های UWP و ASP.NET Core را پشتیبانی می نماید. UWP ، برای ساخت برنامه های کاربردی مخصوص Windows 10 و  ASP.NET Core ، برای ساخت برنامه های کاربردی تحت وب ، برای سیستم عامل های ویندوز ، لینوکس و مک استفاده می شوند.


image-20180623015254-1.jpeg

 

تفاوت های ASP.NET Core با ASP.NET MVC

تفاوت های عمده چارچوب ASP.NET Core با ASP.NET MVC ، می توانند شامل موارد ذیل باشند:

    • اضافه شدن برخی ویژگی های جدید و یا بهبود امکانات و ویژگی های قبلی در ASP.NET Core ، مانند ماژولار بودن.
    • بازنویسی کلاس ها و کتابخانه های موجود در ASP.NET MVC جهت بهبود آن ها.
    • پیشرو و به روز تر بودن ASP.NET Core نسبت به ASP.NET MVC.
    • دسترسی ASP.NET Core  به محیط های پردازش ابری.


از بین ASP.NET MVC و ASP.NET Core ، کدام را انتخاب کنیم؟

برای برنامه نویسان حرفه ای، که در حال اجرای یک پروژه هستند، و امروز مجبور به انتخاب یک از چارچوب های ASP.NET MVC و ASP.NET Core می باشند، در ادامه چند سناریو داریم:

    • ASP.NET Core انتخاب بهتری است، اگر:
  • می خواهند برنامه کاربردی تحت وب خود را روی سیستم عامل های ویندوز، لینوکس و Mac اجرا نمایند.
  • از یادگیری چیزهای جدید، هراسی ندارند.
  • نداشتن ترس از شکستن و درست کردن اشیاء. چرا که ASP.NET Core هنوز کامل نمی باشد.
    • ASP.NET MVC  انتخاب بهتری است اگر:
  • نیازی به پشتیبانی چند پلت فرم (cross – platform) ، برای برنامه کاربردی تحت وب ندارند.
  • نیاز به یک محیط پایدار برای کار کردن دارند.
  • زمان انتشار (release) برنامه کاربردی آنان ، نزدیک است.
  • در حال حاضر، روی برنامه کاربردی موجود، کار می کنند و به طور عملی در حال توسعه آن هستند.
  • در حال حاضر تیمی با متخصصین ASP.NET دارند.

برای افرادی که در حال یادگیری هستند و تا سال آینده برنامه ای برای پیوستن به شرکتی را ندارند، ASP.NET Core  انتخاب بهتری است. این انتخاب ، گزینه های بیشتری را در آینده نزدیک در اختیار آنان، قرار می دهد.

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...