O que é .NET?
Quando alguém usa o termo .NET, o que significa depende muito do contexto. Nesta unidade, você aprenderá sobre o .NET examinando-o 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 a comunidade que o envolve. Essas facetas se combinam para criar um motivo atraente para investir no aprendizado do .NET e na criação de aplicativos .NET.
Usar linguagens e compiladores do .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 que eles gravam 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 com suporte) em uma linguagem portátil chamada IL ( linguagem intermediária ). O compilador .NET salva o código IL em um arquivo chamado assembly .NET. Compilando o código em um formato intermediário, você pode usar a mesma base de código onde quer que você execute o código, seja no Windows ou linux, ou em hardware de computador de 32 bits ou 64 bits.
O runtime do .NET é um ambiente de execução no seu assembly do .NET compilado. Em outras palavras, o runtime do .NET é o que executa e gerencia seu aplicativo conforme ele é executado em um sistema operacional host. Falamos mais sobre o que o runtime do .NET faz em apenas um momento.
Felizmente, como um desenvolvedor de software que está apenas começando com o .NET, você não precisa entrar em detalhes de como esses mecanismos funcionam. Com a experiência, você chega a entender melhor e apreciar o poder subjacente de linguagens e compiladores do .NET e do runtime.
Dica
Às vezes, as pessoas pensam que a linguagem de programação em C# é .NET. No entanto, C# e .NET são distintos. C# é uma sintaxe de linguagem de programação. Como parte da sintaxe, você pode referenciar e chamar métodos definidos em bibliotecas de código do .NET ou assemblies. Em seguida, use o compilador C# instalado com o SDK do .NET para criar um assembly .NET com base no código C#. Em seguida, o runtime do .NET executa os assemblies do .NET. Essas distinções são conceitos importantes à medida que você aprende mais sobre .NET e C#.
Usar estruturas e bibliotecas de aplicativos do .NET para aproveitar a funcionalidade predefinida
Todos os softwares são integrados 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 computador. Ele controla o fluxo de dados na placa-mãe, processadores, memória e discos rígidos.
- No próximo nível, o software permite que o usuário final forneça instruções por meio 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 as 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ó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 de primeira parte ou de terceiros, e podem ser comerciais ou de código aberto. As bibliotecas fornecem uma ampla variedade de funcionalidades que você pode usar em seus aplicativos. Você só precisa referenciar esses assemblies e chamar os métodos necessários. Dessa forma, como desenvolvedor, você se baseia no trabalho de outros desenvolvedores de software. Você economiza tempo e energia porque não precisa criar e manter todos os recursos por conta própria.
Uma estrutura de aplicativos combina várias bibliotecas relacionadas, juntamente com projetos initores, 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 do .NET estão disponíveis para modelos de aplicativos populares, como desenvolvimento na Web, desenvolvimento móvel e desktop 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 dos modelos de plataforma ou 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 do NuGet.
Quais são os principais modelos de aplicativo?
Você pode se perguntar quais estruturas dão suporte a quais modelos de aplicativo. Use a tabela a seguir para mapear um modelo de aplicativo para uma estrutura do .NET.
| Modelo de aplicativo | Framework | Anotaçõ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 criar 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 | 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 de WebAssembly para execução do C# compilado em um navegador. |
| Área de Trabalho | .NET para Mac | Permite que os desenvolvedores do .NET criem aplicativos para dispositivos Mac com acesso nativo à interface do usuário e à API. |
| Área de Trabalho | WinForms | Uma estrutura para criar aplicativos no estilo "acinzentado" do Windows. |
| Área de Trabalho | 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 elementos de formulário executem movimentos, desvanecimentos, deslizes 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 acesso nativo à interface do usuário e à API. |
| Telemóvel | .NET para iOS | Permite que os desenvolvedores do .NET criem aplicativos para iOS e iPadOS com acesso nativo à interface do usuário e à 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 capacita ambientes e mecanismos populares de desenvolvimento de jogos de terceiros e de software livre, como o Unity.
Usar ferramentas do .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 código de depuração. Esta seção descreve várias ferramentas do .NET que você usa para criar aplicativos .NET.
O Visual Studio 2022 é o ambiente de desenvolvimento principal 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 por meio do 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 fins diferentes.
O Visual Studio Code é o editor de código principal da Microsoft que dá suporte a várias linguagens de programação e tem suporte no Windows, Mac e Linux. A Extensão do Kit de Desenvolvimento do C# traz um desenvolvimento focado no editor em C# para o Visual Studio Code e aprimora a experiência de trabalhar com projetos do .NET com suporte para um explorador de soluções, sistema de projetos, aprimoramentos de teste e explorador, desenvolvimento assistido por IA e um serviço de linguagem avançado para recursos de linguagem C# de primeira classe, como navegação de código, refatoração, reconhecimento semântico e muito mais.
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) e da .NET CLI (interface de linha de comando 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 ferramentas de profilagem de código, ferramentas de execução de testes de unidade e analisadores de cobertura de código.
Você pode encontrar outras ferramentas do .NET para outros cenários. Por exemplo, há editores de código C# disponíveis para uso diretamente no navegador. Os editores de navegador fornecem um ambiente leve para escrever, executar e testar código C# sem a necessidade de instalar nenhum software em seu computador local.
Encontrar soluções e respostas na documentação e tutoriais
A Microsoft fornece ativamente um conjunto avançado de documentação, tutoriais e treinamento. Você pode encontrar materiais de aprendizagem em modalidades populares para ajudá-lo em cada etapa em seu processo de aprendizagem.
A tabela a seguir apresenta alguns recursos excelentes para os quais talvez você queira marcar e voltar.
| Recurso | Propósito |
|---|---|
| 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 aprofundam-se na escolha de produtos e serviços que permitem arquiteturas escalonáveis aparentemente infinitas. |
| Vídeos do .NET | Fornece tutoriais em vídeo da equipe do .NET. Esses vídeos orientam os desenvolvedores em cenários comuns de uso. |
| Introdução ao C# | Fornece laboratórios práticos para ajudá-lo a criar suas habilidades combinando instruções, exercícios, mídia, verificações de conhecimento e um meio de acompanhar seu progresso. |
Aprenda e compartilhe soluções com a comunidade do .NET
O ecossistema do .NET vai além de idiomas, bibliotecas e ferramentas para as pessoas. Você é livre para interagir aprendendo e contribuindo para a comunidade.
- Saiba: Os membros da comunidade do .NET hospedam encontros pessoais e eventos online ao vivo. Eles criam software de software livre, participam de fóruns de Q&A e gravam tutoriais em vídeo. Eles escrevem livros e postagens no blog que ajudam você a aprender e se desprender quando você não tem certeza do que fazer a seguir.
- Contribua: o .NET é de software livre no GitHub. O .NET Foundation gerencia os projetos neste repositório. Esta organização independente é dedicada ao crescimento de um ecossistema de software livre confiável e comercialmente amigável em torno da plataforma de desenvolvimento do .NET. Neste repositório, você pode compartilhar sua perspectiva e voz exclusivas para ajudar outras pessoas a aprender.
Como o ecossistema do .NET se compara a outros?
Se você estiver familiarizado com o mundo do desenvolvimento de software, poderá se perguntar como o ecossistema do .NET se compara a outros. Francamente, outros ecossistemas podem fazer declarações semelhantes a algumas ou muitas das declarações feitas até agora nesta unidade.
No entanto, uma das características mais distintas do .NET é que seu desenvolvimento e suporte contínuos vêm não apenas de um grande líder tecnológico, mas também da comunidade. Partes significativas do .NET foram desenvolvidas por meio de meios de software livre. As contribuições e a entrada da comunidade são bem-vindas e incentivadas. Na verdade, 87% dos colaboradores estão fora da Microsoft. Com base na entrada da comunidade de mais de 100.000 solicitações de pull aceitas, a Microsoft move ativamente a plataforma para frente com aprimoramentos de recursos, correções de bugs e melhorias de desempenho.
Além disso, o ecossistema do .NET tem impulso:
- Os desenvolvedores do .NET são mais de 5 milhões!
- Os resultados das pesquisas do Stack Overflow mostram consistentemente que o .NET Core &.NET é a estrutura mais amada.
- Os alunos adoram .NET; 40% dos desenvolvedores que são novos no .NET são estudantes.
- Os repositórios do GitHub para .NET e ASP.NET estão classificados entre os 30 principais projetos de software livre (OSS) de alta velocidade.
- O GitHub lista o C# nas cinco principais linguagens de programação e o idioma está aumentando em popularidade de acordo com o índice da comunidade de programação TIOBE de 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 de software livre independente de parâmetros de desempenho da Web que medem dezenas de linguagens e estruturas de aplicativos.
Um breve histórico do .NET
O .NET Framework original foi lançado pela primeira vez no início de 2002. Desde então, várias atualizações e 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.
Após 2002, a Microsoft trabalhou para criar uma versão do .NET que tinha compatibilidade entre plataformas. O objetivo era permitir que os desenvolvedores escrevessem uma base de código e a usássem em sistemas operacionais macOS, Linux e Windows.
Por meio desses esforços, o .NET Core foi introduzido por volta de 2014. A Microsoft mantém o .NET Framework original, mas novos recursos e melhorias são reservados para o .NET Core. Core foi removido posteriormente 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 normalmente são lançadas a cada novembro.
Por que é relevante mencionar o histórico do .NET? Como é provável que você encontre 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, mas em outros casos, talvez seja necessário fazer ajustes para se ajustar ao novo .NET.