.NET Core ou .NET Framework ?
Você sabe quando usar .NET Core ou quando usar o .NET Framework ? |
A .NET Core é uma plataforma para desenvolvimento de aplicações criada e mantida pela Microsoft como um projeto de código aberto. Sendo uma solução mais leve e modular que o .NET Framework e pode ser usada em diferentes sistemas operacionais como Windows, Mac e Linux.
Assim, atualmente você pode desenvolver aplicações usando a .NET Core ou o .NET Framework que é suportado apenas no Windows e cuja versão mais atual é 4.8. (saindo do forno)
Ambos os Frameworks compartilham muitos dos mesmos componentes e você pode compartilhar código entre os dois. No entanto, há diferenças fundamentais entre os dois e sua escolha vai depender do que você deseja realizar.
De forma bem resumida :
1- Considere usar o .NET Core se :
- Você tiver necessidades de plataforma cruzada (Windows, macOS e Linux)
- Você estiver direcionando microsserviços.
- Você estiver usando contêineres do Docker.
- Você precisar de alto desempenho e sistemas escalonáveis.
- Você precisar de versões do .NET correspondentes a cada aplicativo.
2- Considere usar o .NET Framework se :
- Seu aplicativo
usar o .NET Framework atualmente (a recomendação é estender em vez de migrar);
- Seu aplicativo usa bibliotecas .NET de terceiros ou pacotes NuGet não
disponíveis para o .NET Core;
- Seu aplicativo usa tecnologias .NET que não estão disponíveis para o .NET
Core;
- Seu aplicativo usa uma plataforma que não oferece suporte ao .NET Core;
Compartilhando código entre .NET Core e .NET Framework
As bibliotecas estão rapidamente adotando o .NET Standard que permite o compartilhamento de código entre todas as implementações do .NET, incluindo o .NET Core.
No .NET Standard 2.0 foi introduzido um modo de compatibilidade do .NET Framework que permite que os projetos do .NET Standard/.NET Core referenciem bibliotecas do .NET Framework.
Graças ao .NET Standard podemos usar o EF Core 2.1 em aplicações Windows Forms, WPF, etc. a partir da versão 4.6.1 do .NET Framework.
Quando sou obrigado a usar o .NET Framework
Algumas tecnologias do .NET Framework não estão disponíveis no .NET Core. Algumas delas poderão ser disponibilizadas em versões posteriores do .NET Core. Outras não se aplicam aos novos padrões de aplicativo direcionados pelo .NET Core e podem não ser mais disponibilizadas.
Se você vai criar uma aplicação usando Web Forms então vai ter que usar o .NET Framework pois ele não esta nem estará disponível no .NET Core.
Se você vai implementar serviços WCF, a implementação de servidor deste recurso não esta disponível na .NET Core, e, talvez, nunca esteja.
Se você pretende usar a linguagem VB .NET, atualmente so poderá criar os seguintes tipos de projeto na .NET Core :
Assim, não existe suporte para criar aplicações ASP .NET nem aplicações para Android ou iOS usando a linguagem VB .NET na .NET Core. (Parece que o VB .NET ficou para escanteio...)
Se você pretende ou tem que usar pacotes de terceiros que usam tecnologias que não estão disponíveis no .NET Core nem no .NET Standard vai ter que usar o .NET Framework.
Assim, como a cada nova versão a .NET Core vai incorporando mais recursos e como a padronização feita pelo .NET Standard fica mais abrangente, em um futuro, poucos serão os casos nos quais usar o .NET Framework será a única opção.
Enquanto isso não se torna uma realidade, vamos nos adaptando...
"Com o
ouvir dos meus ouvidos ouvi, mas agora te vêem os meus olhos.
Por isso me abomino e me arrependo no pó e na cinza. "
Jó 42:5,6
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
Conceitos - .NET Framework versus .NET Core - Macoratti