As versões do .NET

Se você começou a estudar o .NET quero dar a você meus parabéns! Talvez você já tenha olhado o meu artigo Entendendo o C# e o .NET. Este artigo ajuda a entender que o .NET é um framework e você entendeu como ele funciona. Mas se você foi mais a fundo nos seus estudos você viu as muitas versões do .NET, talvez você tenha ficado na dúvida sobre cada uma delas. Este artigo visa ajudar você a entender essas diferenças.

Relembrando: Um framework é uma estrutura, um alicerce para que o desenvolvedor possa construir suas aplicações. Os frameworks disponibilizam aos desenvolvedores recursos já desenvolvidos, prontos e amplamente testados e maduros de tarefas que eles irão utilizar no dia a dia, como escrita de arquivos, acesso a dados e muitos outros.

A história!

Em meados de 2001 a Microsoft lançou o .NET Framework e o C# para o desenvolvimento de aplicações Microsoft.

Uma característica do .NET Framework é que ela é side by side (lado a lado) ou seja você pode ter várias versões do .NET Framework instalado na mesma máquina, você não precisa remover a versão antiga para instalar uma nova versão .

Ao longo destes anos o .NET Framework tem sido atualizado o que contribuiu para sua evolução no decorrer dos anos, tendo iniciado em 2001 na versão 1.0 passando pelas versões 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.6, 4.7 e por último 4.8 até a data da elaboração deste post.

As versões acima rodam (executam) apenas em computadores com o sistema operacional Windows.

Com a popularização da  Cloud Computing (Computação em nuvem) em meados de 2015 a Microsoft entendeu que era necessário que o .NET Framework suportasse outros sistemas operacionais em especial o Linux, pois a maioria dos servidores de aplicações Web do mundo utilizam este sistema operacional.

Com essa nova realidade deveria existir uma quebra de paradigma, o .NET deveria suportar outros sistemas operacionais. Mudar ou adaptar um framework consolidado para funcionar com o Windows era tarefa extremamente arriscada e muito trabalhosa, pois bilhões de usuários já utilizavam o .NET Framework.

A Microsoft decidiu não assumir o risco de modificar, mas encarou uma tarefa trabalhosa e numa acertada decisão eles desenvolveram do zero um novo framework o .NET Core que passou a dar suporte ao Windows, Mac e Linux.

O .NET Core teve as seguintes versões 1.0, 1.1, 2.0, 2.1, 2.2, 3.0, 3.1. Estas versões coexistiram com outras versões do .NET Framework, a ideia da Microsoft era evoluir o .NET Core para uma versão que tivesse a maioria das funcionalidades do .NET Framework e ao mesmo tempo oferecer suporte ao Windows, Mac e Linux. Por isso após a versão 3.1 do .NET Core a Microsoft lançou o .NET 5. O .NET 5 recebeu esse nome como uma continuidade do .NET Framework que parou na versão 4.x.

Atualmente estamos na versão do .NET 7 desde então a Microsoft tem atualizado a versão do .NET anualmente com novas funcionalidades que visam simplificar processos e aumentar a produtividade dos desenvolvedores.

E o .NET Standard?

Como vimos a partir de 2015 o .NET Core e .NET Framework passaram a coexistir, e eles possuem a característica (Side by Side) de permitir múltiplas versões instaladas na mesma máquina.

Pode parecer confuso, mas é possível ter no mesmo projeto o .NET Core e o .NET Framework. Para isso foi criado o .NET Standard com o objetivo de garantir que tudo que criamos seja compatível tanto com .NET Core quanto com o .NET Framework.

Definição do .NET Standard

O .NET Standard é uma especificação formal de APIs do .NET que estão disponíveis em todas as implementações do .NET. A motivação por trás do .NET Standard era estabelecer maior uniformidade no ecossistema do .NET. – Documentação da Microsoft

Ou seja tudo que for desenvolvido com o .NET Standard tem tem o objetivo de manter a compatibilidade com ambas versões do .NET Core e .NET Framework, você pode ter a segurança que o que foi desenvolvido ali tem suporte para ambas versões.

A partir do .NET 5 para cima foi adotada uma abordagem diferente para estabelecer a uniformidade e isso eliminou a necessidade do .NET Standard.

SDK e Runtime

Até a data da publicação deste post para fazer o download do .NET você acessa a url https://dotnet.microsoft.com/pt-br/download (imagem 1) para fazer o download do .NET, ele mostra as duas últimas versões mais recentes do SDK, mas se você clicar em Todos os downloads do .NET 7.0 você vai ver as versões do Runtime (imagem 2).

Imagem 1
Imagem 2 – Repare que eu destaquei os diferentes tipos de download

Você viu aí o download do SDK e do Runtime. Qual a diferença entre os dois? Se você leu meu post Entendendo o C# e o .NET – Tio Aguiar você já teve uma pista.

O SDK é o Software Development Kit (Kit de desenvolvimento de software) ou seja se o seu interesse é desenvolver software você precisará de fazer o download desta instalação para o seu sistema operacional (Windows, macOs ou Linux), e nela está incluída tanto as ferramentas para desenvolvimento quanto o Runtime.

Como vimos o Runtime é responsável pela execução e gerenciamento da nossa aplicação, portanto se você deseja somente executar o seu software (EXE ou DLL) você pode optar por fazer esse download.

Siglas relacionadas as versões

Estas versões possuem numeração e siglas que representam em que fase ou etapa esta versão está do desenvolvimento e o suporte que ela recebe da Microsoft, isso é chamado versão semântica, isto não é algo especifico da Microsoft na verdade é uma prática comum do mercado.

Na página de download do você pode notar conforme a imagem abaixo (imagem 3) uma tabela agrupada por versões suportadas e uma coluna com o “Tipo de Versão”. Observe que há duas Suporte a Termos Standard (STS) e Suporte de Longo Prazo (LTS).

Imagem 3

LTS – Significa que aquela versão recebe suporte e atualização durante 03 anos.

STS – Significa que aquela versão recebe suporte e atualização por 18 meses.

A qualidade destas versões são a mesma, a diferença está no tempo de suporte. Entender estas diferenças nos dá um insight importante, devemos optar pelas versões LTS para ser utilizada em ambiente produtivo. Ao passo que as versões STS serão úteis para experimentar as novas funcionalidades do framework.

Na imagem 4 podemos reparar algumas informações na numeração temos 3 números, por exemplo 6.0.1 (Major.Minor.Patch) ou seja 6 = Major, 0 = Minor e 1 = Patch. Mas o que isso significa?

Major version – Quando esta numeração é incrementada pode ser que esta versão possua recursos bem diferente da versão anterior, ou seja houve uma quebra de paradigma por isso ao atualizar seu código, ele pode quebrar e necessitar de atualização.

Minor version – É adicionado novas funcionalidades, porém a compatibilidade é mantida.

Patch – São pequenas correções de falhas como as de segurança conforme podemos perceber na imagem 4 abaixo

Imagem 4

Mas o que significa as sopas de letrinhas “preview.x” e “rc.x”?

preview.x – Versão Preview – a Microsoft está disponibilizando recursos que ainda estão em desenvolvimento e não há suporte caso esta versão seja instalada em produção. Ou seja esta é só para testes ou matar nossa curiosidade das novidades da nova versão.

rc.x – Release Candidate – a Microsoft indica que esta versão é candidata a ir para produção, ou seja ela está mais estável e é bem provável que logo estará disponível para produção.

Novamente temos outro insight versões preview e release candidate NÃO devem ir para produção, mas vale a pena para conhecer e validar novos recursos da versão que está por vir.

Conclusão

Acredito que você está buscando aprender sobre o .NET para começar com pé direito no mundo do desenvolvimento de software, por isso tente o seguinte: Instale a versão mais recente do .NET como o primeiro passo para sua imersão com as ferramentas de desenvolvimento da Microsoft.

Referências:

Microsoft .NET | balta.io – Este artigo do André Baltieri explica mais sobre o .NET

Tio Aguiar
Tio Aguiar

Especialista em Engenharia de Software com mais de 20 anos de experiência e atualmente trabalha na Arco Educação com a marca Sistema Positivo de Ensino que é uma das maiores empresa de educação e tecnologia do país.
Ajuda novas pessoas desenvolvedoras a começar sua carreira com o pé direito. Conhece os desafios para quem está começando sua carreira, por isso ele pode ajudar você a começar a sua.

Artigos: 7

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *