مایکروسافت از پلتفرم باز .NET 8 رونمایی کرده است که با یکپارچهسازی .NET Framework، .NET Core و محصولات Mono ایجاد شده است. با .NET 8، میتوانید برنامههای چند پلتفرمی را برای مرورگر، فضای ابری، دسکتاپ، دستگاههای IoT و پلتفرمهای موبایل با استفاده از کتابخانههای یکپارچه و یک فرآیند ساخت مشترک مستقل از نوع برنامه، بسازید. مجموعههای .NET SDK 8، .NET Runtime 8 و ASP.NET Core Runtime 8 برای ... طراحی شدهاند. Linux, macOS и Windows.NET Desktop Runtime 8 فقط برای ... در دسترس است. Windowsتوسعههای این پروژه تحت مجوز MIT توزیع شدهاند. شاخه .NET 8 به عنوان LTS طبقهبندی میشود و به مدت سه سال تا نوامبر ۲۰۲۶ پشتیبانی خواهد شد.
داتنت ۸ شامل یک Runtime با کامپایلر RyuJIT JIT، مشخصات API، کتابخانههای WPF، Windows فرمها، WinUI، Entity Framework، رابط خط فرمان dotnet و همچنین ابزارهایی برای توسعه میکروسرویسها، کتابخانهها، برنامههای سرور، گرافیکی و کنسول. به طور جداگانه، پشته توسعه برنامههای وب ASP.NET Core 8.0، لایه ORM Entity Framework Core 8.0 (درایورها از جمله برای SQLite و PostgreSQL در دسترس هستند) و کتابخانه WPF 8 ( منتشر شدهاند.Windows چارچوب بنیاد ارائه (PF) Windows Forms 8 برای توسعه رابط کاربری گرافیکی (GUI)، پلتفرم Aspire 8 برای ساخت برنامههای Cloud Native، فریمورک MAUI 8 برای توسعه رابطهای کاربری چند پلتفرمی و نسخههای زبانهای C# 12 و F# 8. پشتیبانی از .NET 8.0 و C# 12 در ویرایشگر کد رایگان Visual Studio Code گنجانده شده است.
ویژگی های نسخه جدید:
- بهینه سازی های عمده عملکرد انجام شده است. یک مولد کد جدید که از بهینه سازی پویا بر اساس پروفایل اجرای کد (بهینه سازی هدایت شده با نمایه پویا) پشتیبانی می کند به طور پیش فرض فعال است. استفاده از مولد کد جدید باعث افزایش عملکرد برنامه تا 20٪ می شود. علاوه بر این، نسخه جدید پشتیبانی از دستورالعمل های AVX-512 را اضافه می کند که عملکرد عملیات موازی روی داده های برداری را بهبود می بخشد. برای انواع اولیه، یک رابط جدید پیاده سازی شده است که به شما امکان می دهد مستقیماً داده ها را در قالب UTF-8 بدون کدگذاری مجدد تجزیه و قالب بندی کنید. در تست های TechEmpower، عملکرد با JSON API 18٪ و با Fortunes تا 24٪ افزایش یافت.

- یک پشته جدید دات نت Aspire اضافه شده است که برای توسعه برنامه های کاربردی ابری با استفاده از فناوری های دات نت طراحی شده است. NET Aspire مجموعهای غنی از مؤلفهها را ارائه میکند که ممکن است برای ساخت برنامههایی که در محیطهای ابری اجرا میشوند به آنها نیاز داشته باشید، از جمله ابزارهایی برای جمعآوری تله متری، پیکربندی، آزمایش سلامت و تحمل خطا.
- ابزارهای بستهبندی برنامهها در کانتینرهای ایزوله گسترش یافتهاند. انتشار تصاویر کانتینر بدون Dockerfile و بدون کاربر root اکنون به طور پیشفرض پشتیبانی میشود. اندازه تصویر کانتینر پایه برای اجزای پلتفرم .NET کاهش یافته است. یک تصویر مینیمالیستی برای اجرای برنامههای کامپایل شده به فایلهای اجرایی (Native AOT) اضافه شده است. یک گزینه تصویر مبتنی بر Chiseled با امنیت بیشتر اضافه شده است. Ubuntu.
- کارایی بهبود یافته کامپایل در فایل های اجرایی مستقل (Native AOT)، که در آن کل پروژه در ابتدا بدون استفاده از کد میانی و بدون استفاده از JIT در کد ماشین بومی پلت فرم هدف کامپایل می شود.

- قابلیت های رابط های نرم افزاری قابل استفاده در سیستم های یادگیری ماشینی گسترش یافته است. برای مثال، کتابخانه System.Numerics سازگاری با سیستمهای هوش مصنوعی مولد را افزایش داده است. نمونه هایی برای آگاهی از چت بات، تولید محتوا و دسترسی به خدمات هوش مصنوعی Azure اضافه شده است.
- Blazor، پلتفرمی برای ساخت برنامههای وب در C#، زمان بارگذاری صفحه را کاهش داده، مقیاسپذیری را بهبود بخشیده و امکان استفاده از Blazor Server و Blazor WebAssembly را در یک برنامه واحد برای ایجاد برنامههایی که ویژگیها را با هم ترکیب میکنند، فراهم کرده است. سرور و کلاینت. Jiterpreter، یک زمان اجرای جدید و سریعتر WebAssembly، اضافه شده است که رندر رابط کاربری را 20٪ بهبود میبخشد. قابلیتهای احراز هویت، مجوز و شناسایی گسترش یافتهاند.
- چارچوب MAUI برای توسعه رابطهای کاربری چند پلتفرمی گسترش یافته است و امکان استفاده از یک کد پایه واحد برای ساخت رابطها را فراهم میکند. Windows, macOS، آی او اس و Androidپشتیبانی آزمایشی برای کامپایل (Native AOT) اضافه شد. پشتیبانی از Xcode 15 و ... اضافه شد. Android API 34. عناصر گرافیکی و دکمهها مدرن شدهاند و مدیریت کلیکهای ماوس و رویدادهای صفحهکلید بهبود یافته است.
- سی شارپ 12 برای ایجاد سازنده های اولیه در هر کلاس و ساختاری، پشتیبانی از یک نحو ساده شده را اضافه می کند و همچنین ایجاد آرایه ها، دهانه ها و انواع دیگر مجموعه ها را ساده می کند. ابزارهایی برای تنظیم مقادیر پیش فرض برای پارامترهای بیان لامبدا ارائه می دهد. مدیریت ساده آرگومان های اختیاری. امکان ایجاد نام مستعار از هر نوع با استفاده از دستورالعمل "نام مستعار" اضافه شده است. // یک لیست ایجاد کنید a = [1، 2، 3، 4، 5، 6، 7، 8]؛ // ایجاد آرایه های span Span b = ['a', 'b', 'c', 'd', 'e', 'f', 'h', 'i']; // از عملگر spread برای الحاق int[] array1 = [1, 2, 3] استفاده کنید. int[] array2 = [4, 5, 6]; int[] array3 = [7, 8, 9]; int[] fullArray = [..array1, ..array2, ..array3]; // محتویات [1، 2، 3، 4، 5، 6، 7، 8، 9] خواهد بود.
- ASP.NET Core برای یک صفحه (SPA، برنامه تک صفحه ای) و برنامه های وب (Blazor) از احراز هویت مبتنی بر کوکی و توکن پشتیبانی می کند. یک رابط کاربری جدید برای احراز هویت پیشنهاد شده است. حفاظت بهبود یافته در برابر حملات XSRF/CSRF.
- Entity Framework Core انواع پیچیده جدیدی را ارائه می دهد که می توانند به عنوان اشیا استفاده شوند. پشتیبانی از داده های سلسله مراتبی در SQL Server اضافه شده است.
- مدیر بسته NuGet حسابرسی بسته ها را در پروژه ها ساده می کند و اطلاعاتی در مورد وجود آسیب پذیری های شناخته شده ارائه می دهد.
- .NET Runtime حالت کامپایل پیش از موعد (AOT) را برای WebAssembly (WASM) اضافه میکند. Android.
- WPF یک گفتگوی باز کردن دایرکتوری (OpenFolderDialog) اضافه کرد و پشتیبانی از شتاب سخت افزاری را در RDP فعال کرد.
- بهبود قابل توجهی پشتیبانی از معماری ARM64 و بهبود کیفیت کد برای ARM.
- دیباگر نمایش خلاصه اشکال زدایی و لایه های اشکال زدایی ساده را برای انواع دات نت که معمولاً استفاده می شود ارائه می دهد.
منبع: opennet.ru
