Microsoft je predstavio novi značajan izdanak otvorene platforme .NET 6, stvorene ujedinjenjem proizvoda .NET Framework, .NET Core i Mono. Na temelju .NET 6 moguće je razvijati višepplatformske aplikacije za preglednike, cloud sustave, radne površine, IoT uređaje i mobilne platforme, koristeći jedinstvene biblioteke i zajednički proces gradnje, neovisno o tipu aplikacije. Gradnje .NET SDK 6, .NET Runtime 6 i ASP.NET Core Runtime 6 formiraju se za Linux, macOS i Windows. .NET Desktop Runtime 6 isporučuje se samo za Windows. Povezani radovi na projektu distribuiraju se pod MIT licencom.
.NET 6 uključuje CoreCLR runtime s JIT kompajlerom RyuJIT, standardne biblioteke, CoreFX biblioteke, WPF, Windows Forms, WinUI, Entity Framework, CLI sučelje dotnet, kao i alate za razvoj mikroservisa, biblioteka, poslužiteljskih, grafičkih i konzolnih aplikacija. Odvojeno su objavljeni ASP.NET Core 6.0 stek za razvoj web aplikacija i ORM sloj Entity Framework Core 6.0 (vozači, uključujući i SQLite i PostgreSQL), kao i izdanja jezika C# 10 i F# 6. Podrška za .NET 6.0 i C# 10 uključena je u besplatni alat za kodiranje Visual Studio Code.
Značajke novog izdanja:
- Značajno je poboljšana izvedba, uključujući optimizaciju ulaza/izlaza s datotekama.
- U jeziku C# 10 implementirana je podrška za strukture u obliku zapisa (record struct), globalne direktive za korištenje, vezane za datoteke imenske prostore i nove mogućnosti za lambda izraze. Kompajler je dobio podršku za inkrementalnu generaciju izvornih kodova.
- U jeziku F# 6 dodana je podrška za mehanizme asinkronog izvršenja zadataka async i pipeline debagiranje.
- Dostupna je funkcija Hot Reload, koja omogućuje uređivanje koda u stvarnom vremenu tijekom izvođenja programa, omogućujući promjene bez ručnog zaustavljanja izvršenja i bez postavljanja točaka prekida. Programer može pokrenuti aplikaciju pod upravljanjem „dotnet watch“, nakon čega se promjene u kodu automatski primjenjuju na pokrenutu aplikaciju, čime se odmah može vidjeti rezultat.
- Dodana je „dotnet monitor“ alat za pristup dijagnostičkim informacijama o procesu dotnet.
- Predloženi novi sustav dinamičke optimizacije temeljen na rezultatima profiliranja koda (PGO – Optimizacija vođena profilom), koji omogućuje generiranje optimiziranijeg koda temeljem analize osobina izvršavanja. Korištenje PGO-a omogućilo je povećanje performansi TechEmpower JSON 'MVC' skupa za 26%.
- U ASP.NET Core, HttpClient i gRPC dodana je podrška za HTTP/3 protokol.
- Proširen je API vezan uz JSON format. Dodan je novi generator koda System.Text.Json i sustav za serijalizaciju podataka u JSON formatu.
- U Blazoru, platformi za izradu web aplikacija u C# jeziku, dodana je podrška za renderiranje Razor komponenti iz JavaScripta i integraciju s postojećim JavaScript aplikacijama.
- Dodana je podrška za kompiliranje .NET koda u WebAssembly.
- U File IO API-ju dodana je podrška za simboličke veze. FileStream je potpuno prepisan.
- Dodana je podrška za OpenSSL 3 biblioteku i kriptografske algoritme ChaCha20/Poly1305.
- U Runtime-u implementirani su mehanizmi zaštite W^X (Write XOR Execute, zabrana istodobnog pristupa za pisanje i izvođenje) i CET (Tehnologija zaštite tijeka kontrole, zaštita od izvođenja eksploata temeljenih na povratno orijentiranom programiranju).
- Dodana je eksperimentalna podrška za iOS i Android kao TFM platforme (Target Framework Moniker).
- Značajno je poboljšana podrška za Arm64 sustave. Dodana je podrška za Apple uređaje na ARM čipu M1 (Apple Silicon).
- Osiguran je proces izgradnje .NET SDK-a iz izvornog koda, što olakšava rad na formiranju .NET paketa za Linux distribucije.
Izvor: opennet.ru
