Microsoft zveřejnil otevřenou platformu .NET 11

Společnost Microsoft představila vydání otevřené platformy .NET 11, která byla vytvořena díky sjednocení produktů .NET Framework, .NET Core a Mono. Na základě .NET 11 je možné vytvářet multiplatformní aplikace pro prohlížeče, cloudové systémy, pracovní plochy, IoT zařízení a mobilní platformy, přičemž lze využívat jednotné knihovny a společný proces sestavení, nezávisle na typu aplikace. Sestavení .NET SDK 11, .NET Runtime 11 a ASP.NET Core Runtime 11 jsou vytvořeny pro Linux, macOS a Windows. .NET Desktop Runtime 11 je dodáván pouze pro Windows. Související práce na projektu se šíří pod licencí MIT.

Součástí .NET je Runtime s JIT kompilátorem RyuJIT, specifikace API, knihovny WPF, Windows Forms, WinUI a Entity Framework, příkazový řádek dotnet, stejně jako nástroje pro vývoj mikroservisů, knihoven, serverových, grafických a konzolových aplikací. Samostatně je dodáván stack pro vývoj webových aplikací ASP.NET Core 11.0, ORM vrstva Entity Framework Core 11.0 (dostupné ovladače zahrnují i SQLite a PostgreSQL), knihovna WPF 11 (Windows Presentation Foundation), framework Windows Forms 11 pro vývoj GUI, platforma Aspire 11 pro vytváření Cloud Native aplikací, framework MAUI 11 pro vývoj multiplatformních uživatelských rozhraní, stejně jako vydání jazyků C# 15 a F# 11. Podpora .NET 11.0 a C# 15 je zahrnuta ve svobodném editoru kódu Visual Studio Code.
V jazyce C# 15 bylo přidáno klíčové slovo union pro deklaraci typu, jehož hodnota může být pouze jedním z předem uvedených typů variant. Proměnné typu union mohou mít přiděleny hodnoty jakéhokoli z povolených typů, a při pokusu o přiřazení hodnoty typu, který nebyl uveden při deklaraci, kompilátor vrátí chybu.

Vlastnosti nového vydání:

  • public record class Cat(string Name);

    public record class Dog(string Name);
    public record class Bird(string Name);
    public union Pet(Cat, Dog, Bird);

    Pro třídy byl navržen modifikátor „closed“, pomocí kterého je možné vytvářet uzavřené hierarchie (closed hierarchy), v nichž je dědění od základní třídy s modifikátorem closed povoleno pouze uvnitř té sestavy, kde byla vyhlášena a při kompilaci je znám celý soubor přímých potomků. Typy union a uzavřené hierarchie zajišťují, že ve konstrukci switch jsou zpracovány všechny možné varianty, což umožňuje obejít se bez větve „default“ a proměnné „_“.

    Pro třídy byl navržen modifikátor „closed“, pomocí kterého je možné vytvářet uzavřené hierarchie (closed hierarchy), v nichž je dědění od základní třídy s modifikátorem closed povoleno pouze uvnitř té sestavy, kde byla vyhlášena, a při kompilaci je znám celý soubor přímých potomků. Typy union a uzavřené hierarchie zajišťují, že ve konstrukci switch jsou zpracovány všechny možné varianty, což umožňuje obejít se bez větve „default“ a proměnné „_“.

    V nové verzi C# byla také přidána podpora přechodu z výrazů „break“ a „continue“ na stanovené značky a rozšířeny experimentální možnosti izolace v unsafe blocích kódu, který přímo manipuluje s pamětí (byla přidána možnost použít unsafe pro jednotlivé výrazy).

  • V jazyce F# 11 bylo sníženo spotřebování paměti kompilátorem a zmenšeno množství operací alokace paměti při práci s kolekcemi FSharp.Core. Byla přidána možnost omezení paralelně prováděných asynchronních úloh, aby se předešlo přetížení. Byla přidána předběžná podpora Runtime Async.
  • V SDK je standardně zahrnuto server MSBuild a předkompilovaná (NativeAOT) varianta CLI nástrojů dotnet.
    Byla zkrácena velikost instalátorů SDK pro Linux a macOS díky deduplikaci sestavení.
  • Byla provedena optimalizace JIT kompilátoru, odstraněny nadbytečné kontroly hranic a větvení, zlepšena devirtualizace a rozšířeno svazování operací na konstanty. V AOT kompilátoru byl nasazen společný zpracovatel volání, který umožnil zmenšení objemu kódu a zvýšení propustnosti při intenzivním přístupu k rozhraním. Pro Linux a macOS bylo implementováno uchovávání trasování zásobníku a informací o modulech při selháních.
  • Byla přidána experimentální mechanismus Runtime Async pro nahrazení generovaného kompilátorem kódu pro zpracování async operací implementací, která řídí pozastavení a obnovení asynchronních operací na úrovni runtime.
  • Do SDK byl přidán šablona serveru MCP pro integraci s nástroji a službami AI. Pro aplikace využívající AI služby byl přidán soubor abstrakcí Microsoft.Extensions.AI (MEAI). Na základě těchto abstrakcí byl vytvořen
    Microsoft Agent Framework (MAF), který lze využít pro vytváření AI agentů.
  • V API Process byly rozšířeny možnosti spuštění procesů se zachycením jejich výstupu a kódů přerušení, stejně jako kontrolou nad zděděnými deskriptory.
  • V API System.IO.Compression byla přidána podpora algoritmu komprese Zstandard.
  • Byly přidány nové adaptéry proudů ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream a StringStream.
  • Došlo k přidání nástroje dotnetup pro instalaci a aktualizaci SDK a runtime.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster