معرفی Net Core.
اگر به تاریخچه ASP.NET نگاه کنیم ، خواهیم دید که عمر این محصول مایکروسافت هم کم نیست . حدود 14 سال است که این محصول سرپاست و در حال سرویس دهی به برنامه نویسان حوزه وب میباشد. از روز شروع و تولید این محصول زمان زیادی گذشته و مایکروسافت روزبه روز سعی در بهبود آن داشته، ولی آنچه تحت عنوان ASP.NET Core 1.0 به بازار آمده، یک انقلاب واقعی است.
برای اغلب توسعه دهندههای دات نت (برنامههای وب و دسکتاپ) تنها یک دات نت فریم ورک شناخته شده وجود دارد: NET Framework.
ASP.NET Core 1.0، که پیشتر با نام ASP.NET 5 معرفی شده بود، بازنویسی کامل ASP.NET است که با ایدهی کاملا ماژولار بودن، تهیه شدهاست و از طریق آن، قابلیت به روز رسانی منظم و توزیع آسان از طریق نیوگت، میسر خواهد شد. به علاوه در آن، بسیاری از الگوهای برنامه نویسی شیءگرا مانند تزریق وابستگیها، به صورت توکار و از ابتدا پشتیبانی میشوند.
ASP.NET Core 1.0 مدل برنامه نویسی ASP.NET MVC و Web API را به صورت یکپارچه ارائه میدهد و دیگر خبری از ارائه مجزای اینها نخواهد بود و دقیقا بر مبنای مفاهیم برنامه نویسی این دو بنا شدهاست. به صورت خلاصه MVC + Web API + Web Pages = Core MVC 1.0.
پیشتر فضای نام System.Web.MVC مخصوص ASP.NET MVC بود و فضای نام مجزای دیگری به نام System.Web.Http مخصوص ASP.NET Web API. اما اکنون تنها یک فضای نام مشترک و یکپارچه به نام Microsoft.AspNet.Mvc هر دوی اینها را پوشش میدهد. در این نگارش جدید وابستگی از system.web مبتنی بر IIS حذف شدهاست و با استفاده از هاست جدید چندسکویی به نام Kesterl، به سرعتی 5 برابر سرعت NodeJS دست یافتهاند.
چرا مایکروسافت دست به چنین تغییر بزرگی زد ؟
مایکروسافت نگران از دست دادن برنامه نویسانش بود . بعد از نابودی Silverlight و عدم توان رقابت با IOS وAndroid ، دیگر چه چیز برای مایکروسافت میماند؟ در بستر موبایل که برنامه نویسی Windows Mobile با 2 رقیب آن اصلا قابل مقایسه نیست و مایکروسافت شکست را پذیرفته است . تنها جایی که امکان رقابت باNode, Ruby, Python, Java همین بستر وب است و بس. سیستمهای تحت ویندوز یا همان Windows Application ها را که باید مرده به حساب آورد پس تنها صحنه رقابت و جنگ برای مایکروسافت همین بستر وب است . مسئله بعدی Startup ها هستند . آنها به بسترهای Open Source و ارزان نیاز دارند . مایکروسافت با وضعیت قبلی ASP.NET ، اصلن مورد توجه Startup ها قرار نمیگرفت و این بسیار دردناک بود.
حال باید دید چرا این تغییرات میتواند ASP.NET را دوباره به مدار باز گرداند .
1- مجانی و Open Source شدن
2- Cross Platform بودن
3- سادگی در استفاده
4- سبک ، قوی و ساده بودن
با این 4 ویژگی ASP.NET با دیگر محیطها و زبانهای توسعه وب در یک سطح خواهد بود ، مضاف بر اینکه زبان قدرتمند و زیبای C#.NET همچنان هسته اصلی توسعه باقی خواهد ماند و این یعنی یک برتری بسیار بزرگ نسبت به دیگر زبان ها.
در سال 2014 مایکروسافت تصمیم گرفت تا با ایجاد و توسعه .NET Core، آن را به عنوان مجموعهای مدرن، پرکاربرد و قابل اجرا در پلتفرمهای مختلف قرار دهد. به همین دلیل آن را به صورت پلتفرمی متنباز (Open-source) و چندسکویی (Cross-platform) ساخت تا به راحتی در ویندوز، لینوکس و حتی Mac OS نیز اجرا شود. مایکروسافت در ایستگاه اول .Net 5 یا به عبارتی .Net Core 1.x را ارائه کرده اما پس از استقبال شگفت انگیز کاربران آن را توسعه داد تا اینکه بالاخره .Net Core 2 را در تاریخ 14 آگوست سال جاری بهمراه Entity Framework Core 2.0 و مجموعهای کامل از .NET Standard 2.0 Specification نیز رونمایی کرد.
سازگاری
با استفاده از Net Core 2. براحتی می توانید اپلیکیشنهای خود را بر روی هر 4 پلفترم ویندوز، لینوکس، Android و Mac پیاده سازی کنید.
در حال حاضر NET Standard 2. توسط موارد زیر پشتیبانی میشود:
NET Framework 4.6.1.
NET Core 2.0.
Mono 5.4
Xamarin iOS 10.14
Xamarin.Mac 3.8
Xamarin.Android 7.5
Visual Studio 2017 v15.3
Visual Studio 2017 for Mac v7.1
گفتنی است پشتیبانی (Win 10 Universal Windows Platform (UWP از Net Standard 2.0. تا پایان سال 2017 حتمی است.
در NET Core 2.0. کارایی بسیار بهبود یافته و علاوه بر موارد قبل، سیستم عامل های زیر نیز تحت پوشش قرار گرفتند:
Debian Stretch
SUSE Linux Enterprise Server 12 SP2
MacOS High Sierra
Fedora 25 & 26
Ubuntu 17.04
Linux Mint 18
در Net Core. جدید همچنین (RyuJIT just-in time compiler (x86 نیز جای داده شده است.
فراموش نکنید Net Core 2. سریعترین ورژن موجود از انواع مختلف ASP.Net است که از ویندوز، مک و لینوکس پشتیبانی میکند؛ و نسخه های جدید Visual Studio به سرعت در حال تطبیق با این نسخه از Net Core. هستند.
از مهمترین تغییرات پیش رو میتوان به ارائه متا پکیج جدید Microsoft.AspNetCore.All اشاره کرد که تمامی خصوصیات ASP.NET Core 2.x و Entity Framework Core 2.x در آن گنجانده شده است. بطوریکه تمپلیتهای پیشفرض پروژهها از این پکیج استفاده کرده و ورژن Microsoft.AspNetCore.All نشاندهندهی ورژن ASP.NET Core و Entity Framework Core میباشد. از اینرو وابستگیهای مورد نیاز Microsoft.AspNetCore.All جهت کدنویسی و توسعه برنامهها، دارای نسخههای جدید یکسان هستند؛ بنابراین پروژه شما با تمامی نسخه های MVC، Razor و … سازگاری خواهد داشت و بروزرسانی بدون نگرانی قابل انجام است.
توجه کنید Microsoft.AspNetCore.All Metapackage تنها مخصوص netcoreapp2.0 به بالا است.
ثبت نظر