Alcuni giorni fa La Casa di Redmond ha reso noto il rilascio della versione preview di .NET 8 per tutti i sistemi operativi supportati. Se tutto dovesse andare come previsto dagli sviluppatori, la versione definitiva dovrebbe essere disponibile entro novembre 2023, mentre la fine del supporto a .NET 7 è stata fissata per maggio 2024.
Blazor United
Vediamo quindi quali sono le principali novità di questa nuova LTS (Long Term Support), a cominciare da Blazor United. Si tratta di una nuova soluzione dedicata a .NET su browser e server, nata per costruire un'unica offerta composta da Blazor WebAssembly, Blazor Server e pagine Razor.
Queste ultime hanno il compito di produrre HTML a livello server, mentre Blazor Server presiede all'aggiornamento dei componenti tramite WebSockets e Blazor WebAssembly esegue .NET nel browser. In ogni momento sarà possibile includere componenti Blazor nelle pagine Razor.
Container, HTTP/3 e Webcil
Per quanto riguarda la sicurezza è interessante notare che come impostazione predefinita le immagini dei Container verranno eseguite da un utente diverso dal root
. Da segnalare anche l'attivazione di default di HTTP/3 e l'introduzione del formato Webcil disponibile per il momento soltanto in via sperimentale.
Esso è stato introdotto per i casi in cui si effettua il deployment in WebAssembly, cercando di risolvere il problema che vede alcuni antivirus e firewall impedire ai browser di scaricare o memorizzare in cache componenti con estensioni particolari come .DLL
.
Compilazione AOT e WMR
Novità anche per quanto riguarda l'AOT (ahead-of-time) compilation. Sostanzialmente l'operazione che, nella maggior parte dei casi, consiste nel compilare un linguaggio di compilazione ad alto livello in uno a basso livello. Effettuato prima dell'esecuzione, esso ha lo scopo di ridurre le risorse necessarie a runtime.
Nel caso specifico di questo rilascio la compilazione AOT è stata resa più performante. Per un'applicazione destinata a Linux con architettura a 64 bit abbiamo un passaggio da 3.76 MB con .NET 7 a 1.84 MB in .NET 8.
Da segnalare infine che il building dell'SDK di .NET potrà essere effettuato tramite VMR (Virtual Monolithic Repository) con il quale vengono combinati tutti i repository che vanno a comporre l'SDK.