Versione della piattaforma aperta .NET 6

Microsoft ha presentato una nuova importante versione della piattaforma aperta .NET 6, creata unificando i prodotti .NET Framework, .NET Core e Mono. Con .NET 6 è possibile creare applicazioni multipiattaforma per browser, cloud, desktop, dispositivi IoT e piattaforme mobili utilizzando librerie comuni e un processo di compilazione comune indipendente dal tipo di applicazione. Le build .NET SDK 6, .NET Runtime 6 e ASP.NET Core Runtime 6 sono disponibili per Linux, macOS e Windows. .NET Desktop Runtime 6 è disponibile solo per Windows. Il lavoro relativo al progetto è distribuito sotto la licenza MIT.

.NET 6 include il runtime CoreCLR con il compilatore RyuJIT JIT, librerie standard, librerie CoreFX, WPF, Windows Forms, WinUI, Entity Framework, interfaccia a riga di comando dotnet, nonché strumenti per lo sviluppo di microservizi, librerie, lato server, GUI e console applicazioni. Lo stack per lo sviluppo di applicazioni web ASP.NET Core 6.0 e il livello ORM Entity Framework Core 6.0 (sono disponibili i driver anche per SQLite e PostgreSQL), nonché le versioni dei linguaggi C# 10 e F# 6 sono stati pubblicati separatamente. per .NET 6.0 e C# 10 è incluso nell'editor di codice gratuito Visual Studio Code.

Caratteristiche della nuova versione:

  • Le prestazioni sono state notevolmente migliorate, inclusa l'ottimizzazione dell'I/O dei file.
  • C# 10 introduce il supporto per le strutture dei record, la direttiva using globale, gli spazi dei nomi associati a file e nuove funzionalità per le espressioni lambda. Al compilatore è stato aggiunto il supporto per la generazione incrementale del codice sorgente.
  • F# 6 introduce il supporto per il meccanismo di esecuzione delle attività asincrone e il debug della pipeline.
  • È disponibile una funzionalità di ricaricamento a caldo che fornisce un mezzo per modificare il codice al volo mentre un programma è in esecuzione, consentendo di apportare modifiche senza interrompere manualmente l'esecuzione o allegare punti di interruzione. Uno sviluppatore può eseguire un'applicazione che esegue "dotnet watch", dopodiché le modifiche apportate al codice vengono applicate automaticamente all'applicazione in esecuzione, consentendo di visualizzare immediatamente il risultato.
  • Aggiunta l'utilità "dotnet monitor" per accedere alle informazioni diagnostiche del processo dotnet.
  • Viene proposto un nuovo sistema di ottimizzazione dinamica basato sui risultati della profilazione del codice (PGO - Profile-guided optimization), che consente di generare codice più ottimale sulla base di un'analisi delle caratteristiche di esecuzione. L'utilizzo di PGO ha migliorato le prestazioni della suite TechEmpower JSON "MVC" del 26%.
  • Il supporto del protocollo HTTP/3 è stato aggiunto a ASP.NET Core, HttpClient e gRPC.
  • L'API relativa al formato JSON è stata ampliata. Aggiunto un nuovo generatore di codice System.Text.Json e un sistema per la serializzazione dei dati in formato JSON.
  • Blazor, una piattaforma per la creazione di applicazioni Web in C#, ha aggiunto il supporto per il rendering dei componenti Razor da JavaScript e l'integrazione con le applicazioni JavaScript esistenti.
  • Aggiunto supporto per la compilazione di codice .NET in una visualizzazione WebAssembly.
  • Aggiunto il supporto per i collegamenti simbolici all'API File IO. FileStream completamente prescritto.
  • Aggiunto il supporto per la libreria OpenSSL 3 e gli algoritmi crittografici ChaCha20/Poly1305.
  • Runtime implementa meccanismi di protezione W^X (Write XOR Execute, che vieta l'accesso simultaneo in scrittura ed esecuzione) e CET (Control-flow Enforcement Technology, protezione contro l'esecuzione di exploit costruiti utilizzando tecniche di programmazione orientate al ritorno).
  • Aggiunto supporto sperimentale per iOS e Android come piattaforme TFM (Target Framework Moniker).
  • Supporto significativamente migliorato per i sistemi Arm64. Aggiunto il supporto per i dispositivi Apple basati sul chip M1 ARM (Apple Silicon).
  • Viene fornito il processo di creazione di .NET SDK dal codice sorgente, che semplifica il lavoro di creazione di pacchetti .NET per le distribuzioni Linux.

Aggiungi un commento