O que é o .NET?
Quando alguém usa o termo .NET, o significado depende muito do contexto. Nesta unidade, você aprenderá sobre o .NET examinando-o como um ecossistema. Em outras palavras, aprenderá que o .NET é composto por muitas partes e pessoas que juntas formam um ambiente poderoso para a criação de aplicativos.
O .NET é um ecossistema para o desenvolvimento de aplicativos
O termo ecossistema descreve as múltiplas facetas de um ambiente de desenvolvimento de aplicativos e da comunidade ao redor dele. Essas facetas são combinadas para criar um motivo convincente para investir em aprendizado e na criação de aplicativos no .NET.
Usar os compiladores e as linguagens .NET para executar aplicativos no runtime do .NET
Os desenvolvedores de software usam linguagens .NET como C# e F# para escrever código-fonte. Cada linha de código escrita expressa uma instrução ou um comando que o computador deve executar enquanto o programa está em execução.
Para que os desenvolvedores de software possam executar o código, eles devem primeiro compilá-lo. O compilador do .NET é um programa que converte o código-fonte em uma linguagem especial chamada IL (linguagem intermediária). O compilador do .NET salva o código de IL em um arquivo chamado assembly do .NET. Ao compilar o código em um formato "intermediário", você pode usar a mesma base de código, independentemente do local de execução dele, seja no Windows, no Linux ou em um hardware de computador de 32 ou 64 bits.
O runtime do .NET é um ambiente de execução para o seu assembly do .NET compilado. Em outras palavras, o runtime do .NET é o que executa e gerencia o seu aplicativo à medida que ele é executado em um sistema operacional do host. Falaremos mais sobre o que o runtime do .NET faz em instantes.
Felizmente, como os desenvolvedores de software estão apenas começando a usar o .NET, não é preciso entender como esses mecanismos funcionam a princípio. Com a experiência, você passará a compreender e apreciar totalmente a capacidade subjacente das linguagens, dos compiladores e do runtime do .NET.
Dica
Às vezes, as pessoas acham erroneamente que a linguagem de programação C# é .NET. No entanto, C# e .NET são diferentes. C# é uma sintaxe de linguagem de programação. Como parte da sintaxe, você pode referenciar e chamar métodos definidos em assemblies, ou bibliotecas de código do .NET. Além disso, você usará o compilador do C# instalado com o SDK do .NET para criar um assembly com seu código C#. O runtime do .NET executa assemblies do .NET. Ao entender essas distinções, você compreenderá conceitos importantes conforme aprende mais sobre o .NET e o C#.
Usar bibliotecas e estruturas de aplicativos do .NET para aproveitar a funcionalidade pré-criada
Todos os softwares são criados em camadas, o que significa que são executados 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 computador. Ele controla o fluxo de dados na placa-mãe, nos processadores, na memória e nos discos rígidos.
- No nível seguinte, o software permite que o usuário final forneça instruções por meio de um sistema operacional.
- No próximo nível, um software como o .NET fornece uma maneira para você desenvolver e executar aplicativos.
- No nível seguinte, as estruturas de aplicativo e as bibliotecas de funcionalidade permitem criar rapidamente aplicativos avançados usando menos esforço do que os métodos de desenvolvimento mais antigos permitiam.
Uma biblioteca de códigos encapsula a funcionalidade para uma finalidade específica em um assembly. 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 software livre. Elas fornecem uma ampla gama de funcionalidades que você pode usar em seus aplicativos. Basta fazer referência a esses assemblies e chamar os métodos necessários. Dessa forma, como desenvolvedor, você cria com base no trabalho de outros desenvolvedores de software. Você poupa tempo e energia porque não precisa criar e manter todos os recursos por conta própria.
Uma estrutura do aplicativo combina várias bibliotecas relacionadas, bem como projetos iniciais, modelos de arquivos, geradores de código e outras ferramentas. Use esses recursos a fim de criar aplicativos inteiros para uma finalidade específica. Essas estruturas de aplicativos são conhecidas como modelos de aplicativo. Por exemplo, estruturas de aplicativos do .NET populares estão disponíveis para modelos de aplicativos como desenvolvimento para a Web e desenvolvimento móvel, de área de trabalho e de jogos.
Você pode instalar o SDK do .NET diretamente ou instalando o Visual Studio 2022. O SDK do .NET 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 aplicativos que deseja compilar.
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 do NuGet.
Quais são os principais modelos de aplicativos?
Você deve estar imaginando quais estruturas dão suporte a quais modelos de aplicativo. Use a tabela a seguir a fim de mapear um modelo de aplicativo para uma estrutura do .NET.
Modelo de aplicativo | Estrutura | Observações |
---|---|---|
Web | ASP.NET Core | A estrutura para a criação da lógica do lado do servidor. |
Web | ASP.NET Core MVC | A estrutura para a criação da lógica do lado do servidor para páginas da Web ou APIs Web. |
Web | Razor Pages do ASP.NET Core | A estrutura para a criação de HTML gerado pelo servidor. |
Cliente Web | Blazor | O Blazor é uma parte do ASP.NET Core. Os dois modos dele permitem a manipulação de DOM (Modelo de Objeto do Documento) por meio de soquetes como um veículo de comunicação para a execução de código do lado do servidor ou como uma implementação do WebAssembly para a execução do C# compilado no navegador. |
Desktop | WinForms | Uma estrutura para criar aplicativos no estilo "acinzentado" do Windows. |
Desktop | Windows Presentation Foundation (WPF) | Uma estrutura para criar aplicativos da área de trabalho dinâmicos em conformidade com diferentes fatores forma. O WPF permite que os elementos da forma realizem movimentos, esmaecimentos, deslizamentos e outros efeitos com a ajuda de uma biblioteca de animações avançada. |
Móvel | Xamarin | Permite que os desenvolvedores do .NET criem aplicativos para dispositivos iOS e Android. |
Além disso, o .NET capacita ambientes populares de desenvolvimento de jogos de software livre e de terceiros e mecanismos como o Unity.
Usar as ferramentas do .NET para criar aplicativos .NET
Os desenvolvedores de software dependem de ferramentas para adicionar referências a bibliotecas de código e para escrever, compilar e depurar código. Esta seção descreve várias ferramentas do .NET que você usará para criar aplicativos .NET.
O Visual Studio 2022 é o principal ambiente de desenvolvimento da Microsoft. Milhões de desenvolvedores o utilizam 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 no processo de desenvolvimento de aplicativos. Visual Studio 2022 está disponível em três edições: Community, Professional e Enterprise. Cada edição inclui ferramentas diferentes e é licenciada para finalidades diferentes.
Os desenvolvedores que preferem um fluxo de trabalho de linha de comando podem usar uma combinação do Visual Studio Code, o editor de código mais popular do mundo, com a interface de linha de comando do .NET, também conhecida como CLI do .NET.
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 os criadores de perfil de código, executores de teste de unidade e analisadores de cobertura de código.
Você pode encontrar outras ferramentas do .NET para outros cenários. Por exemplo, posteriormente neste módulo, você trabalhará com Try .NET. Você usará essa interface baseada em navegador para escrever aplicativos simples que ajudarão a aprender a linguagem de programação C#.
Encontrar soluções e respostas na documentação e nos tutoriais
A Microsoft fornece ativamente um conjunto avançado de documentação, tutoriais e treinamentos. Você encontrará materiais de aprendizagem em modalidades populares que ajudarão em cada etapa do processo de aprendizado.
A tabela a seguir contém ótimos recursos que você pode marcar como favoritos e acessar mais tarde.
Recurso | Finalidade |
---|---|
Microsoft Learn | Fornece tutoriais de início rápido e documentação de referência definitiva. |
Parceiros e práticas | Ajuda os 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 de escrita de código e se aprofundam em produtos e serviços que permitem arquiteturas aparentemente infinitas e escalonáveis. |
Vídeos do .NET | Fornece tutoriais de vídeo da equipe .NET. Esses vídeos orientam os desenvolvedores em relação a cenários de uso comuns. |
Microsoft Learn | Fornece laboratórios práticos para que você desenvolva suas habilidades, combinando instruções, exercícios, mídia, verificações de conhecimentos e um meio de acompanhar seu progresso. |
Interagir com a comunidade do .NET para aprender e compartilhar soluções
O ecossistema do .NET ultrapassa as linguagens, bibliotecas e ferramentas e chega até as pessoas. Você é livre para aprender e contribuir com a comunidade.
- Aprender: os membros da comunidade do .NET organizam eventos online em tempo real e encontros presenciais. Eles criam softwares livres, participam de fóruns de perguntas e respostas e gravam tutoriais em vídeo. Eles escrevem livros e criam postagens no blog que ajudam você a aprender e saber como prosseguir quando não tem certeza do que fazer em seguida.
- Contribuir: o .NET é um software livre no GitHub. Os projetos nesse repositório são gerenciados pela .NET Foundation. Essa organização independente é dedicada ao crescimento de um ecossistema de software livre confiável e comercialmente amigável relacionado à plataforma de desenvolvimento do .NET. Nesse repositório, você pode compartilhar sua perspectiva e voz exclusivas para ajudar outras pessoas a aprenderem.
Como o ecossistema .NET se compara a outros?
Se você estiver familiarizado com o mundo de desenvolvimento de software, poderá se perguntar como o ecossistema .NET se compara a outros. Na verdade, outros ecossistemas podem realizar funções semelhantes a algumas ou muitas das declarações feitas até agora nesta unidade.
No entanto, um dos recursos mais distintos do .NET é que o desenvolvimento e suporte contínuos dele são provenientes não apenas de um líder de tecnologia, mas também da comunidade. Partes significativas do .NET foram desenvolvidas por meio de software livre. Os insights e as contribuições da comunidade são bem-vindos e incentivados. Na verdade, 87% dos colaboradores estão fora da Microsoft. Com base na contribuição da comunidade, a Microsoft desenvolve ativamente a plataforma atualizando-a com melhorias de recursos, correções de bugs e aprimoramentos de desempenho. Mais de 100 mil solicitações de pull da comunidade foram aceitas.
Além disso, o ecossistema .NET é popular:
- Há mais de 5 milhões de desenvolvedores de .NET!
- Os resultados de pesquisas do Stack Overflow em 2019 e 2020 mostraram que o .NET Core é a estrutura mais querida.
- Os estudantes adoram o .NET; 40% dos desenvolvedores que estão iniciando no .NET são estudantes.
- Os repositórios do GitHub para .NET e ASP.NET estão classificados entre os 30 projetos de OSS (software livre) mais rápidos.
- O GitHub lista o C# entre as cinco principais linguagens de programação, e a linguagem está aumentando em popularidade de acordo com o índice da comunidade de programação TIOBE 2020.
- O .NET tem a estrutura da Web mais rápida do planeta de acordo com os parâmetros de comparação do TechEmpower, um conjunto independente de software livre de parâmetros de comparação da Web que avalia dezenas de linguagens e estruturas de aplicativos.
Um breve histórico do .NET
O .NET Framework original foi lançado no início de 2002. Desde então, muitas atualizações e diversas outras funcionalidades foram introduzidas. Depois de anos de aprimoramentos e novos recursos, o .NET Framework original, especialmente as bibliotecas de código-chave, cresceu significativamente.
Depois de 2002, a Microsoft trabalhou para criar uma versão do .NET com compatibilidade entre plataformas. O objetivo era permitir que os desenvolvedores escrevessem uma base de código e a usassem em 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 aprimoramentos foram reservados para o .NET Core. O Core foi posteriormente descartado do nome. As versões principais seguintes foram .NET 5, .NET 6, .NET 7 e assim por diante. As versões geralmente são lançadas em novembro.
Por que é relevante mencionar o histórico do .NET? Porque você provavelmente encontrará postagens no blog, vídeos e código-fonte direcionados ao .NET Framework original. Em alguns casos, as instruções ou o código ainda funcionam, porém, em outros, talvez seja necessário fazer ajustes para se adequar ao novo .NET.
Precisa de ajuda? Confira nosso guia de solução de problemas ou forneça comentários específicos relatando um problema.