Bem-Vindo .NET 5 ! |
Neste artigo vou apresentar as diferenças básicas entre o .NET Framework o .NET Core. e o .NET 5. |
Por muitos anos o 'carro chefe' da plataforma .NET foi .NET Framework que deva suporte a um modelo de programação abrangente e integrado do sistema operacional Windows para a construção de aplicativos de última geração usando recursos como Dynamic Language Runtime (DLR), Common Language Runtime (CLR), Biblioteca de Classes Portátil, Extensão Paralela, Base Class Library (BCL) e WinRT.
Abaixo vemos uma figura mostrando a arquitetura básica do .NET Framework:
Assim o .NET Framework oferece tudo o que o desenvolvedor da plataforma .NET precisa mas o desenvolvimento fica restrito ao ambiente Windows.
.NET Core
Em 2014/2015 a Microsoft lançou o .NET Core que foi inicialmente uma adição ao .NET Framework que era muito popular estendendo a capacidade de seu uso e permitindo vários ajustes e novas funcionalidades sendo que a principal característica é ser multiplataforma permitindo a sua utilização no Windows no Linux e no Mac.
Assim a partir do .NET Core tínhamos os seguintes ambientes de desenvolvimento:
Assim podemos resumir na figura abaixo o diagrama resumido da arquitetura da plataforma .NET atual até o dia 10 de novembro de 2020:
Nesse cenário tínhamos diferentes versões do .NET que funcionavam em muitas plataformas : Mono, .NET Framework, .NET Core, Xamarin.iOS, Xamarin.Android, etc.
Com as diferentes versões do .NET em execução em todas as várias plataformas, tem sido batalha árdua manter a consistência entre as diferentes versões.
Para minimizar esse problema a Microsoft resolveu fazer a unificação dos frameworks criando o .NET Standard com o objetivo de ter um conjunto de APIs que uma versão do .NET implementasse e, em seguida, a biblioteca pudesse ser executada em qualquer uma das estruturas.
Bem-Vindo .NET 5.0
No dia 10 de novembro de 2020 a Microsoft lançou oficialmente o .NET 5.0 sendo a primeira versão principal do .NET Core após a versão 3.1.
O objetivo do .NET 5.0 é realizar a unificação do ambiente .NET em uma única plataforma e assim permitir que um grupo muito maior de desenvolvedores migre seu código e aplicativos do .NET Framework para o .NET 5.0.
Com o .NET 5, a
ideia é criar uma Base Class Library (BCL)
compartilhada que terá diferentes máquinas virtuais de tempo de execução:
MonoVM e CoreCLR
A ideia é que você pode ter substituições pontuais com as diferentes
runtime VMs mas será tudo apenas um único
.NET.
Como parte do .NET 5.0 e 6.0, o objetivo é realizar a unificação da plataforma .NET em uma experiência de produto único, permitindo que você escolha apenas as partes da plataforma .NET que deseja usar.
Se você deseja segmentar Mobile e não WebAssembly, não é necessário baixar as ferramentas WebAssembly e vice-versa. Mesmo com ASP.NET Core e WPF, você também terá uma maneira muito mais fácil de adquirir todas as ferramentas .NET e criar e executar os pacotes de tempo de execução necessários na linha de comando.
Na figura a seguir temos uma visão da proposta da unificação que o .NET 5.0 inicia:
O nome .NET 5.0 foi usando ao invés de .NET Core 4.0 por dois motivos:
O .NET 5.0
oferece suporte a mais tipos de aplicativos e plataformas do que o
.NET Core ou .NET Framework.
Assim, a ASP.NET Core 5.0 é baseado no .NET
5.0, mas mantém o nome "Core" para evitar confundi-la com a
ASP.NET MVC 5.
Da mesma forma, o Entity Framework Core 5.0 mantém o nome "Core" para evitar confusão com o Entity Framework 5 e 6.
Para usar os recursos do .NET core você pode usar :
Destacando que:
Além de ser open source, de agregar muitos novos recursos e melhoramentos o .NET 5 é mais rápido e usa os últimos protocolos de segurança permitindo uma integração perfeita com diversos provedores.
Como desenvolvedor o seu fluxo de trabalho não terá alteração alguma, basta atualizar o VS 2019 para a versão 16.8 e o seu ambiente para .NET 5.0 estará preparado para o desenvolvimento com ASP .NET Core 5.0, EF Core 5.0, Xamarin Forms e demais recursos da plataforma .NET.
Referências: