Compania Microsoft a lansat versiunea platformei deschise .NET 11, creată datorită unificării produselor .NET Framework, .NET Core și Mono. Pe baza .NET 11 pot fi dezvoltate aplicații multi-platformă pentru browsere, sisteme cloud, desktop, dispozitive IoT și platforme mobile, folosind biblioteci unificate și un proces comun de construire, independent de tipul de aplicație. Versiunile .NET SDK 11, .NET Runtime 11 și ASP.NET Core Runtime 11 sunt disponibile pentru Linux, macOS și Windows. .NET Desktop Runtime 11 este disponibil doar pentru Windows. Resursele asociate cu proiectul sunt distribuite sub licența MIT.
În cadrul .NET este inclus Runtime cu compilator JIT RyuJIT, specificații API, biblioteci WPF, Windows Forms, WinUI și Entity Framework, interfață de linie de comandă dotnet, precum și instrumente pentru dezvoltarea de microservicii, biblioteci, aplicații server-side, grafice și console. Separat sunt furnizate stiva pentru dezvoltarea aplicațiilor web ASP.NET Core 11.0, stratul ORM Entity Framework Core 11.0 (există drivere inclusiv pentru SQLite și PostgreSQL), biblioteca WPF 11 (Windows Presentation Foundation), framework-ul Windows Forms 11 pentru dezvoltarea GUI, platforma Aspire 11 pentru crearea de aplicații Cloud Native, framework-ul MAUI 11 pentru dezvoltarea interfețelor utilizator multi-platformă, precum și versiunile limbajelor C# 15 și F# 11. Suportul pentru .NET 11.0 și C# 15 este inclus în editorul de cod gratuit Visual Studio Code.
În limbajul C# 15 a fost adăugat cuvântul cheie union pentru a declara un tip al cărui valoare poate fi doar unul dintre tipurile-predefinite enumerate anterior. Variabilei de tip union i se pot atribui valori de orice tip permis, iar în cazul în care se încearcă atribuirea unei valori de tip care nu a fost specificat la declarație, compilatorul va genera o eroare.
Caracteristicile noului release:
- public record class Cat(string Name);
public record class Dog(string Name);
public record class Bird(string Name);
public union Pet(Cat, Dog, Bird);Pentru clase, a fost propus un modificator „closed”, prin care pot fi create ierarhii închise (closed hierarchy), în care moștenirea de la o clasă de bază cu modificatorul closed este permisă doar în interiorul acelei asamblei în care a fost declarat și în care setul complet de descendenți direcți este cunoscut la momentul compilării. Tipurile union și ierarhiile închise garantează că în construcția switch sunt tratate toate variantele posibile, permițând astfel evitarea ramurii „default” și a variabilei „_”.
public record class Cat(string Name);
Noua versiune C# a adăugat suport pentru ieșirile „break” și „continue” specifice etichetelor și a extins capacitățile experimentale de izolare în blocuri de cod unsafe, care lucrează direct cu memoria (a fost posibilă aplicarea unsafe pentru expresii individuale).
- În F# 11, consumul de memorie al compilatorului a fost redus, iar numărul operațiunilor de alocare a memoriei pentru colecții FSharp.Core a fost micșorat. A fost adăugată capacitatea de a limita numărul de lucrări asincrone care se execută în paralel pentru a preveni supraîncărcarea. Suportul preliminar pentru Runtime Async a fost adăugat.
- În SDK, opțiunile sunt incluse implicit. serverul MSBuild și varianta precompilată (NativeAOT) a instrumentului CLI dotnet.
Dimensiunea instalatorilor SDK pentru Linux și macOS a fost redusă prin deduplicarea pachetelor. - A fost optimizat compilatorul JIT, fiind eliminate verificările excesive de limite și bifurcărilor, a fost îmbunătățită devirtualizarea și extinsă simplificarea operațiunilor în constante. Compilatorul AOT a folosit un handler comun de apeluri, permițând reducerea volumului de cod și îmbunătățirea capacității de procesare în caz de apeluri intensive la interfețe. S-a realizat salvarea stivei de erori și a informațiilor despre module pentru Linux și macOS.
- A fost adăugat un mecanism experimental Runtime Async pentru a înlocui codul generat de compilator pentru operațiile async cu o implementare care gestionează suspendarea și reluarea operațiunilor asincrone la nivel de runtime.
- În SDK a fost adăugat un șablon. server MCP pentru integrarea cu instrumente și servicii AI. Pentru aplicațiile care folosesc servicii AI, a fost adăugat un set de abstracții Microsoft.Extensions.AI (MEAI). Pe baza acestor abstracții, a fost dezvoltat.
Microsoft Agent Framework (MAF), care poate fi folosit pentru a crea agenți AI. - În API-ul Process, au fost extinse opțiunile de lansare a proceselor cu interceptarea ieșirii și a codurilor de finalizare, precum și controlul descriptorilor moșteniți.
- În API-ul System.IO.Compression a fost adăugat suport pentru algoritmul de compresie Zstandard.
- Au fost adăugați noi adaptoare pentru fluxuri: ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream și StringStream.
- A fost adăugată utilitarul dotnetup pentru instalarea și actualizarea SDK-ului și a runtime-ului.
Sursa: opennet.ro
