Pochi giorni fa è stato confermato da Microsoft il rilascio di .NET 5.0, nuova versione di uno dei framework di sviluppo software più conosciuti. Il progetto che sta dietro a questo nuovo rilascio è particolarmente ambizioso, e parte dall'idea originaria di unificare in un unico framework tutto il meglio di .NET Core, .NET Framework, Xamarin, e Mono. In questo modo, l'obiettivo di Microsoft sarebbe quello di realizzare uno strumento unico ed estremamente versatile, che unifichi sotto un'unica bandiera i vari mondi relativi a desktop, web, cloud, mobile, gaming, IoT, ed AI.
Purtroppo, principalmente a causa della pandemia di COVID-19, questa unificazione è stata rimandata al rilascio di .NET 6. Ciò non toglie che l'ultimo versione del framework porti con sé numerose novità significative.
.NET 5.0 e Windows ARM64
Una prima importante novità di .NET 5 riguarda .NET Core, con il supporto per Windows ARM64. Ciò permetterà di eseguire nativamente le applicazioni .NET anche su questo tipo di piattaforma, con la conseguenza che dispositivi come il Surface Pro X saranno in grado di eseguire applicazioni che utilizzano Windows Forms, WPF, ed ASP.NET Core.
Single-file applications
Un'altra caratteristica importante riguarda le single-file applications, applicazioni pensate per includere tutto ciò di cui necessitano in un unico file. Con il nuovo rilascio ne è stato significativamente ottimizzata la gestione della memoria, peraltro introducendo la possibilità di generare file di dimensioni ridotte. Inoltre, è stato migliorato il supporto alla containerizzazione dei microservizi che sfruttano questo tipo di tecnologia. Va detto, però, che alcune delle principali criticità non sono ancora state risolte, quali la dipendenza di questi file da alcune librerie di sistema, nel caso dei deployment su Windows e Mac OS.
C#, F# ed altre novità
Per quello che riguarda i linguaggi di programmazione, è bene menzionare le novità introdotte con .NET 5 relative a C# ed F#. C# 9 include diversi aggiornamenti che ne hanno migliorato le performance, come i Record, i top-level statement e nuovi algoritmi di pattern matching. F# 5 introduce inoltre le Interpolated String e la Open Type Declaration, due delle caratteristiche più richieste dalla comunità. È stato inoltre introdotto il supporto ai Notebook Jupyter, strumento fondamentale per chi si occupa di data science, intelligenza artificiale e machine learning, e di cui abbiamo parlato qui.
Infine, non è un caso che anche Visual Studio 16.8 sia stato rilasciato nella stessa giornata di .NET 5, includendo peraltro anche il supporto all'ultima versione del framework.
Altri miglioramenti su .NET 5.0
Anche le API per la gestione dei file JSON è stata particolarmente attenzionata, con nuovi perfezionamenti che ne hanno migliorato le performance. Altre migliorie riguardano il garbage collector più efficiente, l'uso di algoritmo ancor più ottimizzati per il matching di espressioni regolari, il miglior supporto ad HTTP/2, e molto altro.
Tutte le novità possono essere reperite facendo riferimento a questo post sul blog ufficiale di Microsoft.
Concludendo, è bene sottolineare come Microsoft abbia dichiarato che .NET 5 è già pronto per l'uso in produzione, come dimostra il fatto che il sito di .NET così come Bing.com girano entrambi su .NET 5 già dal rilascio della prima preview.