Microsoft.NET 6 دوره جدیدی از توسعه برنامه های کاربردی و مدرن برای وب، ابر، دسکتاپ و دستگاه های تلفن همراه را نشان می دهد. این چیزی است که جدید است.
Microsoft.NET 6 نقطه اوج اتحاد دات نت است که با .NET 5 آغاز شد. یکپارچه سازی SDK و زمان اجرا برای برنامه های دسکتاپ، موبایل، وب و ابر.
مایکروسافت .NET 6 را به طور کلی در ۹ نوامبر ۲۰۲۱ در کنار C# 10 و Visual Studio 2022 در دسترس قرار داد. NET 6 علاوه بر بهبود کلی تجربه توسعه دهندگان، عملکرد قابل توجهی را در مقایسه با همتایان قبلی خود افزایش می دهد. در واقع، دات نت ۶ سریع ترین دات نت تا کنون است. این همچنین یک نسخه پشتیبانی طولانی مدت (LTS) است، به این معنی که مایکروسافت به مدت سه سال از NET 6 پشتیبانی خواهد کرد.
ناگفته نماند که قبل از اینکه بتوانید از مزایای کامل آن ها استفاده کنید، باید ویژگی های جدید دات نت ۶ را درک کنید. این مقاله در مورد چیزهای جدید .NET 6 و معنای پیشرفت به عنوان یک توسعه دهنده C# 10 بحث می کند. میتوانید یک نسخه از .NET 6.0 را برای Windows، Linux و macOS بارگیری کنید. p>
توجه داشته باشید که .NET 6 در Visual Studio 2022 و Visual Studio 2022 برای Mac پشتیبانی می شود. با این حال، دات نت ۶ با ویژوال استودیو ۲۰۱۹، ویژوال استودیو برای مک ۸ یا MSBuild 16 سازگار نیست. اگر می خواهید از دات نت ۶ استفاده کنید، باید به Visual Studio 2022 ارتقا دهید. می توانید Visual Studio 2022 را از اینجا دانلود کنید.
یک پلت فرم .NET یکپارچه و توسعه یافته
.NET 6 یک پلتفرم یکپارچه برای برنامه های دسکتاپ، موبایل، وب، ابر و اینترنت اشیا ارائه می دهد. پلتفرم زیربنایی از انواع مختلف برنامه ها پشتیبانی می کند و استفاده مجدد از کد را در همه برنامه ها ساده می کند. ویژگیها و پیشرفتهای جدیدی معرفی شدهاند تا اطمینان حاصل شود که اجرای کد در فضای ابری، روی دسکتاپ یا روی دستگاه تلفن همراه همه به یک شکل عمل میکنند.
یکی از جذابترین پیشرفتها، رابط کاربری برنامه چند پلتفرمی دات نت (NET MAUI) است. اکنون میتوانید کدی بنویسید که تجربهای از اپلیکیشن مشتری مدرن را در سیستمهای عامل دسکتاپ و موبایل در یک پروژه فراهم میکند. .NET MAUI در ماه مه در دسترس عموم قرار گرفت.
توجه داشته باشید که نه .NET 5 و نه .NET 6 جایگزینی برای .NET Framework قدیمی نیستند. مایکروسافت هیچ برنامهای برای پورت فرمهای وب، Windows Communication Foundation (WCF) یا Windows Workflow Foundation (WF) از .NET Framework به .NET .NET 5 یا .NET 6 ندارد. با این حال، جایگزینهای پشتیبانی شده برای هر یک از این فناوریها مطابق شکل زیر وجود دارد. .
- فرم های وب را می توان با ASP.NET Core Blazor یا Razor Pages جایگزین کرد.
- Windows Communication Foundation (WCF) را می توان با gRPC جایگزین کرد.
- Windows Workflow Foundation (WF) را می توان با CoreWF منبع باز جایگزین کرد.
چیزهای جدید در NET 6
بیایید اکنون به ویژگیها و پیشرفتهای جدید در NET 6 نگاهی بیندازیم.
بهبود عملکرد
عملکرد به طور قابل توجهی بهبود یافته است، به خصوص برای فایل ورودی/خروجی، که منجر به کاهش زمان اجرا، تأخیر و استفاده از حافظه می شود. کلاس FileStream دوباره نوشته شده است تا عملکرد ورودی/خروجی فایل غیرهمگام را بهبود بخشد. پیاده سازی در ویندوز دیگر از API های مسدود کننده استفاده نمی کند، که باعث می شود چندین برابر سریعتر شود.
کامپایلر Just in Time (JIT) به روز شده است. در زباله جمع کن نیز پیشرفت هایی صورت گرفته است. انواع سیستم مانند Guid و string به طور قابل توجهی بهبود یافته اند.
بهینه سازی با هدایت نمایه
بهینهسازی هدایتشده نمایه (PGO) یک تکنیک بهینهسازی کامپایلر و ویژگی جدیدی است که در NET 6 معرفی شده است که به کامپایلر JIT اجازه میدهد کد بهینهسازی شده را با توجه به انواع و کدهایی که اغلب استفاده میشوند تولید کند.
پشتیبانی از پلتفرم یکپارچه
کار مایکروسافت برای ایجاد یک پلتفرم یکپارچه برای برنامههای NET با .NET 5 آغاز شد. ایده این بود که یک پلتفرم یکسان برای توسعه برنامههایی که میتوانند بر روی هر دستگاه و هر سیستم عاملی اجرا شوند، فراهم کند. بنابراین همه برنامههای NET 6، در مرورگرهای وب، دسکتاپ، ابر، اینترنت اشیا و دستگاههای تلفن همراه، از کتابخانههای NET.
استفاده میکنند.
APIهای جدید معرفی شدند
APIهای جدیدی برای HTTP/3، JSON، ریاضیات و موارد دیگر اضافه شده است.
بهبودهای امنیتی
بهبودهای قابل توجهی در امنیت، مانند پشتیبانی از طرح رمزگذاری ChaCha20Poly1305، OpenSSL، و کاهش زمان اجرا “دفاع در عمق” صورت گرفته است.
بهبودهای C# 10 و F# 6
پیشرفت های قابل توجه در C# 10 شامل معرفی قابلیت های جدید لامبدا، ساختارهای ضبط و استفاده ضمنی است. بهبودهایی در F# 6 نیز وجود دارد که شامل اشکال زدایی خط لوله و همگام سازی مبتنی بر وظیفه می شود.
بهبودها در JSON API
بهبودهای APIهای JSON قابلیتهای بیشتر و عملکرد بهتری را به همراه دارد. یک منبع مولد جدید برای System.Text.Json معرفی شده است که نیاز به بازتاب زمان اجرا و ایجاد کد را از بین می برد و امکان تولید کد سریال مناسب را در زمان ساخت فراهم می کند.
بهبودهایی در تشخیص ابر
تشخیص ابر با اضافه شدن OpenTelemetry و مانیتور dotnet که در حال حاضر در حال تولید هستند و با سرویس Azure App قابل دسترسی هستند، بهبود یافته است.
بهبود کیفیت کد
ژنراتورها و تحلیلگرهای منبع برای کمک به شما در نوشتن کد بهتر، ایمنتر و سریعتر معرفی شدهاند.
بارگذاری مجدد داغ
Hot Reload یکی از بارزترین ویژگی های جدید اضافه شده در NET 6 است. شما می توانید از این ویژگی برای تغییر رابط کاربری زمانی که برنامه شما در حال اجرا است استفاده کنید. شما می توانید به محض ذخیره تغییرات منعکس شده را مشاهده کنید—نیازی به راه اندازی مجدد برنامه ندارید. این ویژگی بهره وری توسعه دهندگان را به میزان قابل توجهی افزایش می دهد.
ساختارهای DateOnly و TimeOnly
این یک ویژگی مورد انتظار در دات نت است. اکنون می توانید مقادیری را برای یک شی که فقط یک تاریخ یا یک زمان است تنظیم کنید. در زیر چند مثال وجود دارد که نشان می دهد چگونه می توانید از ساختارهای DateOnly و TimeOnly استفاده کنید.
var dateNow = new DateOnly(2021, 11, 17);
var newDate = dateNow.AddDays(7);
var timeNow = new TimeOnly(12, 0, 0);
var newTimeNow = timeNow.AddHours(5);
پشتیبانی از جریان ناهمگام
با NET 6، اکنون با استفاده از IAsyncEnumerable
هدفگیری .NET 6
هنگامی که یک برنامه .NET 6 جدید در ویژوال استودیو ۲۰۲۲ ایجاد می کنید، گره TargetFramework باید به .NET 6 مراجعه کند. یک فایل csproj. معمولی ایجاد شده در NET 6 به این صورت خواهد بود:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
اگر سیستم عامل خاصی را هدف قرار میدهید، میتوانید طعم NET 6 را نیز مشخص کنید:
- net6.0-android
- net6.0-ios
- net6.0-maccatalyst
- net6.0-tvos
- net6.0-windows
چه چیزی در .NET 6 کم است؟
توجه داشته باشید که برخی از فناوریها در .NET 5 حذف شدهاند. بنابراین، آنها بخشی از NET 6 نیز نیستند. این موارد شامل موارد زیر است:
- فرم های وب ASP.NET. فرم های وب قدیمی ASP.NET دیگر پشتیبانی نمی شود. ممکن است بخواهید به جای آن از Blazor، Angular یا React استفاده کنید.
- بنیاد ارتباطات ویندوز (WCF). مایکروسافت قصد داشت WCF را به اکوسیستم دات نت بازگرداند، اما پس از تعیین اینکه انجام آن حدود سه سال طول می کشد، این ایده را کنار گذاشت. مایکروسافت استفاده از gRPC، چارچوب RPC منبع باز گوگل را به عنوان جایگزین توصیه می کند. (برای راهنمایی، مقاله من را اینجا ببینید.)
- Windows Workflow Foundation (WWF). WWF، یک چارچوب گردش کار که سالها مورد استفاده قرار گرفته است، از داتنت نیز حذف شده است.
برنامه انتشار دات نت
پس از انتشار دات نت ۵، مایکروسافت قول داد که نسخه جدیدی از دات نت را در نوامبر هر سال ارائه کند. جدول زیر برنامه زمانبندی انتشار دات نت را فهرست می کند.
خط زمانی | نسخه NET |
---|---|
NET Core 3.0 RC |
ژوئیه ۲۰۱۹ |
NET Core 3.0 GA |
سپتامبر ۲۰۱۹ |
.NET Core 3.1 LTS |
نوامبر ۲۰۱۹ |
.NET 5 GA |
نوامبر ۲۰۲۰ |
.NET 6 LTS |
نوامبر ۲۰۲۱ |
.NET 7 GA |
نوامبر ۲۰۲۲ |
.NET 8 LTS |
نوامبر ۲۰۲۳ |
NET Core 3.0 RC
ژوئیه ۲۰۱۹
NET Core 3.0 GA
سپتامبر ۲۰۱۹
.NET Core 3.1 LTS
نوامبر ۲۰۱۹
.NET 5 GA
نوامبر ۲۰۲۰
.NET 6 LTS
نوامبر ۲۰۲۱
.NET 7 GA
نوامبر ۲۰۲۲
.NET 8 LTS
نوامبر ۲۰۲۳
.NET Framework پس از انتشار .NET 5 منسوخ شد. این بدان معناست که همچنان می توانید از دات نت فریم ورک در نسخه های ویندوزی که از آن پشتیبانی می کنند استفاده کنید. با این حال، با کوتاه کردن چرخه عمر سیستم عامل های مایکروسافت، می توانید به راحتی از نسخه ویندوزی استفاده کنید که پایان عمر آن قبلاً رسیده است.
مایکروسافت پشتیبانی طولانی مدت برای دات نت ۶ ارائه می دهد. لازم به ذکر است که نسخه های LTS معمولاً برای مدت سه سال از تاریخ انتشار پشتیبانی می شوند. بنابراین، مایکروسافت قصد دارد تا نوامبر ۲۰۲۴ از NET 6 پشتیبانی کند. نسخه بعدی LTS، .NET 8، در نوامبر ۲۰۲۳ ارائه می شود.
دوران جدید توسعه دات نت
از زمان اجرا بهتر، سریعتر و یکپارچه گرفته تا تجربه توسعهدهنده بهبودیافته، مزایای گسترده .NET 6 آن را به مهمترین نسخه در اکوسیستم NET از زمان NET 4 تبدیل کرده است. NET 6 هر دو سریعترین NET است. با این حال، با ردپای کمتر و مصرف کمتر منابع، و سازگارترین با توسعهدهندگان، با بسیاری از پیشرفتهای زبانی و ویژگیهایی مانند Hot Reload.
مهمتر از همه، NET 6 ما را گام بزرگی به سوی تسهیل توسعه برنامه های کاربردی چند پلتفرمی بردارد. این یک چارچوب چند پلتفرمی است که به شما امکان میدهد برنامههای بومی تلفن همراه و دسکتاپ برای Android، iOS، macOS و Windows ایجاد کنید، بدون اینکه نیازی به نگهداری چندین پایگاه کد برای پشتیبانی از همه این پلتفرمهای مختلف داشته باشید.
Microsoft.NET 6 نه تنها پایه جدیدی را برای همه پلتفرمهای .NET آینده ایجاد میکند. این دوره جدیدی از توسعه برنامه های کاربردی و مدرن برای سیستم عامل ها و معماری های متعدد در دات نت را نشان می دهد. با یک پلتفرم یکپارچه، بلوغ زبانی بهتر و ابزارهای توسعهدهنده بهبودیافته، NET 6 به خوبی پلتفرم پیشفرض توسعه مایکروسافت برای سالهای آینده خواهد بود.
پست های مرتبط
بهترین ویژگی های جدید در دات نت ۶
بهترین ویژگی های جدید در دات نت ۶
بهترین ویژگی های جدید در دات نت ۶