Microsoft ha annunciato il rilascio della nuova versione di ".NET 9" una piattaforma aperta che unifica prodotti precedentemente separati come .NET Framework, .NET Core e Mono. NET 9.0 introduce, tra le altre cose, una serie di miglioramenti delle prestazioni, ottimizzazione del compilatore e miglioramenti del runtime.
Uno dei cambiamenti più importanti in .NET 9.0 è il ammodernamento del garbage collector, quello adesso implementa un meccanismo di adattamento dinamico alle dimensioni dell'applicazione. Ciò significa che il raccoglitore non è legato alla quantità di risorse disponibili sul sistema, ma piuttosto alla quantità di memoria di cui ha bisogno l'applicazione.
Inoltre, ci sono stati ottimizzazioni nel compilatore JIT, con l'inserimento di nuovi ottimizzazioni basate sul profilo (DGP), miglioramenti nella gestione del loop e srotolamento in linea e un'ottimizzazione nella gestione delle eccezioni che aumenta la velocità del 50%. Il codice con operatori cast ha registrato miglioramenti delle prestazioni fino al 70% e sono stati apportati miglioramenti anche alle prestazioni delle query LINQ, in particolare nei metodi Take e DefaultIfEmpty quando si lavora con array e raccolte vuoti, ottenendo in alcuni casi miglioramenti fino al 10%. casi.
Come l' Libreria System.Text.Json, notevolmente migliorata prestazioni ed efficienza. Il metodo JsonProperty.WriteTo è ora in grado di scrivere stringhe UTF8 direttamente, eliminando l'allocazione di memoria non necessaria, con un conseguente miglioramento del 15% delle prestazioni e una riduzione del 93% del consumo di memoria nei test benchmark con .NET 8.
El Il runtime introduce anche un nuovo modello di attributi permettendo attivare e disattivare le funzioni nelle biblioteche in modo più efficiente. nella lingua C# 13, le funzionalità del modificatore “params” sono state ampliate, consentendo non solo l'uso di array, ma anche di raccolte.
È stato inoltre introdotto un operatore "^" per specificare gli indici dalla fine di un array, semplificando la manipolazione dell'array. Inoltre, sono consentiti iteratori e metodi asincroni che possono utilizzare espressioni ref e unsafe. Infine è stato proposto un nuovo tipo di lock per migliorare la gestione delle applicazioni multithread.
rilascio F# 9 supporta i tipi nullable, che espande le capacità della lingua. Oltretutto, i sindacati ora implementano le proprietà ".Is*". generato automaticamente, semplificando il controllo se un valore appartiene a un insieme specifico. Ad esempio, con i join, puoi controllare valori come person.contact.IsEmail.
Nel Alle direttive che iniziano con il simbolo # ora sono consentiti valori diversi dalle stringhe. Inoltre è stata aggiunta la possibilità di selezionare o mescolare casualmente elementi in moduli come List, Array e Seq. Anche le operazioni di raccolta sono state migliorate, consentendo un lavoro più semplice con elenchi e insiemi.
D'altra parte, la pila .NET Aspire offre ora un set di componenti più robusto per la creazione di applicazioni in ambienti cloud. Questo include nuove funzionalità per gestire il ciclo di vita delle applicazioni e delle risorse, oltre a miglioramenti agli strumenti di raccolta dei dati di telemetria.
Per quanto riguarda C#, è stata proposta una serie di nuove astrazioni facilitare lo sviluppo di applicazioni di intelligenza artificiale. Queste astrazioni includere l’uso di modelli linguistici di grandi dimensioni, accesso ai negozi di vettori e interazioni con i servizi di intelligenza artificiale.
anche È stato introdotto un nuovo tipo di tensore e metodi per il calcolo e la manipolazione di dati multidimensionali, insieme ai plugin. L'aggiornamento ML.NET include anche miglioramenti, con la nuova libreria Microsoft.ML.Tokenizers per la codifica e la decodifica del testo in token.
Per lo sviluppo web, ASP.NET Core ha migliorato il supporto della compilazione, offrendo a prestazioni migliori, consumo di memoria inferiore e tempi di avvio più rapidi. È stato ottimizzato anche il lavoro con i file statici, oltre ad includere una nuova API per l'autenticazione e l'autorizzazione. Blazor, la piattaforma per creare applicazioni web con C#, ha lanciato nuovi template sia per applicazioni web che ibride, ampliando le possibilità per gli sviluppatori.
MAUI (interfaccia utente dell'app multipiattaforma) ha migliorato le prestazioni e l'integrazione con le applicazioni desktop e mobile. Sono stati aggiunti nuovi elementi dell'interfaccia come TitleBar e HybridWebView, rendendo ancora più semplice la creazione di applicazioni utente interattive.
Infine, WPF (Windows Presentation Foundation) ha aumentato il supporto dei temi, aggiungendo il supporto per i colori accentati, consentendo agli sviluppatori di personalizzare ulteriormente l'aspetto delle proprie applicazioni Windows.
Infine, se sei interessato a saperne di più, puoi consultare i dettagli nella sezione seguente link