Microsoft bugun .NET Framework, .NET Core va Mono mahsulotlarini birlashtirish orqali yaratilgan ochiq kodli .NET 6 platformasining muhim yangi versiyasini e'lon qildi. .NET 6 yordamida siz brauzer, bulut, ish stoli, IoT qurilmalari va mobil platformalar uchun birlashtirilgan kutubxonalar va dastur turidan mustaqil ravishda umumiy yaratish jarayonidan foydalangan holda platformalararo ilovalar yaratishingiz mumkin. .NET SDK 6, .NET Runtime 6 va ASP.NET Core Runtime 6 yig'ilishlari quyidagilar uchun mo'ljallangan... Linux, macOS и Windows.NET Desktop Runtime 6 faqat quyidagilar uchun mavjud WindowsUshbu loyiha bilan bog'liq ishlar MIT litsenziyasi ostida tarqatiladi.
.NET 6 RyuJIT JIT kompilyatori, standart kutubxonalar, CoreFX kutubxonalari, WPF bilan CoreCLR ish vaqtini o'z ichiga oladi. Windows Forms, WinUI, Entity Framework, dotnet buyruq satri interfeysi va mikroservislar, kutubxonalar, server tomonidagi, grafik va konsol ilovalarini ishlab chiqish uchun vositalar. ASP.NET Core 6.0 veb-ilovalarini ishlab chiqish steki va Entity Framework Core 6.0 ORM qatlami (drayverlar, jumladan, SQLite va PostgreSQL uchun mavjud) C# 10 va F# 6 tillarining versiyalari bilan birga alohida chiqarildi. .NET 6.0 va C# 10 ni qo'llab-quvvatlash ochiq kodli kod muharriri Visual Studio Code tarkibiga kiritilgan.
Yangi nashrning xususiyatlari:
- Ishlash sezilarli darajada yaxshilandi, jumladan fayl kiritish/chiqarish optimallashtirildi.
- C# 10 yozuv tuzilmalarini qo'llab-quvvatlashni, global direktivadan foydalanishni, faylga bog'langan nom maydonlarini va lambda ifodalari uchun yangi xususiyatlarni taqdim etadi. Kompilyatorga qo'shimcha manba kodini yaratishni qo'llab-quvvatlash qo'shildi.
- F# 6 asinxron vazifani bajarish mexanizmini va quvurlarni nosozliklarni tuzatishni qo'llab-quvvatlaydi.
- Dastur ishlayotgan vaqtda kodni tezda tahrirlash vositasini ta'minlaydigan Hot Reload funksiyasi mavjud bo'lib, bajarishni qo'lda to'xtatmasdan yoki to'xtash nuqtalarini biriktirmasdan o'zgartirishlar kiritish imkonini beradi. Ishlab chiquvchi "dotnet watch" ishlaydigan ilovani ishga tushirishi mumkin, shundan so'ng kodga kiritilgan o'zgartirishlar avtomatik ravishda ishlayotgan ilovaga qo'llaniladi, bu esa darhol natijani ko'rish imkonini beradi.
- Dotnet jarayonining diagnostik ma'lumotlariga kirish uchun "dotnet monitor" yordam dasturi qo'shildi.
- Kodni profillash natijalariga asoslangan dinamik optimallashtirishning yangi tizimi (PGO - Profile-guided optimization) taklif qilinmoqda, bu ijro etilish xususiyatlarini tahlil qilish asosida yanada maqbul kodni yaratishga imkon beradi. PGO-dan foydalanish TechEmpower JSON "MVC" to'plamining ishlashini 26% ga yaxshiladi.
- HTTP/3 protokolini qo'llab-quvvatlash ASP.NET Core, HttpClient va gRPC ga qo'shildi.
- JSON formatiga tegishli API kengaytirildi. Yangi System.Text.Json kod generatori va JSON formatidagi maʼlumotlarni ketma-ketlashtirish tizimi qoʻshildi.
- Blazor, C# da veb-ilovalarni yaratish platformasi, JavaScript-dan Razor komponentlarini ko'rsatish va mavjud JavaScript ilovalari bilan integratsiyani qo'llab-quvvatladi.
- .NET kodini WebAssembly ko'rinishida kompilyatsiya qilish uchun qo'shimcha yordam.
- File IO API-ga ramziy havolalarni qo'llab-quvvatlash qo'shildi. To'liq belgilangan FileStream.
- OpenSSL 3 kutubxonasi va ChaCha20/Poly1305 kriptografik algoritmlari uchun qoʻshimcha yordam.
- Runtime W^X (Write XOR Execute, bir vaqtda yozish va bajarishga kirishni taqiqlovchi) va CET (Control-flow Enforcement Technology, qaytishga yo'naltirilgan dasturlash texnikasi yordamida qurilgan ekspluatatsiyalarning bajarilishidan himoya) himoya mexanizmlarini amalga oshiradi.
- iOS va boshqa platformalar uchun eksperimental qo'llab-quvvatlash qo'shildi. Android TFM platformalari sifatida (Target Framework Moniker).
- Arm64 tizimlarini qo'llab-quvvatlash sezilarli darajada yaxshilandi. M1 ARM chipi (Apple Silicon) asosidagi Apple qurilmalari uchun qo'shimcha qo'llab-quvvatlash.
- .NET SDK ni manba kodidan yaratish jarayoni taqdim etildi, bu esa distributivlar uchun .NET paketlarini yaratish ishini soddalashtiradi. Linux.
Manba: opennet.ru
