Softwares para desenvolvimento¶
Conforme explicado na introdução, .net é uma plataforma para desenvolvimento de softwares das mais variadas finalidades. Desta forma o cardápio de ferramentas para desenvolvimento também varia conforme a natureza do trabalho de construção ou sustentação. Ao longo das duas décadas de existência também houveram modificações substanciais na plataforma, tornando várias ferramentas obsoletas. Afim de manter uma visão combinada de ferramentas, bibliotecas e propósitos de utilização, os softwares para desenvolvimento apresentados logo abaixo foram escolhidos levando em conta:
- Experiência de trabalho do autor
- Preferência para ferramentas e produtos da Microsoft, por ser o principal mantenedor do .net
- Popularidade e disponibilidade de fontes comunitárias de informação
- Suporte softwares legado.
Software para desenvolvimento em geral I - Essenciais¶
.net sdk ⧉¶
É o SDK necessário para configuração da estação de trabalho do desenvolvedor. É um conjunto abrangente de tecnologias para suporte ao desenvolvimento de softwares para aspnet, micro-serviços, desktop e mobile. A versão mais atualizada no momento em que este documento está sendo escrito é a versão 8.0 ⧉. É uma versão LTE, com fim do suporte previsto para novembro de 2026. Desde o .net 5.0, a Microsoft tem padronizado que as LTE terão suporte de 03 anos e as versões ímpares terão suporte de 18 meses. Mais informações podem ser conferidas no endereço Cadência de versões do .net ⧉.
.net runtime ⧉¶
É o runtime necessário para executar aplicações .net fora da estação de desenvolvimento.
Atenção aqui! A obtenção e instalação separada dos runtimes era uma tarefa obrigatória para o .net framework visto que eram instalados de maneira mais interligada ao Windows. Com o .net, durante a [compilação para distribuição] é possível embutir uma versão mínima do runtime, dispensando assim o trabalho de instalação do runtime. É importante observar que existem, para cada versão do .net, três runtimes distintos: 01 para execução de aplicações AspNet, 01 para execução de aplicações em desktop e 01 para execução de aplicações em linha de comando, sendo este o mais básico de todos. Estas distinções são importantes para distribuição da aplicação, uma vez que ao instalar o SDK na estação de desenvolvimento, os três runtimes já são implicitamente instalados.
.net tool ⧉¶
É um utilitário de linha de comando que permite, virtualmente, a criação de projetos de código, soluções, projetos de testes, compilação e distribuição de aplicativos codificados em .net. Também oferece suporte a criação de novos aplicativos baseado em modelos pré prontos. Uma lista de modelos disponíveis pode ser conferida no artigo dotNET new <Template> ⧉.
Outras tarefas menos óbvias incluem a criação de modelos em banco de dados e o preenchimento de registros de inicialização de banco de dados modelados com o .net ef.
O .net tool é instalado junto com o .net sdk, não sendo necessário nem possível uma instalação separada.
Visual Studio Code ⧉¶
É uma IDE multipropósito e versátil que vem sendo evoluída pela Microsoft desde 2015. Oferece suporte de programação, code complete, depuração através de um recurso denominado Language Server ⧉.
A instalação padrão do Visual Studio Code oferece suporte à programação em Typescript, Javascript, CSS e HTML. O suporte à programação em c# para .net é possível por meio da instalação de uma extension específica ⧉. A criação de solutions, projetos a partir de modelos pré-prontos, instalação de pacotes nuget deve ser realizada por fora, utilizando a ferramenta .net tool.
Além da versão para estação de trabalho, o Visual Studio Code oferece uma IDE baseada em navegador que está se tornado referência para desenvolvimento e oferece uma experiência muito confortável para desenvolvimento de código em repositórios remotos. Trata-se do Visual Studio Code Web ⧉. Sugere-se, como leitura adicional, a utilização do VsCode com o CodeSpaces do Github ⧉.
Nuget ⧉¶
O NuGet é o gerenciador de pacotes e bibliotecas da plataforma .net desde 2010. Desde o seu lançamento, a sua utilização em projetos .NET Framework, dotNET .Core e finalmente .net mudou bastante. Estas mudanças são importantes principalmente quando se está trabalhando com projetos nas plataformas .NET Standard (1.0), .NET Framework (anteriores à versão 4.6.2) e .NET core 1.1. O quadro abaixo apresenta o cenário destas variações.
~== Quadro utilização nuget em Visual Studio/Net Framework/.Net CORE ==~
O formato atual de utilização está padronizado e se dá através de pacotes no formato nuPkg ⧉. O gerenciamento de bibliotecas em projetos é realizado de duas formas:
-
Através do utilitário .net tool, utilizando os comando dotnet add package ⧉ para inclusão de bibliotecas, dotnet remove package ⧉ para remoção de bibliotecas e dotnet list package ⧉ para descoberta de bibliotecas.
-
Integrado ao Visual Studio ⧉, através do caminho Solution Explorer > Project > Manage NuGet Packages
Visual Studio ⧉¶
O Visual Studio é a ferramenta de referência para programação em .net. Distribuído e mantido pela Microsoft, é uma IDE que permite a programação nas principais linguagens suportadas pela plataforma .NET (C#, Visual Basic.NET, F#) além de suporte integrado ao desenvolvimento em TypeScript e Javascript. Oferece suporte integrado para criação de solutions, projects, gerenciamento de bibliotecas NuGet, depuração local, depuração remota, hot reload, profiling de código, controle de versão, publicação local e publicação remota, testagem, dentre outras funcionalidades.
A instalação simplificada é idêntica à instalação de outros aplicações em Windows, Linux e Mac e instala todas as capacidades disponíveis para desenvolvimento de aplicativos tanto nas versões mais recentes do .NET e em plataforma nativa C/C++. A versão atual do Visual Studio é a versão Visual Studio 2022. Esta versão do IDE suporta o desenvolvimento de aplicações em versões legadas do .NET e do C/C++. Versões mais antigas do framework necessitam de outras versões do Visual Studio. O quadro abaixo apresenta uma relação das versões do IDE e as versões suportadas de solutions e projetos .NET e C/C++.
~== Quadro versoes do Visual Studio ==~
Além do modo de instalação simplificado, em suas versões mais recentes (desde o versão 2015) o Visual Studio é personalizável através da escolha de cargas de trabalho. É uma personalização importante em vista da variedade de bibliotecas e ferramentas necessários para cada tipo de desenvolvimento suportado na plataforma .NET
Além das cargas de trabalho, é possível a instalação de componentes individuais. Isso permite uma personalização ainda mais refinada do IDE, principalmente para suporte de frameworks antigos, integração IIS e IIS Express, emuladores e depuração de aplicativos em Android (nativos, .net ou java), runtimes do C/C++ para aplicações nativas, suporte ao Unity, dentre outros.
Uma explicação mais detalhada das cargas de trabalho e suas finalidades pode ser encontrado no artigo Modify Visual Studio workloads, components and language packs ⧉.
Documentação do .Net ⧉¶
O principal hub contendo documentação de referência sobre a plataforma .net. Além da documentação de API oferece ainda recursos valiosas de explicações sobre fundamentos da plataforma AspNet, arquitetura, padrões de desenvolvimento, insights e projetos de exemplos em muitos cenários de desenvolvimento.
Mesmo a seção de ajuda sobre as API também oferecem links para artigos explicativos e cenários de utilização destas API. Contém artigos e links diretamente para repositórios de códigos no GitHub.
Algumas das seções de destaque:
Software para desenvolvimento em geral I - Opcionais¶
Algumas ferramentas para operações mais complexas com programação, decompilação, refatoramento de código, depuração de assemblies.
ILSpy ⧉¶
É um poderoso decompilador para assemblies .net, independentemente da linguagem (C#, Vb.net, F#) nas quais foram gerados. Tem suporte até a versão atual da plataforma (.net8). Tem uma interface simples de utilizar e o site dos mantenedores dá valiosas instruções sobre uso.
Uma desvantagem do ILSpy é não trabalhar diretamente com pacotes Nuget.
dnSpy ⧉¶
Faz as mesmas rotinas de decompilação que o ILSpy, no entanto tem um acréscimo muito importante: Permite depurar programas .net em execução.
No momento em que estes manuais estão sendo elaborados, o projeto não está mais sendo mantido. No entanto, a versão disponível é capaz de decompilar e depurar aplicações .net framework (até a versão 4.8) e .net (até a versão 6).
Jetbrains Resharper ⧉¶
É uma das melhores e mais antigas extensões de refatoração e assistência de código para o Visual Studio (desde o Visual Studio 2003). É mantido pela Jetbrains, sendo uma das ferramentas para programação em .net. Além deste produto, a Jetbrains oferece ferramentas para decompilação (com suporte a pacotes nuget), profiling de memória e execução, uma IDE própria (Jetbrains Rider).