Společnost Microsoft představila novou významnou verzi otevřené platformy .NET 6, vytvořenou díky unifikaci produktů .NET Framework, .NET Core a Mono. Na základě .NET 6 je možné vytvářet multiplatformní aplikace pro prohlížeče, cloudové systémy, desktop, zařízení IoT a mobilní platformy, přičemž se používají jednotné knihovny a společný proces sestavení, nezávisle na typu aplikace. Sestavení .NET SDK 6, .NET Runtime 6 a ASP.NET Core Runtime 6 byla vytvořena pro Linux, macOS a Windows. .NET Desktop Runtime 6 je dodáváno pouze pro Windows. Práce související s projektem se šíří pod licencí MIT.
.NET 6 zahrnuje runtime CoreCLR s JIT kompilátorem RyuJIT, standardní knihovny, knihovny CoreFX, WPF, Windows Forms, WinUI, Entity Framework, příkazový řádek dotnet a také nástroje pro vývoj mikroslužeb, knihoven, serverových, grafických a konzolových aplikací. Samostatně byla publikována sada pro vývoj webových aplikací ASP.NET Core 6.0 a ORM vrstva Entity Framework Core 6.0 (ovladače, včetně pro SQLite a PostgreSQL), stejně jako verze jazyků C# 10 a F# 6. Podpora .NET 6.0 a C# 10 je zahrnuta ve svobodném editoru kódu Visual Studio Code.
Vlastnosti nového vydání:
- Výrazně byla zvýšena výkonnost, včetně optimalizace souborového vstupu/výstupu.
- V jazyce C# 10 byla implementována podpora struktur ve formě záznamů (record struct), direktivy „global using“, a nových možností pro lambda výrazy. Kompilátor nyní zahrnuje podporu pro inkrementální generaci zdrojového kódu.
- V jazyce F# 6 byla přidána podpora mechanismu asynchronního vykonávání úloh async a průběžného ladění.
- Je k dispozici funkce Hot Reload, která poskytuje prostředky pro úpravu kódu za běhu aplikace, což umožňuje změny provádět bez manuálního zastavení běhu a bez připojování bodů zlomu. Vývojář může spustit aplikaci pod řízením „dotnet watch“, po čemž se automaticky aplikují změny v kódu na spuštěnou aplikaci, což umožňuje okamžitě vidět výsledky.
- Byl přidán nástroj „dotnet monitor“ pro přístup k diagnostickým informacím procesu dotnet.
- Byla navržena nová dynamická optimalizační soustava založená na výsledcích profilování kódu (PGO — optimalizace řízená profilem), která umožňuje generovat optimalizovanější kód na základě analýzy charakteristik provádění. Použití PGO zvýšilo výkon sady TechEmpower JSON „MVC“ o 26%.
- V ASP.NET Core byly přidány podpora protokolu HTTP/3 pro HttpClient a gRPC.
- API spojené s formátem JSON bylo rozšířeno. Byl přidán nový generátor kódu System.Text.Json a systém serializace dat ve formátu JSON.
- V Blazor, platformě pro vytváření webových aplikací v jazyce C#, byla přidána podpora pro vykreslování Razor komponent z JavaScriptu a integraci s existujícími JavaScriptovými aplikacemi.
- Byla přidána podpora kompilace .NET kódu do cílového formátu WebAssembly.
- V API File IO byla přidána podpora symbolických odkazů. FileStream byl zcela přepracován.
- Byla přidána podpora knihovny OpenSSL 3 a kryptografických algoritmů ChaCha20/Poly1305.
- V Runtime byly implementovány mechanismy ochrany W^X (Write XOR Execute, zákaz souběžného přístupu pro zápis a výkon) a CET (Control-flow Enforcement Technology, ochrana před vykonáváním exploitů, které využívají techniky orientované na návrat).
- Byla přidána experimentální podpora iOS a Android jako TFM platformy (Target Framework Moniker).
- Byla výrazně zlepšena podpora systémů Arm64. Byla přidána podpora pro zařízení Apple s ARM čipem M1 (Apple Silicon).
- Byl zajištěn proces sestavování .NET SDK z původních textů, což usnadňuje práci na vytváření balíčků s .NET pro distribuce Linux.
Zdroj: opennet.ru
