BLACK FRIDAY 2024



Microsoft .NET

Começar uma aplicação, ainda mais uma das grandes, é algo realmente desafiador e toda ajuda neste caso é bem-vinda.

Nos capítulos anteriores vimos que o C# é uma linguagem madura, e parte desta maturidade inclui trazer muita coisa pronta.

Em suma, temos uma base bem completa para iniciar nossas aplicações, podendo focar apenas no que precisamos para atender o negócio que estamos trabalhando.

O que é um Framework?

Um framework é uma estrutura, um alicerce ou mesmo um conjunto de bibliotecas que usamos para construir nossas aplicações.

O conceito de framwork existe em diversas tecnologias e linguagens e no caso das linguagens da Microsoft este framework se chama .NET.

A ideia por trás de um framework é trazer recursos que usamos com frequência no dia-a-dia já prontos, como por exemplo leitura e escrita de arquivos, acesso à dados, gerenciamento de memória e muitos outros.

É comum começarmos o desenvolvimento de aplicações sobre um framework. Na verdade não faz o menor sentido começar sem um e fazer tudo na mão.

Como você pode imaginar, um framework nos prove um reuso de códigos já escritos, validados e testados, que nos poupa muito tempo.

Microsoft .NET

Junto ao C#, em meados de 2001, a primeira versão do framework para desenvolvimento de aplicações da Microsoft também foi lançado, chamado de .NET Framework.

O .NET Framework recebeu as versões 1.0, 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.6, 4.7 e até a escrita deste material se encontra na versão 4.8.

Suas versões podem ser instaladas lado-a-lado (Side by Side), o que significa que você pode ter várias versões do .NET Framework na máquina.

Sendo somente compatível com sistema operacional Windows, este framework vem sendo descontinuado, dando lugar ao .NET Core (Também com instalação lado-a-lado).

Em meados de 2015, com o início do movimento para aplicações em nuvem (Cloud Computing), a Microsoft se viu forçada a suportar outros sistemas operacionais, em especial o Linux, que era base de boa parte dos servidores de aplicações Web do mundo.

Porém, mudar um framework não é uma tarefa fácil ainda mais em um com bilhões de usuários como era o caso do .NET Framework.

A Microsoft tomou então a iniciativa de construir um novo framework, com suporte a Windows, Mac e Linux, resolvendo o principal problema anterior.

O problema agora era o tempo de desenvolvimento, visto que o .NET Framework tinha anos de vida e centenas de milhares de linhas de código, desenvolver algo novo, do zero, com certeza não seria fácil.

Como resultado disso, veio o Core do nome do novo framework, que significa que ele inicialmente só continha o básico para as aplicações serem executadas.

.NET Core

Embora em sua primeira versão o .NET Core tenha recebido apenas as bibliotecas básicas, em sua versão atual, a 3.1 ele está bem completo.

O .NET Core também passou a ser a recomendação da Microsoft para novas aplicações, ou seja, se estiver começando algo agora, não deve utilizar o .NET Framework mais.

Além de ser completamente reescrito, ele conta com inúmeras melhorias de segurança e performance, colocando-o no topo das listas.

Embora muito tenha mudado no .NET, o C# continua muito parecido, tendo sim incrementos, mas ainda sendo original em sua base.

.NET Standard

Neste momento da história (Meados de 2015 até a escrita deste material) o .NET Framework e .NET Core coexistem e inclusive podem ser instalados na mesma máquina.

Além disso, podemos utilizar tanto .NET Core quanto .NET Framework no mesmo projeto, o que pode causar uma certa confusão.

Para garantir que tudo que criarmos seja compatível tanto com .NET Core quanto com o .NET Framework, existe uma padronização chamada de .NET Standard.

O .NET Standard é o que chamamos de Surface API, ou seja não é algo palpável ou visível, apenas um conjunto de definições.

Então não "progamamos" em .NET Standard, e sim utilizamos ele como uma referência para saber o que podemos usar de cada framework a fim de ter uma compatibilidade entre ambos.

Podemos dizer que .NET Standard é a intersecção entre ambos frameworks, que nos garante que tudo que utilizarmos em um, estará presente em outro.

.NET 5

Até a escrita deste material a versão atual do .NET Core é a 3.1, com lançamento da versão 5 programada para Novembro de 2020.

O .NET 5 será a junção de ambos frameworks, visto que o .NET Core já avançou tanto a ponto de conter quase tudo que o .NET Framework continha.

Isto também originou a versão deste novo framework, nomeada como 5, pois o .NET Framework havia parado no 4.x.

O nome Core também será removido, visto que este será um framework completo, unindo os dois mundos que temos atualmente.

Embora muitas bibliotecas novas sejam adicionadas e recursos de performance sejam otimizados, todo código que escrevemos hoje, em C# utilizando .NET Core será reaproveitado.

A imagem abaixo ilustra tudo que será englobado nesta nova versão do .NET.

Nova plataforma .NET 5 Fonte: https://devblogs.microsoft.com/dotnet/introducing-net-5/

Instalação

Para fazer uso dos recursos do .NET precisamos primeiro realizar a instalação dele, que se divide em duas, sendo SDK e Runtime.

Como vimos anteriormente o Runtime é o responsável por executar e gerenciar nossas aplicações, e o SDK será o responsável por nos auxiliar no desenvolvimento delas.

SDK é a sigla para Software Development Kit ou em português, kit para desenvolvimento de software.

Em resumo, se você já tem uma aplicação criada (EXE ou DLL) e quer apenas executar esta aplicação, você não precisa instalar o SDK, apenas o Runtime.

Um ótimo exemplo são as máquinas onde nossas aplicações irão rodar, como servidores ou a máquina de um cliente. Elas não precisam do SDK instalados para rodar nossas aplicações, apenas do Runtime.

O pacote do SDK é maior, afinal ele contém tudo que precisamos para desenvolver nossas aplicações, enquanto o Runtime contém o mínimo necessário para que elas sejam executadas.

Versões

Antes de prosseguir com a instalação, é importante entender que as versões do .NET podem coexistir lado-a-lado em sua máquina.

Isto significa que você pode ter as versões 2.0 e 3.1 instaladas ao mesmo tempo. Ou seja, você não precisa remover uma instalação para adicionar uma mais recente.

LTS

LTS é a sigla para Long Term Support ou em suporte de longa data em português, o que significa que a Microsoft continuará a trabalhar nesta versão por um bom tempo.

No .NET Core, normalmente as versões com final 1 são marcadas como LTS, como a 1.1, 2.2 e atualmente a 3.1.

É muito importante que opte sempre por escolher uma versão LTS para projetos longos, tanto pelo suporte quanto pela sua maturidade.

Começando agora por exemplo, não faria sentido escolher o .NET Core 3.0, sendo que temos o 3.1 que é LTS.

As versões LTS e recomendadas ficaram marcadas na lista de downloads do site oficial do .NET como mostrado abaixo.

.NET Core 3.1  (recommended) LTS

A palavra recomended em frente ao nome do framework significa que esta é a versão atual recomendada, enquanto a palavra LTS significa que esta versão terá uma longa vida de suporte.

Instalação

Sempre busque a instalação oficial do .NET que é https://dotnet.microsoft.com. Evite fazer o download do Runtime ou SDK de qualquer outra fonte.

Caso queira ir direto para o download da versão desejada basta adicionar os seguintes parâmetros na URL https://dotnet.microsoft.com/`download`/`dotnet-core`/`$VERSAO`.

$VERSAO é a versão do .NET que você deseja baixar, no caso utilizaremos a 3.1.

No caso, nossa URL fica assim https://dotnet.microsoft.com/download/dotnet-core/3.1, e ao acessar este endereço nos será listado tanto o SDK quanto os Runtimes.

Download da SDK

Note que a versão exibida é 3.1.201, sendo que o 201 no final representa versões que foram enviadas com pequenas correções, que também chamamos de minor changes.

Estas atualizações não impactam no código que já produzimos, elas não causam nenhum impacto para nós. Toda vez que uma versão nova quebra algo que já está funcionando, chamamos isto de breaking changes.

Existem outras informações que trataremos mais adiante, mas por enquanto o que importa é fazer o download do pacote desejado, que fica na coluna Installers para o seu sistema operacional.

Tanto a instalação no Mac ou Windows são realizadas através de um wizard (Passo a passo). No Linux é necessário a execução de alguns comandos, mas de forma geral são bem simples.

Para prosseguir você precisa realizar a instalação da SDK desejada, de acordo com o sistema operacional que esteja utilizando.

Embora diversos sistemas e versões sejam suportadas, abaixo segue uma tabela de recomendações.

SO Versão Mínima Versão Recomendada
Windows 10 10
MacOs High Sierra Catalina
Linux (Ubuntu) 18.04 20.04

Runtimes

A instalação do Runtime é dividida em três partes, sendo ASP.NET para aplicações Web, Desktop para aplicações Desktop e .NET Core para demais aplicações que não são necessariamente Web nem Desktop.

Esta divisão permite que os pacotes de execução sejam ainda menores, mais fáceis de distribuir e instalar.

Caso necessário, todos podem ser instalados juntos na mesma máquina, lado a lado como comentado sobre o SDK. O mesmo vale para diferentes versões do Runtime que sejam necessárias.

Para o desenvolvimento de aplicações, tudo que precisamos já está no SDK que instalamos previamente, ou seja, não há a necessidade de instalar um Runtime neste momento.

Próximos passos

Agora que você já sabe o que é um Framework e conhece um pouco mais sobre o .NET, seus próximos passos são realizar a instalação e configuração.

Populares

Priority Queue

Priority Queue ou fila prioritária é um tipo de lista inclusa no C# 10 que permite que seus itens...


Implicit Operators no C#

Implicit Operators permitem adicionar comportamentos de conversão a objetos Built In ou complexos...


ASP.NET 5 – Autenticação e Autorização com Bearer e JWT

Este artigo atualmente utiliza a versão 5.0.0-rc.1 do ASP.NET/.NET, o que significa que ainda não...


Clean Code - Guia e Exemplos

Saiba como manter seu código limpo (Clean Code) seguindo algumas práticas sugeridas pelo Robert C...


Git e GitHub - Instalação, Configuração e Primeiros Passos

Git é um sistema de controle de versões distribuídas, enquanto GitHub é uma plataforma que tem o ...


Compartilhe este artigo



Conheça o autor

Me dedico ao desenvolvimento de software desde 2003, sendo minha maior especialidade o Desenvolvimento Web. Durante esta jornada pude trabalhar presencialmente aqui no Brasil e Estados Unidos, atender remotamente times da ?ndia, Inglaterra e Holanda, receber 8x Microsoft MVP e realizar diversas consultorias em empresas e projetos de todos os tamanhos.





2.926

Aulas disponíveis

275

horas de conteúdo

72.003

Alunos matriculados

49.936

Certificados emitidos





Comece de graça agora mesmo!

Temos mais de 20 cursos totalmente de graça e todos com certificado de conclusão.

Começar


Prefere algo mais Premium?

Conheça nossos planos



Premium anual

Compra única, parcelada em até
12x no cartão de crédito


12x R$

84

,78

=R$ 1.017,36
  • 1 ano de acesso
  • Acesso à todo conteúdo
  • Emissão de Certificado
  • Tira Dúvidas Online
  • 61 cursos disponíveis
  • 10 carreiras disponíveis
  • 161 temas de tecnologia
  • Conteúdo novo todo mês
  • Encontros Premium

Começar agora

Política de privacidade



Precisa de ajuda?

Dúvidas frequentes



  • Posso começar de graça?

    Sim! Basta criar sua conta gratuita no balta.io e começar seus estudos. Nós contamos com diversos cursos TOTALMENTE gratuitos e com certificado de conclusão.

  • Vou ter que pagar algo?

    Nós temos cursos gratuitos e pagos, porém você não precisa informar nenhum dado de pagamento para começar seus estudos gratuitamente conosco. Os cursos gratuitos são completos e com certificado de conclusão, você não paga nada por eles.

    Porém, caso queira algo mais Premium , você terá acesso à diversos benefícios que vão te ajudar ainda mais em sua carreira.

  • Por onde devo começar?

    Siga SEMPRE as nossas Carreiras , elas vão te orientar em todos os sentidos. Os cursos já estão organizados em categorias e carreiras para facilitar seu aprendizado.
    Nossa sugestão para aprendizado é começar pelo Backend e seguindo para Frontend e Mobile.

    • Backend
    • Frontend
    • Mobile

  • Os cursos ensinam tudo que preciso?

    Nenhum curso no mundo vai te ensinar tudo, desculpa ser sincero! Os cursos são uma base, eles fornecem por volta de 30% do que você precisa aprender, o resto é com você, com dedicação e MUITA prática.

  • O que eu devo estudar?

    Java ou .NET? Angular ou React? Xamarin ou Flutter? A resposta é simples e direta: "Você já sabe o básico?"

    Se você ainda não sabe BEM o básico, ou seja, os fundamentos, OOP, SOLID, Clean Code, está perdendo tempo estudando Frameworks ou até coisas mais avançadas como Docker. Foque nos seus objetivos primeiro.
    Agora se você está indeciso sobre qual Framework estudar, a boa notícia é que o mercado neste momento está bem aquecido e você tem várias oportunidade. Desta forma o que levaríamos em conta para tomar esta decisão seria:

    • Já sei o básico
    • O Framework/Tecnologia tem mercado onde eu estou (região)
    • O Framework/Tecnologia é utilizado em uma empresa onde quero atual
    • O Framework/Tecnologia resolve meu problema
    • Eu gosto de utilizar o Framework/Tecnologia

  • Estou pronto para estudar no balta.io?

    Com certeza! O primeiro passo é começar e você pode fazer isto agora mesmo!

    Começar de graça

Ainda tem dúvidas?





Assine nosso Newsletter

Receba em primeira mão todas as nossas novidades.

Cadastrar


balta.io