10ویژگی برتر و جدید ASP.NET Core 2.0

چهارشنبه 25 بهمن 1396

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

10ویژگی برتر و جدید ASP.NET Core 2.0

همانگونه که در مایکروسافت بیان شده، اکنون.NET را می توان در یک خط به صورت زیر توضیح داد:

رایگان، قابل استفاده در چند پلت فرم (Cross-Platform)، پلت فرمی طراح است که برای ساخت انواع اپلیکیشن ها کاربرد دارد.

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

به تازگی مایکروسافت نسخه جدیدی از ASP.NET Core را همراه با .NET Core  معرفی کرده است. این نسخه ASP.NET Core 2.0 نام دارد و دارای ویژگی های جدید و جالبی است. این ویژگی ها نه تنها عملکرد آن را بهبود داده اند بلکه باعث افزایش بهره وری آن شده و اپلیکیشن شما را قدرتمند تر و قابل اطمینان تر می سازند. من برای اشتراک گذاری ویژگی های  ASP.NET Core 2.0 بسیار هیجان زده هستم.

می توانید  ASP.NET Core 2.0 را همراه با نسخه 15.3 Visual Studio 2017 استفاده کنید. می توانید با دانلود.NET Core SDK 2.0 از ویژگی های این نرم افزار بهره ببرید. Asp.NET Core 2.0 دارای ویژگی های جدیدی است. در اینجا همه ویژگی های این برنامه بیان نمی گردد اما سعی شده تا 10 ویژگی برتر و جدید ASP.NET Core 2.0 ارائه گردند.

عملکرد و کارآیی

اکنون این برنامه بسیار سریع تر از نسخه ASP.NET Core 1.x است. این نسخه تقریبا 20 % از نسخه قبلی سریع تر است. با استفاده از لینک زیر میتوانید این موضوع را در  techempower.comبررسی کنید. با سرچ کردن عبارت «aspnetcore» در این وب سایت می توانید نتایج را مشاهده کنید.

https://www.techempower.com/benchmarks/previews/round15/r14-vs-r15p3.html

حداقل کد

باید چند خط کد را برای رسیدن به همان کار بنویسیم. به عنوان مثال اکنون احراز هویت با استفاده از چند خط کد بسیار ساده انجام می شود. زمانی که در مورد کلاس Program.cs صحبت می کنیم، ASP.NET Core 2.0  در مقایسه با نسخه های قبلی دارای حداقل کد می باشد. در نسخه اولیه ASP.NET Core، باید همه چیز را در متد main مانند وب سرور شما «Kestrel» ، پوشه کنونی تان(current directory) نصب کنیم. اگر تمایل به استفاده از IIS دارید، باید بتوانید به خوبی IIS را با این برنامه ادغام کنید. اما در ASP.NET Core 2.0، نیازی نیست نگران این موارد باشید، این کارها به صورت اتوماتیک با استفاده از متد CreateDefaultBuilder  انجام می شود تا همه چیز نصب گردد.

صفحه Razor

در ASP.NETCore 2.0، صفحه Razor به منظور ایجاد صفحات دینامیک برای وب اپلیکیشن معرفی شده است. با استفاده از صفحات Razor می توانیم برنامه هایی ساده و قدرتمند همراه با ویژگی های ریزور مانند Layout Pages, Tag Helpers, Partials Pages, Templates بسازیم؛ همچنین با استفاده از ویژگی های ASP.NET مانند کدcode behin و غیره نیز می توان این برنامه ها را ایجاد کرد و بهبود داد. صفحات Razor از الگوهای استاندارد MVC  پیروی می کنند. در اینجا انواع مختلف دستورالعمل ها مانند  @page, @model, @namespace, @usingرااستفاده نمودیم. در صفحه نمایش (view page) و صفحه code behind مربوط به آن از کلاس Page Model که یک کلاس اصلی(base) است ارث بری شده است.

صفحه Razor به بیان ساده، نمایشی مربوط به کلاس code behind است که از کلاس Page Model ارث برده که آن خود یک کلاس ابسترکت در «Microsoft.AspNetCore.Mvc.RazorPages» می باشد. این برنامه از کنترلر برای نمایش (view) [.cshtml] آنطور که ما در MVC استفاده می کردیم، استفاده نمی کند بلکه code behind به خودی خود کار کنترلر را انجام می دهد. این صفحات [.cshtml] در  Pages folder قرار داده نمی شوند.

زمانی که می خواهید صفحات ریزور(Razor Pages) را در Asp.NET Core 2.0 بسازید، قالب web application را انتخاب کنید.

Meta Packages and Runtime Store

ASP.NETCore 2.0 به همراه پکیج “Microsoft.AspNetCore.All”  که یک متا پکیچ برای تمام وابستگی هایی که در هنگام ایجاد اپلیکیشن های  ASP.NET Core 2.0 مورد نیاز هستند، عرضه شد. این بدان معنی است که وقتی یکبار شما آن را اینکلود کردید دیگر نیازی به اینکلود کردن دیگر پکیج ها ندارید به این دلیل که پکیج “Microsoft.AspNetCore.All” از .NET Runtime Core Store که همه ی پکیج های runtime را شامل میشود و برای ASP.NET Core نیاز است ، پشتیبانی میکند

در این عکس شما میتوانید تنها رفرنسی که اضافه شده است یعنی “Microsoft.AspNetCore.All” با ورژن 2.0.5 را ببینید  همان طور که گفته شد این متا پکیج همه ی نیاز های دیگر پکیج ها را برطرف میکند.

پس شما دیگر نیازی به اضافه کردن پکیج دیگری از خارج ندارید با این متا پکیج همه چیز را در اختیار داریم و دیگر شما نیازی به نگهداری از پکیج های مختلف با ورژن های مختلف ندارید، شما اینجا فقط یک ورژن دارید و آن 2.0.5  یا 2.x.x است.

اگر شما مانند عکس زیر روی فلش کوچک کنار آن کلیک کنید تا محتویات داخل ان را ببینید.متوجه میشوید که قبلا همه ی پکیج های مربوطه به این متا پکیج ارجاع داده شده اند.

.NETStandard 2.0

  .NETStandardیک گروهی از API ها که توسط .NET Framework  پشتیبانی میشوند میباشد. .NET Standard 2.0 در مقایسه با ورژن های قبلی از بسیاری از API ها پشتیبانی میکند.

.NETStandard 2.0 بیشتر از 3200 ، API پشتیبانی میکند.

به غیر از موارد استثنائی ، .NETStandard 2.0 از حدود 70% ، API هایی که در حال حاضر دارند استفاده میشوند و یا می توانند با .NET Framework استفاده شوند ، پشتیبانی میکند.

برای مثال .NETStandard از ویژگی Logging با استفاده از Log4Net پشتیبانی نمی کند ، پس ما نمیتوانیم از ان در ASP.NET Core استفاده کنیم اما در2.0 .NET Standard  این ویژگی وجود دارد. ما می توانیم بسیاری از ویژگی هایی که بخشی از NET Framework. هستند استفاده کنیم  ، اما ما از آن در ASP.NET Core با NET Standard 1.x. استفاده نکردیم. ما میتوانیم از NET Framework. به همراه NET Standar 2.0. استفاده کنیم.

برای اطلاعات بیشتر مقاله ی زیر را بخوانید

https://docs.microsoft.com/en-us/dotnet/standard/whats-new/whats-new-in-dotnet-standard?tabs=csharp

SPA Template

ASP.NET Core 2.0 به همراه قالب جدید SPA که می تواند با آخرین ورژن Angular 4 ، React.js ,  و Knockout.js با Redux استفاده شود ، عرضه شد .

به طور پیش فرض Angular 4 و React با تمام صفحات مورد نیاز پیاده سازی شده است . زمانی که ما یک اپلیکیشن با استفاده از قالب SPA ایجاد میکنیم سپس همه ی پکیج های مورد نیاز با استفاده از NPM بصورت اتوماتیک نصب می شوند

شما دیگر نیازی به پکیج های انگولار و تایپ اسکریپت ندارید ، چون همه ی پکیج هایی را که نیاز است  نصب شده و به شما پروژه آماده میدهد تا کد زنی خود را شروع کنید

Sys

پکیج های “Microsoft.AspNetCore.Server.WebListener” و“Microsoft.NET.Http.Server”  در یک پکیج ادغام شده اند و در پکیج  Microsoft.AspNetCore.Server.HttpSys قرار گرفته اند و نام آن به  Microsoft.AspNetCore.Server.HttpSys آپدیت شده است . پس از الان بجای پیاده سازی 2 پکیج ، فقط همین یک پکیج را پیاده سازی می کنیم.

Razor View Engine with Roslyn

ASP.NET Core 2.0 توسط کامپایلر Roslyn پشتیبانی میشود و همچنین از ویژگیهای سی شارپ 7.1 پشتیبانی میکند.

پس ، ما می توانیم از کامپایلر Roslyn در برنامه های ASP.NET Core MVC با Razor View Engine بهره ببریم.

Visual Basic پشتیبانی

در این عرضه جدید ASP.NET Core 2.0 ، ویژوال بیسیک یک بخشی از زبان برنامه نویسی .NET Core می باشد.الان ما می توانیم انواع مختلف اپلیکیشن ها را با استفاده از کد ویژوال بیسیک بسازیم.

Output from ASP.NET Core Web Server

در پنجره ی خروجی ، ما می توانیم برنامه ی خود را با استفاده از گزینه ASP.NET Core Web Server ، تریس (trace) کنیم . این ویژگی به ما نشان خواهد داد که به چه نحوی برنامه ی ما  بالا می آید و چگونه در browser رندر می شود. همه ی اطلاعات از استارت شدن تا رندر شدن به شما داده می شود.

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید