Microsoft har lanserat en ny betydande version av den öppna plattformen .NET 6, som har skapats genom att förena produkterna .NET Framework, .NET Core och Mono. Med .NET 6 kan man skapa plattformsoberoende applikationer för webblÀsare, molnsystem, skrivbord, IoT-enheter och mobila plattformar, med hjÀlp av enhetliga bibliotek och en gemensam byggprocess oavsett typ av applikation. Versionerna av .NET SDK 6, .NET Runtime 6 och ASP.NET Core Runtime 6 Àr tillgÀngliga för Linux, macOS och Windows. .NET Desktop Runtime 6 levereras endast för Windows. Projektets material sprids under MIT-licensen.
.NET 6 inkluderar CoreCLR-runtime med JIT-kompilatorn RyuJIT, standardbibliotek, CoreFX-bibliotek, WPF, Windows Forms, WinUI, Entity Framework, kommandoradsgrÀnssnittet dotnet samt verktyg för utveckling av mikrotjÀnster, bibliotek, serverprogram, grafiska och konsolapplikationer. Separat publicerades en stack för utveckling av webapplikationer ASP.NET Core 6.0 och ORM-lagret Entity Framework Core 6.0 (drivrutiner finns bland annat för SQLite och PostgreSQL), samt versioner av sprÄken C# 10 och F# 6. Stöd för .NET 6.0 och C# 10 ingÄr i den kostnadsfria kodredigeraren Visual Studio Code.
Nyhetsfunktioner:
- Prestandan har ökat avsevÀrt, inklusive optimering av filin- och utdata.
- SprÄket C# 10 har implementerat support för strukturer i form av records (record struct), direktivet "global using", filbindande namnrymders och nya funktioner för lambda-uttryck. Kompilatorn har fÄtt stöd för inkrementell generering av kÀllkod.
- SprÄket F# 6 har fÄtt stöd för mekanismen för asynkron uppgiftsutförande async och pipelines debugging.
- Funktionen Hot Reload Àr tillgÀnglig, vilket ger verktyg för att redigera kod i realtid under programmets körning, sÄ att Àndringar kan göras utan manuell stoppning av programmet och utan att sÀtta brytpunkter. Utvecklaren kan köra applikationen med "dotnet watch", varefter Àndringar i koden automatiskt tillÀmpas pÄ den körande applikationen, vilket gör att resultatet kan ses omedelbart.
- Verktyget "dotnet monitor" har lagts till för att fÄ Ätkomst till diagnostikinformation om dotnet-processen.
- En ny dynamisk optimeringssystem baserat pĂ„ resultat av kodprofilering (PGO â Profile-guided optimization) har föreslagits, vilket möjliggör generering av mer optimerad kod baserat pĂ„ analys av körningssĂ€rskildheter. AnvĂ€ndningen av PGO har ökat prestandan för TechEmpower JSON "MVC" med 26%.
- I ASP.NET Core har HttpClient och gRPC fÄtt stöd för protokollet HTTP/3.
- API:et kopplat till JSON-formatet har utökats. En ny kodgenerator System.Text.Json och ett dat serialiseringssystem i JSON-format har lagts till.
- I Blazor, plattformen för att skapa webbapplikationer i C#, har stöd för rendering av Razor-komponenter frÄn JavaScript och integration med befintliga JavaScript-applikationer lagts till.
- Stöd för kompilering av .NET-kod till WebAssembly har lagts till.
- API:et för File IO har fÄtt stöd för symboliska lÀnkar. FileStream har helt skrivits om.
- Stöd för OpenSSL 3-biblioteket och kryptografiska algoritmer som ChaCha20/Poly1305 har lagts till.
- I Runtime har mekanismer för skydd W^X (Write XOR Execute, förbud mot samtidig skriv- och exekveringsÄtkomst) och CET (Control-flow Enforcement Technology, skydd mot exploatering utförda med ÄtervÀndande orienterade programmetoder) implementerats.
- Experimentellt stöd för iOS och Android har lagts till som TFM-plattformar (Target Framework Moniker).
- Stödet för Arm64-system har förbÀttrats avsevÀrt. Stöd för Apple-enheter baserade pÄ ARM-chipet M1 (Apple Silicon) har lagts till.
- Processen för att bygga .NET SDK frÄn kÀllkoder har sÀkerstÀllts, vilket förenklar arbetet med att skapa .NET-paket för Linux-distributioner.
KĂ€lla: opennet.ru
