O que é .NET?

Concluído

Quando alguém usa o termo .NET, o que eles significam depende muito do contexto. Nesta unidade, você aprenderá sobre o .NET olhando para ele como um ecossistema. Em outras palavras, o .NET é uma coleção de muitas partes e pessoas que, juntas, criam um ambiente poderoso para a criação de aplicativos.

O .NET é um ecossistema para desenvolvimento de aplicativos

O termo ecossistema descreve as múltiplas facetas de um ambiente de desenvolvimento de aplicativos e da comunidade que o rodeia. Essas facetas se combinam para criar um motivo convincente para investir no aprendizado do .NET e na criação de aplicativos .NET.

Usar linguagens e compiladores .NET para executar aplicativos no tempo de execução do .NET

Os desenvolvedores de software usam linguagens .NET como C# e F# para escrever código-fonte. Cada linha de código que eles escrevem expressa uma instrução ou comando que o computador deve executar enquanto o programa está em execução.

Antes que os desenvolvedores de software possam executar seu código, eles devem primeiro compilá-lo. O compilador .NET é um programa que converte o código-fonte (em qualquer linguagem de programação suportada) numa linguagem portátil chamada linguagem intermediária (IL). O compilador .NET salva o código IL em um arquivo chamado assembly .NET. Ao compilar o código em um formato intermediário, você pode usar a mesma base de código onde quer que execute o código, seja no Windows ou Linux, ou em hardware de computador de 32 bits ou 64 bits.

O de tempo de execução do .NET é um ambiente de execução para seu assembly .NET compilado. Em outras palavras, o tempo de execução do .NET é o que executa e gerencia seu aplicativo à medida que ele é executado em um sistema operacional host. Falaremos mais sobre o que o tempo de execução do .NET faz em apenas um momento.

Felizmente, como um desenvolvedor de software que está apenas começando a usar o .NET, você não precisa entrar em detalhes de como esses mecanismos funcionam. Com a experiência, você entenderá e apreciará melhor o poder subjacente das linguagens e compiladores .NET e do tempo de execução.

Dica

Às vezes, as pessoas pensam que a linguagem de programação C# é .NET. No entanto, C# e .NET são distintos. C# é uma sintaxe de linguagem de programação. Como parte da sintaxe, você pode fazer referência e chamar métodos definidos em bibliotecas de código .NET ou assemblies. Em seguida, você usará o compilador C# instalado com o SDK do .NET para criar um assembly .NET a partir do seu código C#. Em seguida, o ambiente de execução .NET executa os assemblies .NET. Essas distinções são conceitos importantes à medida que você aprende mais sobre .NET e C#.

Use estruturas e bibliotecas de aplicativos .NET para aproveitar a funcionalidade pré-criada

Todo o software é construído em camadas, o que significa que o software é executado em vários níveis de abstração em um computador:

  • No nível mais baixo, o software se comunica diretamente com o hardware do seu computador. Ele controla o fluxo de dados na placa-mãe, processadores, memória e discos rígidos.
  • No nível seguinte, o software permite que o usuário final forneça instruções através de um sistema operacional.
  • No próximo nível, softwares como o .NET fornecem uma maneira de desenvolver e executar aplicativos.
  • No próximo nível, as estruturas de aplicativos e bibliotecas de funcionalidade permitem que você crie rapidamente aplicativos avançados com menos esforço do que os métodos de desenvolvimento mais antigos.

Uma biblioteca de código encapsula a funcionalidade para uma finalidade específica em um único conjunto. Para o .NET, milhares de bibliotecas estão disponíveis. Essas bibliotecas podem ser próprias ou de terceiros, e podem ser comerciais ou de código aberto. As bibliotecas fornecem uma vasta gama de funcionalidades que você pode usar em seus aplicativos. Você simplesmente faz referência a esses assemblies e chama os métodos necessários. Desta forma, como desenvolvedor, você se baseia no trabalho de outros desenvolvedores de software. Você economiza tempo e energia porque não precisa construir e manter todas as funcionalidades por si mesmo.

Uma estrutura de aplicativo combina várias bibliotecas relacionadas, juntamente com projetos iniciais, modelos de arquivo, geradores de código e outras ferramentas. Você pode usar esses recursos para criar aplicativos inteiros para uma finalidade específica. Essas estruturas de aplicativo são conhecidas como modelos de aplicativo . Por exemplo, as estruturas de aplicativos .NET estão disponíveis para modelos de aplicativos populares, como desenvolvimento web, desenvolvimento para desktop e dispositivos móveis e desenvolvimento de jogos.

Você pode instalar o SDK do .NET diretamente ou instalando o Visual Studio 2022. O SDK do .NET pré-instala um conjunto abrangente de bibliotecas e estruturas de aplicativos chamado biblioteca de classes base. Você pode usar essa biblioteca de código em seus programas, independentemente da plataforma ou dos modelos de aplicativo que deseja criar.

Para outras bibliotecas de terceiros, os desenvolvedores usam gerenciadores de pacotes como o NuGet para localizar e integrar bibliotecas de código de repositórios de pacotes, como a Galeria NuGet.

Quais são os principais modelos de aplicativos?

Você pode se perguntar quais estruturas suportam quais modelos de aplicativo. Use a tabela a seguir para mapear um modelo de aplicativo para um .NET framework.

Modelo de aplicativo Enquadramento Observações
Sítio Web ASP.NET Núcleo A plataforma para desenvolver a lógica do lado do servidor.
Sítio Web ASP.NET Core MVC A estrutura para criar lógica do lado do servidor para páginas da Web ou APIs da Web.
Sítio Web ASP.NET Páginas principais do Razor A estrutura para criar HTML gerado pelo servidor.
Cliente Web Blazor Blazor faz parte do ASP.NET Core. Seus dois modos permitem a manipulação do DOM (Document Object Model) por meio de soquetes como um veículo de comunicação para executar código do lado do servidor ou uma implementação WebAssembly para executar C# compilado em um navegador.
Versão desktop .NET para Mac Permite que os desenvolvedores .NET criem aplicativos para dispositivos Mac com interface do usuário nativa e acesso à API.
Versão desktop WinForms Uma estrutura para criar aplicações "cinzento navio de guerra" no estilo Windows.
Versão desktop Windows Presentation Foundation (WPF) Uma estrutura para criar aplicações de ambiente de trabalho dinâmicas que estão em conformidade com diferentes fatores de forma. O WPF permite que os elementos de formulário executem movimentos, desvanecimentos, deslizamentos e outros efeitos com a ajuda de uma rica biblioteca de animações.
Telemóvel .NET para Android Permite que os desenvolvedores do .NET criem aplicativos para dispositivos Android com interface do usuário nativa e acesso à API.
Telemóvel .NET para iOS Permite que os desenvolvedores .NET criem aplicativos para iOS e iPadOS com interface do usuário nativa e acesso à API.
Interface do usuário do aplicativo multiplataforma .NET MAUI A principal maneira de criar aplicativos para iOS, Android, Mac e Windows a partir de uma única base de código compartilhada com interface do usuário nativa e acesso a APIs nativas.

O .NET também alimenta ambientes e mecanismos populares de desenvolvimento de jogos de terceiros e de código aberto, como o Unity.

Use ferramentas .NET para criar aplicativos .NET

Os desenvolvedores de software dependem de ferramentas para escrever código, adicionar referências a bibliotecas de código, compilar código e depurar código. Esta seção descreve várias ferramentas .NET que você usará para criar aplicativos .NET.

Visual Studio 2022 é o principal ambiente de desenvolvimento da Microsoft. Milhões de desenvolvedores o usam para criar aplicativos .NET. Uma interface gráfica do usuário (que inclui menus, janelas, designers visuais, caixas de diálogo e assistentes) orienta os desenvolvedores pelo processo de desenvolvimento de aplicativos. O Visual Studio 2022 está disponível em três edições: Community, Professional e Enterprise. Cada edição inclui ferramentas diferentes e é licenciada para diferentes fins.

Visual Studio Code é o principal editor de código da Microsoft que suporta várias linguagens de programação e é suportado no Windows, Mac e Linux. C# Dev Kit Extension traz um desenvolvimento C# aprimorado focado no editor para Visual Studio Code e melhora a experiência de trabalhar com projetos .NET com suporte para um explorador de soluções, sistema de projetos, aprimoramentos de teste e explorador, desenvolvimento assistido por IA e serviços de linguagem poderosos para recursos de linguagem C# de primeira classe, como navegação de código, refatoração, consciência semântica e muito mais.

Os desenvolvedores que preferem um fluxo de trabalho de linha de comando podem usar uma combinação de Visual Studio Code, o editor de código mais popular do mundo, e a interface de linha de comando .NET, também conhecida como .NET CLI .

Além disso, você pode escolher entre várias ferramentas próprias e de terceiros para muitos casos de uso avançados do .NET. As opções incluem profilers de código, executores de teste de unidade e analisadores de cobertura de código.

Você pode encontrar outras ferramentas .NET para outros cenários. Por exemplo, mais adiante neste módulo, você trabalhará com Try .NET. Você usará essa interface baseada em navegador para escrever aplicativos simples para ajudá-lo a aprender a linguagem de programação C#.

Encontre soluções e respostas em documentação e tutoriais

A Microsoft fornece ativamente um rico conjunto de documentação, tutoriais e treinamento. Você encontrará materiais de aprendizagem em modalidades populares para ajudá-lo em cada etapa do seu processo de aprendizagem.

A tabela a seguir apresenta alguns ótimos recursos que você pode querer marcar e voltar.

Recurso Finalidade
Microsoft Learn Fornece tutoriais de início rápido e documentação de referência definitiva.
Padrões e Práticas Ajuda desenvolvedores e arquitetos de software a encontrar soluções para necessidades comuns de desenvolvimento de aplicativos. Os recursos geralmente transcendem os detalhes de baixo nível da escrita de código e se aprofundam na escolha de produtos e serviços que permitem arquiteturas escaláveis aparentemente infinitas.
vídeos .NET Fornece tutoriais em vídeo da equipe .NET. Esses vídeos orientam os desenvolvedores através de cenários de uso comuns.
Introdução ao C# Fornece laboratórios práticos para ajudá-lo a desenvolver suas habilidades, combinando instruções, exercícios, mídia, verificações de conhecimento e um meio de acompanhar seu progresso.

Interaja com a comunidade .NET para aprender e compartilhar soluções

O ecossistema .NET se estende além de idiomas, bibliotecas e ferramentas para as pessoas. Você é livre para aprender e contribuir com a comunidade.

  • Saiba: os membros da comunidade .NET organizam eventos online ao vivo e encontros presenciais. Eles constroem software de código aberto, participam de fóruns de perguntas&e respostas e gravam tutoriais em vídeo. Eles escrevem livros e posts de blog que ajudam você a aprender e se desprender quando você não tem certeza do que fazer a seguir.
  • Contribute: .NET é de código aberto no GitHub. Os projetos neste repositório são gerenciados pelo .NET Foundation. Esta organização independente dedica-se ao crescimento de um ecossistema de código aberto confiável, comercialmente amigável em torno da plataforma de desenvolvimento .NET. Neste repositório, você pode compartilhar sua perspetiva e voz exclusivas para ajudar outras pessoas a aprender.

Como o ecossistema .NET se compara a outros?

Se você está familiarizado com o mundo do desenvolvimento de software, pode se perguntar como o ecossistema .NET se compara a outros. Francamente, outros ecossistemas podem fazer reivindicações semelhantes a algumas ou muitas das declarações feitas até agora nesta unidade.

No entanto, uma das características mais distintivas do .NET é que seu desenvolvimento e suporte contínuos vêm não apenas de um grande líder de tecnologia, mas também da comunidade. Partes significativas do .NET foram desenvolvidas através de meios de código aberto. Os contributos da comunidade são bem-vindos e encorajados. Na verdade, 87% dos colaboradores estão fora da Microsoft. Com base nas informações da comunidade, a Microsoft impulsiona ativamente a plataforma com aprimoramentos de recursos, correções de bugs e melhorias de desempenho. Mais de 100.000 pull requests foram aceitos da comunidade.

Além disso, o ecossistema .NET tem impulso:

  • Os desenvolvedores .NET somam mais de 5 milhões!
  • Os resultados das pesquisas de estouro de pilha mostram consistentemente que o .NET Core & o .NET são a estrutura mais amada.
  • Os alunos adoram .NET; 40% dos desenvolvedores que são novos no .NET são estudantes.
  • Os repositórios GitHub para .NET e ASP.NET estão classificados entre os 30 melhores projetos de software de código aberto (OSS) de maior velocidade.
  • O GitHub lista o C# nas cinco principais linguagens de programação, e a linguagem está aumentando em popularidade de acordo com o índice da comunidade de programação TIOBE de 2020.
  • O .NET tem a estrutura web mais rápida do planeta de acordo com TechEmpower benchmarks, um conjunto independente e de código aberto de benchmarks de desempenho da Web que medem dezenas de linguagens e estruturas de aplicativos.

Uma breve história do .NET

O .NET Framework original foi lançado pela primeira vez no início de 2002. Desde então, muitas atualizações e muito mais funcionalidades se seguiram. Após anos de aprimoramentos e novos recursos, o .NET Framework original, especialmente as principais bibliotecas de código, cresceu significativamente.

Depois de 2002, a Microsoft trabalhou para criar uma versão do .NET que tivesse compatibilidade entre plataformas. O objetivo era permitir que os desenvolvedores escrevessem uma base de código e a usassem nos sistemas operacionais macOS, Linux e Windows.

Por meio desses esforços, o .NET Core foi introduzido por volta de 2014. A Microsoft manteve o .NET Framework original, mas novos recursos e melhorias estão reservados para o .NET Core. Core foi mais tarde retirado do nome. As próximas versões principais são .NET 5, .NET 6, .NET 7, .NET 8 e assim por diante. As versões geralmente são lançadas a cada novembro.

Por que vale a pena mencionar o histórico do .NET? Porque você provavelmente encontrará postagens de blog, vídeos e código-fonte destinados ao .NET Framework original. Em alguns casos, as instruções ou o código ainda funcionam, mas em outros casos, talvez seja necessário fazer ajustes para se adequar ao novo .NET.