Compania Microsoft a lansat versiunea platformei deschise .NET 8, creată prin unificarea produselor .NET Framework, .NET Core și Mono. Pe baza .NET 8 se pot crea aplicații multiplatformă pentru browser, sisteme cloud, desktop, dispozitive IoT și platforme mobile, folosind biblioteci unificate și un proces de construire comun, independent de tipul aplicației. Pachetele .NET SDK 8, .NET Runtime 8 și ASP.NET Core Runtime 8 sunt disponibile pentru Linux, macOS și Windows. .NET Desktop Runtime 8 este livrat doar pentru Windows. Resursele legate de proiect sunt distribuite sub licența MIT. Ramura .NET 8 este clasată ca LTS și va fi întreținută timp de trei ani până în noiembrie 2026.
.NET 8 include Runtime cuJIT compiler RyuJIT, specificații API, biblioteci WPF, Windows Forms, WinUI, Entity Framework, interfața de linie de comandă dotnet, precum și instrumente pentru dezvoltarea microserviciilor, bibliotecilor, aplicațiilor server-side, grafice și console. A fost publicat separat un stack pentru dezvoltarea aplicațiilor web ASP.NET Core 8.0, ORM-layer Entity Framework Core 8.0 (există drivere inclusiv pentru SQLite și PostgreSQL), biblioteca WPF 8 (Windows Presentation Foundation), framework Windows Forms 8 pentru dezvoltarea GUI, platforma Aspire 8 pentru crearea de aplicații Cloud Native, framework MAUI 8 pentru dezvoltarea interfețelor utilizatorului multiplatformă, precum și versiunile limbajelor C# 12 și F# 8. Suportul pentru .NET 8.0 și C# 12 este încorporat în editorul de cod gratuit Visual Studio Code.
Caracteristicile noului release:
- A fost realizată o mare optimizare a performanței. A fost inclusă în mod implicit o nouă generație de cod, care suportă optimizarea dinamică bazată pe profilarea execuției codului (Dynamic Profile-Guided Optimization). Utilizarea noului generator de cod asigură un câștig de performanță de până la 20%. În plus, noua versiune include suport pentru instrucțiunile AVX-512, care permit îmbunătățirea performanței operațiunilor paralele asupra datelor vectoriale. Pentru tipurile primitive a fost implementat un nou inteface, care permite analizarea și formatarea directă a datelor în format UTF-8 fără re-codificare. În testele TechEmpower, performanța lucrului cu API JSON a crescut cu 18%, iar cu Fortunes cu 24%.

- A fost adăugat un nou stack .NET Aspire, destinat dezvoltării aplicațiilor cloud-native, folosind tehnologii .NET. În .NET Aspire este oferit un set mare de componente necesare pentru crearea aplicațiilor care rulează în medii cloud, incluzând instrumente pentru colectarea telemetriei, configurare, verificarea funcționalității și asigurarea rezilienței.
- Instrumentele pentru ambalarea aplicațiilor în containere izolate au fost extinse. În mod implicit, este asigurată publicarea imaginilor containerelor fără Dockerfile și fără utilizator root. Dimensiunea imaginii de bază a containerului cu componentele platformei .NET a fost redusă. A fost adăugată o variantă minimalistă a imaginii pentru rularea aplicațiilor compilate în fișiere executabile (Native AOT). A fost adăugată o variantă mai securizată a imaginilor bazate pe Chiseled Ubuntu.
- Eficiența compilării în fișiere executabile autonome (Native AOT) a fost crescută, în care întregul proiect este compilat inițial în cod mașină pentru platforma țintă fără utilizarea codului intermediar și fără aplicarea JIT.

- Funcționalitățile interfețelor de programare au fost extinse pentru a putea fi utilizate în sistemele de învățare automată. De exemplu, în biblioteca System.Numerics a crescut compatibilitatea cu sistemele AI generative. A fost adăugată exemple pentru conștientizarea chatboților, generarea de conținut și interacțiunea cu serviciile Azure AI.
- În Blazor, platforma pentru crearea aplicațiilor web în C#, timpul de încărcare al paginilor a fost redus, scalabilitatea a fost îmbunătățită, iar utilizarea ambelor aplicații Blazor Server și Blazor WebAssembly a fost permisă pentru a crea programe care combină funcționalitățile clientului. server A fost adăugat Jiterpreter, un nou runtime WebAssembly mai rapid, care a permis accelerarea randării interfeței cu 20%. Funcționalitățile de autentificare, autorizare și identificare au fost extinse.
- Framework-ul MAUI pentru dezvoltarea interfețelor utilizatorului multiplatformă a fost extins, oferind posibilitatea utilizării unei baze de cod unice pentru construirea interfețelor pentru Windows, macOS, iOS și Android. A fost adăugată suport experimental pentru compilare (Native AOT). A fost adiționat suport pentru platformele Xcode 15 și Android API 34. Elemente grafice și butoane au fost modernizate, iar procesarea clicurilor și evenimentelor de la tastatură a fost îmbunătățită.
- În C# 12 a fost adăugat suport pentru o sintaxă simplificată pentru crearea constructorilor primitivi în orice clase și structuri, iar procesul de creare a array-urilor, span-urilor și altor tipuri de colecții a fost simplificat. Au fost furnizate instrumente pentru a seta valori implicite pentru parametrii expresiilor lambda. A fost simplificată gestionarea argumentelor opționale. A fost adăugată posibilitatea de a crea aliasuri pentru orice tip prin intermediul directivei „alias”. // Crearea unei liste List<int> a = [1, 2, 3, 4, 5, 6, 7, 8]; // Crearea span-array-urilor Span<char> b = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘h’, ‘i’]; // Folosiți operatorul spread pentru a concatena int[] array1 = [1, 2, 3]; int[] array2 = [4, 5, 6]; int[] array3 = [7, 8, 9]; int[] fullArray = [..array1, ..array2, ..array3]; // conținutul va fi [1, 2, 3, 4, 5, 6, 7, 8, 9]
- În ASP.NET Core, pentru aplicațiile single-page (SPA) și web (Blazor) a fost implementat suport pentru autentificarea bazată pe cookie-uri și token-uri. A fost propus o nouă interfață utilizator pentru procesul de autentificare. A fost întărită protecția împotriva atacurilor XSRF/CSRF.
- În Entity Framework Core au fost introduse noi tipuri complexe care pot fi utilizate ca obiecte. A fost adăugat suport pentru datele ierarhice în SQL Server.
- În managerul de pachete NuGet a fost simplificată auditarea pachetelor în proiecte și a fost asigurată informarea despre existența vulnerabilităților cunoscute.
- În .NET Runtime a fost adăugat modul de compilare anticipată (AOT) pentru platformele WebAssembly (WASM) și Android.
- WPF a adăugat dialogul de deschidere a directorului (OpenFolderDialog) și a inclus suport pentru accelerarea hardware-ului în RDP.
- A fost îmbunătățit semnificativ suportul pentru arhitectura ARM64 și a fost crescută calitatea codului pentru ARM.
- În debugger a fost asigurat afișarea de date de debug rezumative și au fost implementate straturi de debug simplificate pentru tipurile folosite frecvent în .NET.
Sursa: opennet.ro


