O que é o .NET?
Quando alguém utiliza o termo .NET, aquilo a que se refere depende muito do contexto. Nesta unidade, irá saber mais sobre o .NET ao analisá-lo enquanto 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 o desenvolvimento de aplicações
O termo ecossistema descreve as múltiplas facetas de um ambiente de desenvolvimento de aplicações, assim como a comunidade que o rodeia. Quando combinadas, estas facetas tornam-se um forte motivo para investir na aprendizagem e criação de aplicações .NET.
Utilizar compiladores e linguagens do .NET para executar aplicações no runtime do .NET
Os programadores de software utilizam linguagens .NET como o 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 de poderem executar o respetivo código, os programadores de software têm de compilá-lo primeiro. O compilador .NET é um programa que converte o código-fonte (em qualquer linguagem de programação suportada) em uma linguagem portátil chamada linguagem intermediária (IL). O compilador do .NET guarda o código IL num ficheiro denominado assemblagem .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 runtime do .NET é um ambiente de execução para a sua assemblagem .NET compilada. Por outras palavras, o runtime do .NET é aquilo que executa e gere a sua aplicação enquanto é executada num sistema operativo anfitrião. Dentro de momentos, vamos analisar melhor aquilo que o runtime do .NET faz.
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, eventualmente irá compreender e apreciar melhor as capacidades subjacentes das linguagens, compiladores e runtime do .NET.
Gorjeta
Às vezes, as pessoas pensam que a linguagem de programação C# é .NET. No entanto, C# e .NET são diferentes. O 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 tempo de execução do .NET executa os assemblies .NET. Essas distinções são conceitos importantes à medida que você aprende mais sobre .NET e C#.
Utilizar as bibliotecas e arquiteturas de aplicação do .NET para obter funcionalidade pré-compilada
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 comunica diretamente com o hardware do seu computador. Controla o fluxo de dados na placa principal, 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 através de um sistema operacional.
- No nível seguinte, o software (por exemplo, o .NET) fornece-lhe uma forma de desenvolver e executar aplicações.
- 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ódigos encapsula funcionalidade para um propósito específico numa só assemblagem. Quanto ao .NET, estão disponíveis milhares de bibliotecas. 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. Basta fazer referência a essas assemblagens e chamar os métodos de que necessita. Desta forma, como programador, está a compilar com base no trabalho de outros programadores de software. Poupa tempo e energia porque não tem de compilar e manter todas as funcionalidades por conta própria.
Uma arquitetura de aplicação combina várias bibliotecas relacionadas, assim como projetos iniciais, modelos de ficheiros, geradores de código e outras ferramentas. Pode utilizar estes recursos para criar aplicações inteiras para um propósito específico. Estas arquiteturas de aplicação são conhecidas como modelos de aplicações. 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 arquiteturas de aplicações denominadas 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 programadores utilizam gestores de pacotes, como o NuGet, para procurar e integrar bibliotecas de código a partir de repositórios de pacotes como a Galeria NuGet.
Quais são os principais modelos de aplicações?
Poderá questionar-se que arquiteturas suportam que modelos de aplicações. Utilize a seguinte tabela para associar um modelo de aplicações a uma arquitetura .NET.
Modelo de aplicações | Estrutura | Notas |
---|---|---|
Web | ASP.NET Core | A arquitetura para criar lógica do lado do servidor. |
Web | ASP.NET Core MVC | A arquitetura para criar lógica do lado do servidor para páginas Web ou APIs Web. |
Web | Razor Pages do ASP.NET Core | A arquitetura para criar HTML gerado pelo servidor. |
Cliente Web | Blazor | O Blazor faz parte do ASP.NET Core. Os respetivos dois modos permitem manipulação do Modelo DOM (Document Object Model) através de sockets como método de comunicação para executar código do lado do servidor ou como uma implementação WebAssembly para executar código C# compilado num browser. |
Ambiente de Trabalho | .NET para Mac | Permite que os desenvolvedores .NET criem aplicativos para dispositivos Mac com interface do usuário nativa e acesso à API. |
Ambiente de Trabalho | WinForms | Uma arquitetura para criar aplicações ao prático "estilo cinzento" do Windows. |
Ambiente de Trabalho | Windows Presentation Foundation (WPF) | Uma arquitetura para criar aplicações de computador dinâmicas que estejam em conformidade com diferentes fatores de forma. O WPF permite que os elementos de forma executem movimento, desvanecimentos, deslizes e outros efeitos com a ajuda de uma extensa biblioteca de animações. |
Móvel | .NET para Android | Permite que os desenvolvedores do .NET criem aplicativos para dispositivos Android com interface do usuário nativa e acesso à API. |
Mó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.
Utilizar ferramentas .NET para criar aplicações .NET
Os programadores 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.
O Visual Studio 2022 é o principal ambiente de desenvolvimento da Microsoft. Há milhões de programadores que o utilizam para criar aplicações .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 diferentes ferramentas e está licenciada para diferentes fins.
O 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 desenvolvimento C# aprimorado para o Visual Studio Code e aprimora a experiência de trabalhar com projetos .NET com suporte para um explorador de soluções, sistema de projeto, aprimoramentos de teste e explorador, desenvolvimento assistido por IA e serviços de linguagens poderosas para os melhores recursos de linguagem C# da categoria, como navegação de código, refatoração, consciência semântica e muito mais.
Os programadores que preferem um fluxo de trabalho de linha de comandos podem utilizar uma combinação do Visual Studio Code, o editor de código mais popular do mundo, e da interface de linha de comandos do .NET, também conhecida como CLI do .NET.
Além disso, pode escolher entre várias ferramentas originais e de terceiros para muitos casos de utilização avançados do .NET. As opções incluem os geradores de perfis de código, executores de testes de unidade e analisadores de cobertura do código.
Pode encontrar outras ferramentas .NET para outros cenários. Por exemplo, posteriormente neste módulo, irá trabalhar com o Try .NET. Você usará essa interface baseada em navegador para escrever aplicativos simples para ajudá-lo a aprender a linguagem de programação C#.
Encontrar soluções e respostas em documentação e tutoriais
A Microsoft disponibiliza um vasto conjunto de documentação, tutoriais e formação. Encontrará materiais de aprendizagem em modalidades populares para o ajudar em cada fase do seu processo de aprendizagem.
A tabela a seguir apresenta alguns ótimos recursos que você pode querer marcar e voltar.
Recurso | Objetivo |
---|---|
Microsoft Learn | Fornece tutoriais de início rápido e documentação de referência definitiva. |
Padrões e Práticas | Ajuda os programadores e arquitetos de software a encontrar soluções para as necessidades comuns de desenvolvimento de aplicações. Os recursos muitas vezes transcendem os detalhes de baixo nível de escrita de código e aprofundam a escolha de produtos e serviços que permitem arquiteturas escaláveis aparentemente infinitas. |
Vídeos do .NET | Disponibiliza tutoriais em vídeo da equipa do .NET. Esses vídeos orientam os programadores em cenários de utilização comuns. |
Introdução ao C# | Disponibiliza laboratórios práticos para ajudar a desenvolver as suas competências ao combinar instruções, exercícios, multimédia, provas de aferição e uma forma de controlar o seu progresso. |
Interaja com a comunidade do .NET para aprender e partilhar soluções
O ecossistema do .NET vai além das linguagens, das bibliotecas e das ferramentas para as pessoas. Você é livre para aprender e contribuir com a comunidade.
- Aprender: os membros da comunidade do .NET alojam eventos online em direto e encontros presenciais. Criam software open source, participam em fóruns de Perguntas e Respostas e gravam tutoriais em vídeo. Escrevem livros e criam publicações de blogue que ajudam a aprender e a avançar quando não tem a certeza do que fazer a seguir.
- Contribuir: o .NET é open source no GitHub. Os projetos neste repositório são gerenciados pelo .NET Foundation. Esta é uma organização independente dedicada ao crescimento de um ecossistema open source fidedigno e comercialmente favorável criado com base na plataforma de programação do .NET. Nesse repositório, pode partilhar a sua perspetiva e experiência para ajudar outras pessoas a aprenderem.
Como é o ecossistema do .NET em comparação com outros?
Se estiver familiarizado com o mundo do desenvolvimento de software, poderá ter uma ideia de como é o ecossistema do .NET em comparação com outros. Outros ecossistemas podem ter algumas semelhanças a algumas ou à maioria das afirmaçõ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. Foram desenvolvidas partes significativas do .NET através de open source. As contribuições e opiniões da comunidade são bem-vindas e incentivadas. Na verdade, 87% dos contribuidores trabalham fora da Microsoft. Com base nas contribuições da comunidade, a Microsoft faz com que a plataforma evolua ativamente através de melhoramentos em termos de funcionalidades, correções de erros e melhorias de desempenho. Foram aceites mais de 100 mil pedidos Pull da comunidade.
Além disso, o ecossistema do .NET tem impulso:
- Existem mais de 5 milhões de programadores do .NET.
- Os resultados das pesquisas de estouro de pilha mostram consistentemente que o .NET Core & .NET são a estrutura mais amada.
- Os estudantes adoram o .NET; 40% dos programadores que estão a dar os primeiros passos no .NET são estudantes.
- Os repositórios do GitHub para o .NET e para o ASP.NET estão classificados entre os 30 principais projetos de software open-source (OSS) de velocidade mais alta.
- 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 da Web mais rápida do planeta de acordo com os benchmarks TechEmpower, 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, seguiram-se muitas atualizações e muito mais funcionalidades. Após anos de melhorias e novas funcionalidades, o .NET Framework original, sobretudo as bibliotecas de código-chave, cresceu significativamente.
Depois de 2002, a Microsoft trabalhou para fazer uma versão do .NET que tivesse compatibilidade entre plataformas. O objetivo era permitir aos programadores escrever uma base de código e utilizá-la nos sistemas operativos MacOS, Linux e Windows.
Através destes esforços, o .NET Core foi apresentado por volta de 2014. A Microsoft manteve o .NET Framework original, mas novos recursos e melhorias estão reservados para o .NET Core. Core acabou por ser retirado do nome. As próximas versões principais são .NET 5, .NET 6, .NET 7, .NET 8 e assim por diante. Geralmente, as versões são lançadas em novembro.
Porque é que vale a pena mencionar a história do .NET? Vale a pena fazê-lo porque é provável que encontre publicações de blogue, vídeos e código fonte sobre o .NET Framework original. Em alguns casos, o código ou as instruções ainda funcionam, mas noutros casos, poderá ser necessário fazer ajustes para adaptar o novo .NET.