Implementações do .NET

Um aplicativo .NET é desenvolvido para uma ou mais implementações do .NET. As implementações do .NET incluem o .NET Framework, o .NET 5+ (e o .NET Core) e o Mono.

Cada implementação do .NET inclui os seguintes componentes:

  • Um ou mais runtimes, por exemplo, o CLR do .NET Framework e do .NET 8.
  • Uma biblioteca de classes, por exemplo, as bibliotecas de classes base do .NET Framework e do .NET 8.
  • Opcionalmente, uma ou mais estruturas de aplicativo, por exemplo, ASP.NET, Windows Forms e WPF (Windows Presentation Foundation), são incluídas no .NET Framework e no .NET 5+.
  • Opcionalmente, ferramentas de desenvolvimento. Algumas ferramentas de desenvolvimento são compartilhadas entre várias implementações.

Há quatro implementações do .NET compatíveis com a Microsoft:

  • .NET 6 e versões posteriores
  • .NET Framework
  • Mono
  • UWP

O .NET, anteriormente conhecido como .NET Core, é atualmente a implementação primária. O .NET 8 é criado em uma única base de código que dá suporte a várias plataformas e muitas cargas de trabalho, como aplicativos de desktop do Windows e aplicativos de console multiplataforma, serviços de nuvem e sites. Algumas cargas de trabalho, como ferramentas de build do .NET WebAssembly, estão disponíveis como instalações opcionais.

.NET 5 e versões posteriores

O .NET, anteriormente conhecido como .NET Core, é uma implementação multiplataforma do .NET projetada para lidar com cargas de trabalho de servidor e nuvem em escala. Ele também dá suporte a outras cargas de trabalho, incluindo aplicativos de desktop. Ele é executado no Windows, no Linux e no macOS. Ele implementa o .NET Standard, portanto, o código direcionado para o .NET Standard pode ser executado no .NET. O ASP.NET Core, o Windows Forms e o WPF (Windows Presentation Foundation) são todos executados no .NET.

O .NET 8 é a versão mais recente dessa implementação do .NET.

Para saber mais, consulte os recursos a seguir:

.NET Framework

O.NET Framework é a implementação original do .NET que existe desde 2002. As versões 4.5 e posteriores implementam o .NET Standard, assim, o código que se destina ao .NET Standard pode ser executado nessas versões do .NET Framework. Ele contém APIs adicionais específicas do Windows, como APIs para desenvolvimento de área de trabalho do Windows com o Windows Forms e o WPF. O .NET Framework é otimizado para a compilação de aplicativos da área de trabalho do Windows.

Para saber mais, confira Guia do .NET Framework.

Mono

O Mono é uma implementação do .NET que é usada principalmente quando um pequeno runtime é necessário. É o runtime que executa os aplicativos Xamarin no Android, no macOS, no iOS, no tvOS e no watchOS e ele se concentra principalmente em um volume pequeno. O Mono também é plataforma para jogos criados com o mecanismo Unity.

Ele dá suporte a todas as versões do .NET Standard publicadas atualmente.

Historicamente, o Mono implementava a maior API do .NET Framework e emulava algumas das funcionalidades mais populares do Unix. Às vezes, ele é usado para executar aplicativos .NET que dependem desses recursos no Unix.

O Mono normalmente é usado com um compilador Just-In-Time, mas ele também apresenta um compilador estático completo (compilação Ahead Of Time) que é usado em plataformas como iOS.

Para saber mais, confira a documentação do Mono.

Plataforma Universal do Windows (UWP)

A UWP é uma implementação do .NET que é usada para criar aplicativos do Windows modernos e sensíveis ao toque, bem como software para a IoT (Internet das Coisas). Ela foi projetada para unificar os diferentes tipos de dispositivos que você pode ter como destinho, incluindo PCs, tablets, telefones e até mesmo o Xbox. A UWP fornece muitos serviços, como um repositório centralizado de aplicativos, um ambiente de execução (AppContainer) e um conjunto de APIs do Windows para usar em vez das APIS do Win32 (WinRT). Os aplicativos podem ser escritos em C++, C#, Visual Basic e JavaScript.

Para saber mais, confira Introdução à Plataforma Universal do Windows.