Spoločnosť Microsoft predstavila novú významnú verziu otvorenej platformy .NET 6, vytvorenej zlúčením produktov .NET Framework, .NET Core a Mono. Na základe .NET 6 je možné vytvárať multiplatformové aplikácie pre prehliadače, cloudové systémy, pracovné plochy, IoT zariadenia a mobilné platformy, pričom sa využívajú rovnaké knižnice a spoločný proces zostavovania, ktorý nie je závislý od typu aplikácie. Zostavy .NET SDK 6, .NET Runtime 6 a ASP.NET Core Runtime 6 sú vytvorené pre Linux, macOS a Windows. .NET Desktop Runtime 6 je k dispozícii iba pre Windows. Súvisiace výstupy projektu sa šíria pod licenciou MIT.
.NET 6 obsahuje runtime CoreCLR s JIT kompilátorom RyuJIT, štandardné knižnice, knižnice CoreFX, WPF, Windows Forms, WinUI, Entity Framework, príkazový riadok dotnet, ako aj nástroje na vývoj mikroservisov, knižníc, serverových, grafických a konzolových aplikácií. Samostatne sú publikované stacky na vývoj webových aplikácií ASP.NET Core 6.0 a ORM vrstva Entity Framework Core 6.0 (ovládače vrátane tých pre SQLite a PostgreSQL), ako aj vydania jazykov C# 10 a F# 6. Podpora .NET 6.0 a C# 10 je zahrnutá v bezplatnom editore kódu Visual Studio Code.
Funkcie nového vydania:
- Výrazne sa zvýšil výkon, vrátane optimalizácie vstupu/výstupu súborov.
- V jazyku C# 10 sa implementovala podpora štruktúr vo forme záznamov (record struct), direktív "global using", viazaných na súbory priestoru názvov a nové možnosti pre lambda výrazy. Do kompilátora bola pridaná podpora inkrementálnej generácie zdrojového kódu.
- V jazyku F# 6 sa objavila podpora mechanizmu asynchrónneho vykonávania úloh async a potrubnej ladenia.
- K dispozícii je funkcia Hot Reload, ktorá poskytuje prostriedky na úpravu kódu za behu programu, čo umožňuje robiť zmeny bez manuálneho zastavenia vykonávania a bez pripojenia bodov zastavenia. Vývojár môže spustiť aplikáciu pomocou "dotnet watch", po čom sa zmeny v kóde automaticky aplikujú na bežiacu aplikáciu, čo umožňuje okamžite vidieť výsledok.
- Pridaná utilita "dotnet monitor" na prístup k diagnostickým informáciám procesu dotnet.
- Navrhnutý nový systém dynamickej optimalizácie založený na výsledkoch profilovania kódu (PGO – Optimalizácia riadená profilom), ktorý umožňuje generovať optimálnejší kód na základe analýzy charakteristík vykonávania. Použitie PGO umožnilo zvýšiť výkon súboru TechEmpower JSON „MVC“ o 26%.
- V ASP.NET Core bola pridaná podpora protokolu HTTP/3 pre HttpClient a gRPC.
- API súvisiace s formátom JSON bolo rozšírené. Pridaný nový generátor kódu System.Text.Json a systém serializácie dát vo formáte JSON.
- V Blazor, platforme pre tvorbu webových aplikácií v jazyku C#, bola pridaná podpora renderovania Razor komponentov z JavaScriptu a integrácia s existujúcimi JavaScript aplikáciami.
- Bola pridaná podpora pre kompiláciu .NET kódu do formátu WebAssembly.
- API File IO bolo rozšírené o podporu symbolických odkazov. FileStream bol úplne prepísaný.
- Pridaná podpora pre knižnicu OpenSSL 3 a kryptografické algoritmy ChaCha20/Poly1305.
- V Runtime boli implementované mechanizmy ochrany W^X (Write XOR Execute, zákaz súčasného prístupu na zápis a vykonávanie) a CET (Ochrana toku vykonávania, ochrana pred vykonávaním exploitov vytvorených pomocou metód návratovo orientovaného programovania).
- Bola pridaná experimentálna podpora pre iOS a Android ako TFM platformy (Cieľový framework moniker).
- Podpora systémov Arm64 bola výrazne vylepšená. Pridaná podpora pre zariadenia Apple založené na ARM čipe M1 (Apple Silicon).
- Bol zabezpečený proces zostavenia .NET SDK z pôvodných textov, čo uľahčuje prácu na formovaní balíkov s .NET pre distribúcie Linuxu.
Zdroj: opennet.ru
