Microsoft zveřejnil otevřenou platformu .NET 7

Společnost Microsoft představila významné vydání otevřené platformy .NET 7, která vznikla díky unifikaci produktů .NET Framework, .NET Core a Mono. Na základě .NET 7 lze vytvářet multiplatformní aplikace pro prohlížeče, cloudové systémy, desktop, zařízení IoT a mobilní platformy pomocí jednotných knihoven a společného procesu sestavení, který není závislý na typu aplikace. Sestavení .NET SDK 7, .NET Runtime 7 a ASP.NET Core Runtime 7 jsou dostupná pro Linux, macOS a Windows. .NET Desktop Runtime 6 je dodáván pouze pro Windows. Související projekční výstupy se šíří pod licencí MIT. Podpora větve .NET 7 bude zajišťována po dobu 18 měsíců do 14. května 2024.

.NET 7 obsahuje runtime CoreCLR s JIT kompilátorem RyuJIT, standardní knihovny, knihovny CoreFX, WPF, Windows Forms, WinUI, Entity Framework, rozhraní příkazového řádku dotnet a také nástroje pro vývoj mikroslužeb, knihoven, serverových, grafických a konzolových aplikací. Samostatně byly zveřejněny stack pro vývoj webových aplikací ASP.NET Core 7.0, ORM vrstvy Entity Framework Core 7.0 (ovladače jsou k dispozici včetně SQLite a PostgreSQL), knihovna WPF 7 (Windows Presentation Foundation), framework Windows Forms 7 pro vývoj GUI, platforma Orleans 7 pro vývoj aplikací Cloud Native, framework MAUI 7 pro vývoj multiplatformních uživatelských rozhraní a také vydání jazyků C# 11 a F# 7. Podpora .NET 7.0 a C# 11 je zahrnuta ve volném editoru kódu Visual Studio Code.

Vlastnosti nového vydání:

  • Byla provedena unifikace základní knihovny tříd (BCL, Base Class Library) pro použití v různých typech aplikací, včetně programů pro desktop, webových aplikací, cloudových platforem, mobilních aplikací, her, vestavěných programů a systémů strojového učení. Pro vývoj různých typů aplikací lze použít jeden společný SDK, runtime a sadu knihoven.
  • Byla poskytnuta možnost vazby aplikace na API odpovídající vydání .NET 7 prostřednictvím definice cílové platformy "net7.0", například "net7.0". Pro vazbu na specifická API pro určité platformy je možné při definici cíle podrobněji specifikovat typ platformy, například uvedením "net7.0-android".
  • Byla výrazně zlepšena podpora architektury ARM64 a pokračuje práce na dosažení paritní výkonnosti aplikací .NET při spuštění na architekturách x86 a ARM64. V runtime bylo zvýšeno využití třetí úrovně mezipaměti na systémech ARM64. Byly použity instrukce LSE pro oddělení přístupu k paměti z paralelních vláken, což vedlo k snížení latencí o 45 %. Do knihovny byly přidány zpracovatele využívající vektorové typy Vector64, Vector128 a Vector256, a funkce EncodeToUtf8 a DecodeFromUtf8 byly přepracovány na základě vektorových instrukcí, což zajistilo zvýšení jejich výkonnosti až o 60 % (u funkcí NarrowUtf16ToAscii a GetIndexOfFirstNonAsciiChar výkon vzrostl o 35 %). Celkově se rychlost testování na platformě ARM64 zvýšila o 10-60 %.
    Microsoft zveřejnil otevřenou platformu .NET 7
  • Byla zlepšena podpora platformy Linux, včetně přidání balíčků .NET 6 do standardních repozitářů Ubuntu 22.04 a poskytnutí optimalizovaného, kompaktního a připraveného docker obrazu pro rychlé nasazení kontejnerů s aplikacemi založenými na .NET.
  • Byla přidána podpora 64bitové architektury IBM Power (ppc64le).
  • Byl představen nástroj .NET Upgrade Assistant pro zjednodušení migrace starých aplikací na větve .NET 6 nebo .NET 7. V nové verzi byla rozšířena podpora migrace aplikací z ASP.NET na ASP.NET Core, přidány analyzátory a opravovače kódu pro WinForms, WPF a knihovny tříd, byla implementována podpora analýzy spustitelných souborů a podpora platformy UWP (Universal Windows Platform).
  • Byly rozšířeny možnosti pro vývoj aplikací pro cloudové systémy (cloud-native) a platformy PaaS (platforma jako služba). Byla zajištěna možnost vytváření aplikací zabalených do izolovaných kontejnerů pomocí příkazového nástroje „dotnet publish“.
  • Byly rozšířeny nástroje pro sledování stavu aplikací a shromažďování metrik o jejich výkonu. Byly přidány nové události a metody pro analýzu aktivity a výkonnosti aplikace.
  • V jazyce C# 11 byla přidána podpora pro nezpracované řetězcové literály, které mohou zahrnovat speciální znaky bez nutnosti jejich escapování (takové literály jsou vymezeny třemi uvozovkami). Byly navrženy generické rozhraní pro matematické funkce a poskytla se možnost definovat statické prvky ve virtuálních rozhraních, což umožnilo aplikaci metod generického programování na provádění matematických operací bez přesných informací o typech hodnot.
  • Byly rozšířeny možnosti standardní knihovny. Přidán API System.Formats.Tar pro práci s archivy ve formátu Tar. V funkcích pro práci s časem (TimeStamp, DateTime atd.) byla přidána podpora pro mikrosekundy a nanosekundy. V System.Text.Json byla implementována možnost řídit serializaci a deserializaci typů .NET.
  • Do rozhraní příkazové řádky „dotnet new“ byla přidána podpora automatického doplňování šablon typových projektů stisknutím klávesy Tab.
  • V .NET SDK byla implementována možnost omezení uplatnění dodávaných šablon projektů, například je možné definovat, v jakých operačních systémech je přípustná šablona.
  • V NuGet byl přidán režim centralizovaného řízení balíčků, který umožňuje spravovat závislosti najednou pro několik projektů.
  • Byl zvýšen výkon JIT kompilátoru. Byla přidána podpora mechanismu OSR (On Stack Replacement) pro změnu kódu již prováděných metod, což umožňuje optimalizace metod, jejichž vykonávání trvá dlouho, aniž by se čekalo na dokončení aktuálního volání (v testu TechEmpower je zaznamenáno zvýšení výkonu zpracování prvních požadavků o 10-30 %).
  • Byla zvýšena účinnost optimalizace na základě výsledků profilování kódu (PGO — Profile-guided optimization), která umožňuje zohlednění vlastností definovaných během běhu programu.
  • Byla přidána podpora pro kompilaci do samostatných spustitelných souborů (Native AOT), ve kterých je celý projekt původně zkompilován do strojového kódu cílové platformy bez použití mezikódu a bez aplikace JIT.

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