Microsoft a publicat platforma deschisă .NET 7

Compania Microsoft a lansat o versiune semnificativă a platformei open source .NET 7, realizată prin unificarea produselor .NET Framework, .NET Core și Mono. Pe baza .NET 7, pot fi create aplicații multiplatformă pentru browser, sisteme cloud, desktop, dispozitive IoT și platforme mobile, folosind biblioteci unificate și un proces de build comun, independent de tipul aplicației. Build-urile .NET SDK 7, .NET Runtime 7 și ASP.NET Core Runtime 7 sunt formate pentru Linux, macOS și Windows. .NET Desktop Runtime 6 este disponibil doar pentru Windows. Lucrările asociate proiectului sunt distribuite sub licența MIT. Suportul pentru ramura .NET 7 va fi asigurat timp de 18 luni până la 14 mai 2024.

.NET 7 include runtime CoreCLR cu compilator JIT RyuJIT, biblioteci standard, biblioteci CoreFX, 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 7.0, stratul ORM Entity Framework Core 7.0 (există drivere, inclusiv pentru SQLite și PostgreSQL), biblioteca WPF 7 (Windows Presentation Foundation), framework-ul Windows Forms 7 pentru dezvoltarea GUI, platforma Orleans 7 pentru crearea aplicațiilor Cloud Native, framework-ul MAUI 7 pentru dezvoltarea interfețelor utilizator multiplatformă, precum și versiunile limbajelor C# 11 și F# 7. Suportul pentru .NET 7.0 și C# 11 este inclus în editorul de cod gratuit Visual Studio Code.

Caracteristicile noului release:

  • A fost realizată unificarea bibliotecii de clasă de bază (BCL, Base Class Library) pentru utilizarea în diferite tipuri de aplicații, inclusiv programe pentru sisteme desktop, aplicații web, platforme cloud, aplicații mobile, jocuri, programe încorporate și sisteme de învățare automată. Pentru dezvoltarea diferitelor tipuri de aplicații, se poate utiliza un singur SDK comun, runtime și un set de biblioteci.
  • A fost oferită posibilitatea de a lega aplicația de API-ul corespunzător versiunii .NET 7 prin definirea platformei țintă „net7.0”, de exemplu, „net7.0”. Pentru a lega la API-uri specifice pentru anumite platforme, se poate detalia tipul platformei în definirea țintei, de exemplu, specificând „net7.0-android”.
  • Sprijinul pentru arhitectura ARM64 a fost îmbunătățit semnificativ și s-au continuat lucrările pentru a atinge paritatea în performanța aplicațiilor .NET atunci când rulează pe arhitecturi x86 și ARM64. În runtime, eficiența utilizării cache-ului de nivel trei în sistemele ARM64 a fost crescută. Au fost utilizate instrucțiuni LSE pentru a restricționa accesul la memorie din fluxuri paralele, ceea ce a dus la o reducere a întârzierilor cu 45%. Biblioteca a fost extinsă cu manipulatoare care utilizează tipuri vectoriale Vector64, Vector128 și Vector256, iar funcțiile EncodeToUtf8 și DecodeFromUtf8 au fost rescrise pe baza instrucțiunilor vectoriale, ceea ce a dus la o creștere a performanței lor de până la 60% (pentru funcțiile NarrowUtf16ToAscii și GetIndexOfFirstNonAsciiChar, câștigul de performanță ajunge până la 35%). În general, viteza de trecere a testelor pe platforma ARM64 a crescut cu 10-60%.
    Microsoft a publicat platforma deschisă .NET 7
  • Suportul pentru platforma Linux a fost îmbunătățit, inclusiv pachete cu .NET 6 adăugate în depozitele standard Ubuntu 22.04 și a fost furnizat un imaj docker optimizat, compact și gata de utilizat pentru implementarea rapidă a containerele cu aplicații bazate pe .NET.
  • A fost adăugat suport pentru arhitectura pe 64 de biți IBM Power (ppc64le).
  • A fost propus instrumentul .NET Upgrade Assistant pentru a facilita migrarea aplicațiilor vechi pe ramurile .NET 6 sau .NET 7. În noua versiune, suportul pentru migrarea aplicațiilor de la ASP.NET la ASP.NET Core a fost extins, au fost adăugați analyzeri și corectori de cod pentru WinForms, WPF și biblioteca de clase, s-a realizat suport pentru analiza fișierelor executabile, și a fost adăugat suport pentru platforma UWP (Universal Windows Platform).
  • Capacitățile de creare a aplicațiilor pentru sisteme cloud-native și platforme PaaS (platformă ca serviciu) au fost extinse. A fost oferită posibilitatea de a crea aplicații împachetate în containere izolate, utilizând comanda „dotnet publish”.
  • Instrumentele pentru monitorizarea stării aplicațiilor și colectarea metricalor referitoare la activitatea acestora au fost extinse. Au fost adăugate noi evenimente și metode pentru analiza activității și performanței aplicației.
  • În limbajul C# 11 a fost adăugată suport pentru șiruri literale brute, care pot include caractere speciale fără a necesita escapers (aceste literale sunt evidențiate prin trei ghilimele). Au fost propuse interfețe generice pentru funcții matematice și s-a oferit posibilitatea de a defini elemente statice în interfețele virtuale, ceea ce a permis aplicarea metodelor de programare generică pentru realizarea operațiunilor matematice fără informații precise despre tipurile de valori.
  • Funcționalitățile bibliotecii standard au fost extinse. A fost adăugat API-ul System.Formats.Tar pentru lucrul cu arhive în format Tar. În funcțiile care lucrează cu timpul (TimeStamp, DateTime etc.) a fost adăugat suport pentru microsecunde și nanosecunde. În System.Text.Json a fost implementată capacitatea de a controla serializarea și deserializarea tipurilor .NET.
  • În interfața de linie de comandă „dotnet new” a fost adăugat suport pentru completarea automată a șabloanelor de proiect tipice prin apăsarea tastei Tab.
  • În .NET SDK a fost implementată posibilitatea de a restricționa aplicarea șabloanelor de proiect livrate, de exemplu, se poate defini în care sisteme de operare este permis șablonul.
  • În NuGet a fost adăugat un mod de gestionare centralizată a pachetelor, care permite gestionarea dependențelor simultan pentru mai multe proiecte.
  • A fost îmbunătățită performanța compilatorului JIT. A fost adăugat suport pentru mecanismul OSR (On Stack Replacement) pentru modificarea codului metodologiilor deja executate, ceea ce permite optimizări în metodele ce durează mult timp să se execute, fără a aștepta finalizarea apelului curent (în testul TechEmpower se observă o îmbunătățire a performanței pentru primele cereri între 10-30%).
  • A fost crescută eficiența optimizării bazate pe rezultatele profilării codului (PGO — optimizare ghidată de profil), care permite luarea în considerare a caracteristicilor definite în timpul execuției programului.
  • A fost adăugat suport pentru compilarea în fișiere executabile autonome (Native AOT), în care întregul proiect este compilat inițial în cod mașină pentru platforma țintă fără a utiliza cod intermediar și fără a aplica JIT.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster