Executando verificação de segurança...
1

.Net Core & .Net Framework - Você realmente sabe a diferença?

Experience is the name everyone gives to their mistakes. – Oscar Wilde

Atualmente existem diversas ferramentas que realizam um conglomerado de tarefas. Assim acaba sendo comum, principalmente para iniciantes, não saber em qual ferramenta se aprofundar para realizar suas tarefas e/ou ter um estudo focado em tal ferramenta. Então nesse artigo gostaria de ajudar você que está com dúvidas sobre esse vasto campo, focando na plataforma de desenvolvimento .Net!

Resumo

O .Net pode ser usado para a construção de diversas aplicações, mas existem tarefas mais específicas em que o .Net Core tem o foco, como o desenvolvimento multiplataforma(para Windows, Mac, Linux) e que o .Net Framework foca no desenvolvimento de Wep Apps, Windows Desktop Apps e Server-based apps.

.Net Core

O que é?

Como já dito, é a ferramenta da Microsoft para desenvolvimento multiplataforma e/ou em nuvem.

Além dessa razão o .Net Core também é utilizado quando se deseja criar ou reformular um produto para Micro-serviços, assim é recomendado pela própria Microsoft utilizar ASP.NET Core para um maior desempenho e escalonamento quanto mais complexa e/ou extensa for sua rede de micro-serviços.

Outra situação que se pode usar é quando o projeto se usa Docker que casualmente vem com uma estrutura de micro-services.

.Net Framework

O que é?

Já com o .Net Framework ele tem seu foco mais voltado para criação de APIs, Windows Desktop Apps e aplicações para empresas de larga escala.

Sendo assim útil para:

  • Gerenciamento de memória;
  • Segurança de memória e segurança no geral;
  • Deploy de aplicações e Configuração de rede;

Uma boa estrutura de dados(array, pilhas, filas, listas ligadas e algorítimos);
Outra boa situação para usar é quando uma biblioteca de terceiros ou alguma dependência não está disponível para .Net Core que .Net Framework possa ter acesso, assim auxiliando no seu desenvolvimento.

Agradecimentos

Muito obrigado se leu até aqui, espero que tenha gostado e aprendido algo de novo! Tentei deixar alguns links sobre textos e artigos de temas que citei.

Vi um blog em inglês sobre o assunto e me inspirou a trazer a temática para os iniciantes Br!

Se quiser entrar em contato para alguma conversar sobre a temática, sinta-se confortável de conectar comigo no Linkedin ou no Github.

Meu e-mail: [email protected]. 😁👨💻

Carregando publicação patrocinada...
5

O .NET (escrito em maiúsculo e sem o Core desde a versão 5) e o .NET Framework (só a versão 4.8.1 é suportada) são quase iguais e servem para os mesmos propósitos.

O .NET Framework em si não era multiplataforma, mas o Mono permitia rodar em outras plataformas, existe um mito que C# é(era) só Windows. Ele sempre foi integrado ao Windows como produto, mas não como tecnologia. Da mesma forma que existem Javas diferentes, existem C#s diferentes. Hoje em dia .NET cobre tudo (até mesmo roda em navegadores) e não faz mais sentido ter variações.

A maior mudança do .NET é sua flexibilidade e economia de recursos. Sim, ele é ótimo para microsserviços, mas o .NET Framework podia ser usado também. No começa fazia pouca diferença. Era mais complicado usar em containers, ainda que possível.

As melhorias de desempenho vieram pelo desvinculamento ao sistema operacional, mas se quisessem quebrar compatibilidade daria para fazer no .NET Framework.

O .NET Framework não tem mais foco que o .NET, ele só tem limitação das plataformas onde roda. Como qualquer tecnologia, cria-se muitas APIs, o tempo todo. Ele sempre foi usado para todo tipo de aplicação, e não se tem claro quais se sobressaíam mais. Pouco tempo depois da sua criação a web começou se fortalecer (mais do que devia) e o uso desse stack específico foi aumentando, o que provavelmente passou outros usos em algum momento, mas não se tem informação confiável que diga isso.

Gerenciamento e segurança de memória é base da filosofia geral da plataforma e linguagens que rodem em cima dela. Não importa se é o .NET ou .NET Framework. O .NET tem mais facilidades, poder e flexibilidade para deploy e configuração de rede do que o .NET Framework.

As estruturas de dados são as mesmas para ambas. Obviamente que o .NET recebe atualizações e agora tem novidades que o .NET Framework não tem e há melhorais nas existentes, especialmente em performance, mas o básico é igual.

Obviamente que em um raro caso em que algo só foi criado com compatibilidade com o .NET Framework, só ele pode ser usado, não é questão de auxílio, e sim de possibilidade.

O .NET Framework é suportado ainda, mas pode ser considerado legado, se não o usa, não comece agora, e não se preocupe em saber dele a não ser por razões históricas ou cuidar de software legado. Se o usa, considere migrar.

Tecnologias suportadas pelo .NET

O artigo original usado como fonte tem vários misleadings ou completos erros, alguns até podiam ser verdade na data da postagem, mas não é mais há muito (ou pouco) tempo. Sempre olhe a data da postagem e procure por informações mais novas em tudo que lê. Quase tudo que é ensinado sobre C#/.NET que acha fácil na internbet está defasado.

Veja mais em O que é o .NET Core. Note a data que ele foi escrito. Se tiver alguma dúvida estou à disposição aqui e qualquer plataforma (links abaixo).

Farei algo que muitos pedem para aprender programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui.

Microsoft MVP

1

Nu meu colega, você me passou muito conhecimento não tem noção de o quão feliz fiquei de ter um retorno assim, vou re-ler sua mensagem com calma novamente para aproveitar o máximo que da.
Agradeço de mais a educação e disposição no seu comentário!

2

Me perdoe se eu estiver enganado, mas com as ultimas atualizações do ecossistema .net houve uma integração em tudo não houve? no .net 7 nao tem mais a opcao separada de cada um, voce pode baixar o desktop runtime ou core runtime porem o sdk ja incluem os 2 + o .net runtime

1

Houve essa integração de todos os ecossistemas, mas como a maioria das pessoas que iniciam na area(seja estudos ou até mesmo na hora de mexer com sistemas empresariais) não começam no 7 e também o 7 é bem recente, eu resolvi fazer algo mais baseado nos ecossistemas anteriores onde ficam mais separados o .Net Core e .Net Framework.

Mas eu mesmo ainda estou no processo de entender melhor todo esse sistema, qualquer conhecimento que tiver para contruibuir sou muito grato!

Estou estudando também sobre o .Net Standart e sempre tentando entender o que estou mexendo além do código hehe

2
1
1

Eu tenho entrado na parte mais web, estou aprendendo sobre a framework blazor para desenvolvimento web, muito prático, você programa o back em c# e consegue simultaneamente trabalhar o front tbm.