Le novità di .NET 6 e C# 10

di Daniele Bochicchio, in .NET 6,

Da qualche ora .NET 6 e C# 10 sono disponibili in versione definitiva, per tutte le piattaforme supportate (Windows, Linux, macOS, Docker).

Negli ultimi anni, il ciclo di rilascio di .NET (precedentemente noto come .NET Core) è diventato annuale, con una major release rilasciata ogni novembre e, eventualmente, una serie di minor release rilasciate durante l’anno. Ne abbiamo già parlato durante il rilascio dell’anno scorso, per cui vi rimandiamo al precedente articolo su .NET 5 per approfondimenti.

In questo, invece, ci concentreremo sulle novità introdotte da .NET 6 e C# 10.

Le novità di .NET 6

Iniziamo con il dire che .NET 6 è la prima versione LTS (Long Term Support) della nuova wave di .NET, quindi utilizzabile con supporto garantito per un minimo di 3 anni (cioè, fino alla prossima versione LTS, che in .NET sono tutte le versioni con build number pari - e quindi .NET 8, che arriverà tra 2 anni - più un ulteriore anno di bonus).

Questo rappresenta un fattore importante per chi preferisce la garanzia di godere di un supporto più esteso nel tempo, anche se questo anno con .NET 5 ci ha insegnato che anche le versioni dispari (denominate Current release) sono affidabili, a patto che siate disposti ad aggiornare ogni anno. Di fatto, con le LTS, .NET è più enterprise-ready, perché spesso in ambito enterprise si preferisce ragionare con aggiornamenti più rallentati. Ricordate sempre, infatti, che .NET Framework non è più sviluppato (ma ancora supportato) e quindi è necessario pensare ad un piano di migrazione delle proprie applicazioni ancora basate sul vecchio framework. Inoltre, in genere, la migrazione è abbastanza rapida e, qualche breaking change a parte, richiede poco tempo.

.NET 6 è comunque la prima versione di .NET a portare a compimento il progetto One .NET, cioè quello di avere un solo insieme di runtime, tool e strumenti di sviluppo per .NET, a prescindere che vogliamo creare applicazioni web, per container, per Windows, Linux, IoT o mobile device (raccogliendo, di fatto, l’eredità di Xamarin).

.NET 6, quindi, include, sommariamente:

  • gli aggiornamenti dei linguaggi C#10 e F# 6;
  • ASP.NET Core 6 e Blazor 6;
  • Entity Framework Core 6;
  • WPF e WinForms;
  • una nuova preview di MAUI (il nuovo toolkit per sviluppare applicazioni cross platform);
  • PowerShell 7.2 (non direttamente incluso, ma comunque basato su .NET 6).

Alcune di queste novità saranno trattate in dettaglio nelle prossime settimane, in articoli specifici. In questo ci soffermeremo sulle novità del framework, del runtime e di C# 10.

Prima di cominciare, ricordiamo che, se utilizzate Visual Studio, è necessario passare obbligatoriamente a Visual Studio 2022, perché il tooling non supporta VS 2019. Con Visual Studio Code, ovviamente, il discorso cambia e non ci sono limitazioni particolari.

Visual Studio 2022 è la prima versione di Visual Studio a 64-bit ed è stato riscritto in molte parti. Anche se molto performante, risente di qualche difetto di gioventù, al momento, ma ha introdotto un paio di feature che meritano davvero, come il completamento automatico del codice con Intellicode, che prevede cosa scriveremo analizzando il codice già scritto nella solution, e l’Hot Reload.

Hot reload

Una delle novità più attese e gradite è l’Hot Reload, cioè la capacità, attraverso Visual Studio 2022 o dotnet watch, di applicare automaticamente le modifiche, senza necessità di ricompilare l’applicazione. Questa funzionalità è utilizzabile da ASP.NET Core, Blazor, MAUI, Console, WinForms, WPF, WinUI3 e Azure Functions, per nominare le tecnologie più interessanti che possono beneficiarne.

Con dotnet watch le modifiche sono applicate all’istante, mentre con Visual Studio 2022 è disponibile un nuovo pulsante (dalle sembianze di un fuoco), che va premuto e che consente di scegliere anche di applicarle in automatico al salvataggio (Hot reload on File Save).

Nell’esempio precedente, una modifica ad un file di un’applicazione basata su ASP.NET Core ha provocato in automatico il reload dell’applicazione nel browser, dopo aver applicato la modifica effettuata al codice C#: questo approccio aumenta di molto la produttività ed è disponibile non solo con .NET 6, ma anche con .NET 5, .NET Core e .NET Framework, ciascuno con limitazioni specifiche, riportate in dettaglio nella documentazione.

3 pagine in totale: 1 2 3
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc