Entendendo o ambiente .NET

Entendendo o ambiente .NET

Dentro do ecossistema do C#, nos deparamos frequentemente com siglas como .NET, .NET Framework, .NET Core, .NET Standard, ASP.NET e outras. Neste artigo, falarei um pouco sobre o ambiente .NET e as diferenças entre essas tecnologias.

.NET

O .NET (ou "dotnet") é uma plataforma de desenvolvimento de software, que foi desenvolvida pela Microsoft. Ele oferece uma ampla variedade de ferramentas e bibliotecas, permitindo a criação de diversas aplicações, como web, mobile, desktop, jogos IoT entre outras.

.NET Framework

O .NET Framework foi a implementação inicial do .NET, lançada pela Microsoft em 2002. Originalmente foi projetado para o desenvolvimento de aplicativos no sistema operacional Windows. Os dois principais componentes do .NET Framework são o Common Language Runtime (CLR) e a Class Library (Biblioteca de Classes).

.NET Core

O .NET Core é uma versão modular do .NET Framework, foi projetada para atender a necessidade multiplataforma, fornecendo suporte a outros sistemas operacionais. Com isso o desenvolvimento no ambiente .NET passou a ser possível tanto no Windows, como também no Linux e macOS.

.NET 5

Quando o .NET Core foi desenvolvido, a Microsoft não deixou de oferecer suporte ao .NET Framework, amplamente utilizado por milhões de sistemas. Portanto, por um bom tempo, ambas as versões coexistiram. O .NET Core era mantido e continuava a ser utilizado, enquanto o .NET Framework recebia atualizações que o aproximavam do .NET Core.

O .NET 5 marcou a "unificação" dos frameworks .NET Framework e .NET Core. Nesse ponto, o .NET Core alcançou o .NET Framework em termos de recursos e funcionalidades. Sendo assim, não havia mais a necessidade de manter dois frameworks separados. O .NET 5 tornou-se o principal framework e também passou a ser chamado simplesmente de .NET.

.NET Standard

O .NET Standard difere um pouco dos demais; não é exatamente um framework, mas sim um contrato que chamamos de "surface API". Esse contrato é, essencialmente, uma especificação formal de APIs comuns nas implementações .NET. Ao adotar o .NET Standard, garantimos a uniformidade no ecossistema .NET, possibilitando que o mesmo código e bibliotecas sejam executados em diferentes implementações.

ASP.NET

O ASP.NET é uma estrutura para construção de aplicações web utilizando o ambiente .NET e a linguagem de programação C#. O termo ASP se refere a Active Server Pages.

Inicialmente era utilizado com o .NET Framework. E possui duas principais variantes:

  • ASP.NET Web Forms: Que oferece a abordagem Web Forms, mais orientada a eventos. Neste modelo, os desenvolvedores lidam com controles de servidor e eventos server-side para a criação de interfaces web dinâmicas.

  • ASP.NET MVC: Que introduz o conceito MVC (Model-View-Controller), um padrão que divide a aplicação em modelos, visões e controladores. Essa abordagem promove uma estrutura mais modular e a clara separação de responsabilidades, facilitando a manutenção e expansão do código.

ASP.NET Core

O ASP.NET Core nada mais é que a versão do ASP.NET que foi desenvolvida para funcionar em conjunto com o .NET Core. Com ela surgiu também o padrão ASP.NET Core MVC que é uma evolução do ASP.NET MVC.