Implementazioni di .NET

Un'app .NET viene sviluppata in una o più implementazioni di .NET. Le implementazioni di .NET includono .NET Framework, .NET 5+ (e .NET Core) e Mono.

Ogni implementazione di .NET include i componenti seguenti:

  • Uno o più runtime, ad esempio .NET Framework CLR e .NET 8 CLR.
  • Libreria di classi, ad esempio libreria di classi di base di .NET Framework e libreria di classi di base .NET 8.
  • Facoltativamente, uno o più framework applicazioni, ad esempio ASP.NET, Windows Form e Windows Presentation Foundation (WPF) sono inclusi in .NET Framework e .NET 5+.
  • Facoltativamente, strumenti di sviluppo. Alcuni strumenti di sviluppo sono condivisi tra più implementazioni.

Sono disponibili quattro implementazioni .NET supportate da Microsoft:

  • .NET 5 e versioni successive
  • .NET Framework
  • Mono
  • UWP

.NET, noto in precedenza come .NET Core, è attualmente l'implementazione principale. .NET (8) è basato su una singola codebase che supporta più piattaforme e molti carichi di lavoro, ad esempio app desktop di Windows e app console multipiattaforma, servizi cloud e siti Web. Alcuni carichi di lavoro, ad esempio gli strumenti di compilazione WebAssembly .NET, sono disponibili come installazioni facoltative.

.NET 5 e versioni successive

.NET, in precedenza .NET Core, è un'implementazione multipiattaforma di .NET ed è progettato per gestire i carichi di lavoro di server e cloud su larga scala. Supporta anche altri carichi di lavoro, incluse le app desktop. Viene eseguito in Windows, macOS e Linux. Implementa .NET Standard, pertanto qualsiasi codice che ha come destinazione .NET Standard può essere eseguito su .NET. ASP.NET Core, Windows Forms e Windows Presentation Foundation (WPF) sono tutti supportati in .NET.

.NET 8 è la versione più recente di questa implementazione di .NET.

Per ulteriori informazioni, vedi le seguenti risorse:

.NET Framework

.NET Framework è l'implementazione originale di .NET, introdotta nel 2002. Le versioni 4.5 e successive implementano .NET Standard, quindi il codice che ha come destinazione .NET Standard può essere eseguito in tali versioni di .NET Framework. Contiene API aggiuntive specifiche di Windows, ad esempio API per lo sviluppo di applicazioni desktop di Windows con Windows Forms e WPF. .NET Framework è ottimizzato per la compilazione di applicazioni desktop di Windows.

Per altre informazioni, vedere la Guida a .NET Framework.

Mono

Mono è un'implementazione di .NET usata principalmente quando è necessario un runtime di dimensioni ridotte. Si tratta del runtime su cui si basano le applicazioni Xamarin in Android, macOS, iOS, tvOS e watchOS ed è incentrato principalmente su un footprint ridotto. Mono inoltre consente di compilare giochi tramite il motore Unity.

Supporta tutte le versioni attualmente pubblicate di .NET Standard.

In precedenza, Mono implementava le API di dimensioni maggiori di .NET Framework ed emulava alcune delle funzionalità più diffuse su Unix. Viene a volte usato per eseguire applicazioni .NET che si basano su tali funzionalità in Unix.

Mono viene in genere usato con un compilatore JIT, ma include anche un compilatore statico completo (compilazione Ahead Of Time), usato in piattaforme quali iOS.

Per altre informazioni, vedere la documentazione Mono.

Piattaforma UWP (Universal Windows Platform)

La piattaforma UWP è un'implementazione di .NET usata per la creazione di applicazioni Windows moderne e abilitate per il tocco e di software per Internet delle cose. È stata progettata per unificare i diversi tipi di dispositivi da specificare come destinazione, ad esempio computer, tablet, telefoni e anche Xbox. La piattaforma UWP offre molti servizi, ad esempio un App Store centralizzato, un ambiente di esecuzione (AppContainer) e un set di API di Windows da usare invece di Win32 (WinRT). Le app possono essere scritte in C++, C#, Visual Basic e JavaScript.

Per altre informazioni, vedere Introduzione alla piattaforma UWP (Universal Windows Platform).