در این مقاله قصد داریم به صورت خلاصه شما کاربران عزیز را با ویژگی های جدید و مهم معماری معرفی شده ماکروسافت یعنی .Net Core آشنا کنیم. در این معماری ماکروسافت تحول عظیمی در سیاست های قبلی خود ایجاد کرده است که بخشی از ویژگی های مطرح شده در ادامه حاصل سیاست های کلی این کمپانی بزرگ می باشد.
1 - چند سکویی بودن (Cross-platform) و پیشتیبانی از Container
با معرفی .NET Core می توان برنامه ها را برای بستر های ویندوز، لینوکس و سیستم عامل مک توسعه داد. همان طور که توسعه دهندگان قدیمی دات نت می دانند در نسخه های قبلی دات نت این امکان به سبک صحیحی وجود نداشت.
استفاده از Container امروزه در بسترهای ابری بسیار مرسوم شده است. اینکه Container چیست و چه استفاده هایی دارد می توانید به اینجا مراجعه کنید. دو مورد از معروفترین آن ها Docker, Kuberenetes می باشند که توسط ASP.NET Core پشتیبانی می شوند. سرویس Azure ماکروسافت نیز امکان انتشار برنامه ها در Container را به توسعه دهندگان می دهد.
2 - کارایی و سرعت بالا
در توسعه برنامه های نرم افزاری کارایی یکی از اصلی ترین اهداف نهایی می باشد. با معرفی ASP.NET Core و وب سرور Kestrel که بازطراحی دوباره شده است می توان ادعا کرد که بستر معرفی شده یکی از سریع ترین بسترهای موجود توسعه نرم افزار می باشد. اثبات این ادعا با مشاهده Benchmark های معتبر موجود قابل اثبات می باشد. برای دیدن برخی مقایسه های صورت گرفته به اینجا مراجعه کنید.
3 - پشتیبانی بسیار عالی از برنامه نویسی غیرهمزمان(Asynchronous)
با توجه به اینکه اکثر نرم افزارهای بخش زیادی از زمان خود منتظر اتفاق رویدادی برای ادامه کار خود هستند(مانند انتظار برای پاسخ از پایگاه داده) پشتیبانی از برنامه نویسی غیرهمزمان به منظور بدست آوردن کارایی و سرعت بیشتر حائز اهمیت می باشد. ازین رو در ASP.NET Core از الگوی برنامه نویسی غیرهمزمان به وفور استفاده شده است. برای اطلاعات بیشتر به اینجا مراجعه کنید.
4 - ادغام فریم ورک های Web API و MVC
قبل از معرفی ASP.NET Core توسعه دهندگان دات نت مجبور بودند برای استفاده از API کنترلر خود را از ApiController ارث بری کنند ولی بعد از معرفی معماری Core هر دو فریم ورک MVC و Web API باهم ادغام شدند. با توجه به این که فریم ورک MVC همیشه قادر به برگرداندن مقادیر Json می باشد ادغام آن با Web API کار توسعه را ساده تر کرده و مقداری از سربار کدنویسی را کاهش می دهد. برای اطلاعات بیشتر به اینجا مراجعه کنید
5 - استفاده از تزریق وابستگی بصورت built in
یکی از ویژگی های جدید معرفی شده در معماری .NET Core استفاده از تزریق وابستگی (dependency injection) به صورت توکار می باشد. تا قبل از معرفی .NET Core برای پیاده سازی این الگو می بایست از یک فریم ورک مانند Autofac, Ninject, StructureMap استفاد می شد ولی ASP.NET Core شما می توانید این کار را با پیکربندی متد Startup.ConfigureServices انجام دهید. جهت توضیحات بیشتر به اینجا مراجعه کنید.
در پایان لازمه بگم چند ویژگی مطرح شده فقط تعدادی از وِیژگی های مهم در معماری معرفی شده ماکروسافت هست که بصورت کاملا خلاصه و گذرا بیان شدند. برای دیدن جزییات مباحث معرفی شده کافیه هر مفهومی براتون نا آشنا بود در لینک های قرار گرفته داخل مقاله استفاده کنید.