Soluções gratuitas para desenvolvimento em .NET e ASP.NET - Parte 1

Renato Groffe
8 min readDec 11, 2016

--

Uma das mais populares plataformas de desenvolvimento da atualidade, o .NET Framework se destaca pelo excelente suporte no desenvolvimento de softwares voltados às mais variadas finalidades. Muito deste sucesso se deve à visão da Microsoft em procurar atender não apenas ao ambiente corporativo, como também oferecer uma experiência satisfatória a usuários finais em aplicações dos mais diversos tipos.

Embora o .NET Framework por si só conte com uma ampla gama de bibliotecas e componentes nativos, não são raros os casos de projetos que acabam por recorrer a alternativas complementares que atendam a uma demanda específica. Por mais que ainda exista um certo preconceito da parte de algumas organizações, muitos destes frameworks e ferramentas são soluções gratuitas e/ou de código aberto que contam com uma grande aceitação dentro da comunidade técnica. A própria Microsoft tem investido pesado em iniciativas open source, com projetos vitais da plataforma .NET como o ASP.NET Core, o .NET Core e o Entity Framework Core hospedados no GitHub.

O objetivo desta série de artigos é apresentar, em linhas gerais e de forma categorizada, alguns exemplos de ferramentas e frameworks gratuitos que podem ser úteis no cotidiano de desenvolvedores .NET. Buscando fornecer respostas a contextos bem definidos, tais soluções têm por meta simplificar o trabalho de implementação, assim como promover sempre que possível a adoção de boas práticas.

E por falar em tecnologias Microsoft, no dia 09/06/2017 (sexta) às 21h00horário de Brasília — teremos mais um hangout no Canal .NET. O tema desta será o uso do SQL Server Query Store na análise do plano de execução de consultas, com a presença da MTAC Sulamita Dantas.

Para se inscrever e participar acesse esta página. A transmissão será via YouTube, em um link a ser divulgado em breve.

Visual Studio Community 2017

Atualmente no Update 15.2, o Visual Studio 2017 conta com uma versão gratuita conhecida como Community Edition. Está última pode ser empregada sem restrições em projetos open source, desenvolvedores individuais e estudantes.

Referências
Visual Studio Community
https://www.visualstudio.com/pt-br/vs/community/

Conhecendo algumas das novidades do Visual Studio 2017
http://bit.ly/novidades-visual-studio-2017

Visual Studio Code

O Visual Studio Code é um editor de textos gratuito disponibilizado pela Microsoft e que conta com versões para Windows, Linux e Mac. Apesar de não ser propriamente uma IDE, esta ferramenta inclui ainda funcionalidades para debugging, sintaxe highlight, code complete, integração com Git, dentre outros recursos.

Além de permitir o desenvolvimento de soluções em .NET, é importante destacar que o Visual Studio Code também pode ser utilizado com outras linguagens como C/C++, PHP, Python e Node.js.

Referências
Visual Studio Code - Code Editing. Refined
https://code.visualstudio.com/

ASP.NET Core: criando uma API em Linux com VS Code e .NET Core CLI
http://bit.ly/aspnet-core-linux-vscode-dotnetcli

ASP.NET Core no Linux: criando uma API REST - Canal .NET [Vídeo]
http://bit.ly/aspnet-core-linux-vscode-sql-dapper

GitHub: controlando projetos de software na Web

Comumente associado ao mundo open source, o GitHub é atualmente o principal repositório para hospedagem de projetos de software na Web. Conforme mencionado no início deste artigo, a própria Microsoft vem fazendo uso desta solução para controlar diversas iniciativas consideradas vitais dentro da plataforma .NET. É importante destacar ainda que o próprio Visual Studio 2017 conta com uma extensão que facilita a integração com este serviço.

Referências
GitHub - Site
http://github.com/

Utilizando o GitHub no Visual Studio 2017 - Coding Night [Vídeo]
http://bit.ly/github-vs2017

ASP.NET Core: desenvolvimento Web multiplataforma

Uma das grandes novidades recentes do mundo Microsoft foi o ASP.NET Core, uma nova plataforma Web baseada em .NET totalmente remodelada e multiplataforma. Esta característica certamente abrirá inúmeras oportunidades para desenvolvedores proficientes no novo ASP.NET, com a possibilidade de implementação de projetos utilizando ambientes Linux e Mac (além do suporte natural a Windows).

Referências
ASP.NET Core - Site
https://www.asp.net/core

ASP.NET Core: Guia de Sobrevivência
http://bitly.com/aspnet-core-guia-sobrevivencia

ASP.NET Core no Linux: criando uma API REST — Canal .NET [Vídeo]
http://bit.ly/aspnet-core-linux-vscode-sql-dapper

ASP.NET Core - Vídeos gratuitos do Canal .NET
http://bit.ly/aspnet-core-canal-dotnet

Entity Framework Core: persistência de dados

Alternativa ORM desenvolvida pela Microsoft, o Entity Framework Core é uma solução open source que pode ser utilizada em conjunto com o .NET Core na implementação de aplicações voltadas a ambientes Windows, Linux e Mac.

Referências
Entity Framework Core - Site
https://github.com/aspnet/EntityFramework

Entity Framework Core: Guia de Sobrevivência
http://bit.ly/ef-core-guia-sobrevivencia

Novidades do Entity Framework Core - Canal .NET [Vídeo]
http://bit.ly/novidades-ef-core-canal-dotnet

AngularJS: Single-Page Applications

O conceito de Single-Page Application (SPA) vem crescendo muito em popularidade dentro da área de desenvolvimento Web. A opção por este padrão na implementação de novas soluções busca assegurar uma maior responsividade, através do uso de requisições AJAX, de APIs RESTful e da atualização apenas de partes específicas de uma página frente às ações de um usuário.

Diante disso, frameworks foram criados com a intenção de simplificar a construção de aplicações baseadas na ideia de SPA. Uma destas opções é o AngularJS, alternativa open-source mantida pela Google e que desfruta de grande popularidade entre desenvolvedores de diversas plataformas. Comunidades como as de .NET, Java, Node.js e PHP vêm empregando o AngularJS com sucesso, em projetos voltados às mais variadas finalidades.

Referências
AngularJS - Site
https://angularjs.org/

Introdução ao AngularJS 2 - Canal .NET [Vídeo]
http://bit.ly/angularjs-2-canal-dotnet

Web Apps com AngularJS - Canal .NET [Vídeo]
http://bit.ly/web-apps-angularjs-canal-dotnet

Docker: containers

O uso de containers em projetos de software tem crescido consideravelmente nos últimos tempos. Fatores como a segurança e o isolamento oferecidos por este tipo de estrutura são alguns dos motivos que contribuem para esta tendência.

Existem atualmente inúmeras soluções que implementam o conceito de container, com o Docker se destacando como uma das alternativas mais populares neste segmento. Embora inicialmente possuísse compatibilidade apenas com ambientes Linux, agora há também a possibilidade de uso desta tecnologia em sistemas operacionais Windows e Mac.

Referências
Docker - Site
https://www.docker.com/

ASP.NET Core: APIs REST na nuvem com Docker e Azure Web App
http://bit.ly/aspnet-core-docker-azure-web-app

.NET + SQL Server 2017 — Parte 1: executando o SQL Server em um container Docker
http://bit.ly/sql-server-2017-containers-docker

.NET Core e Docker: primeiros passos
http://bit.ly/dotnet-core-docker-primeiros-passos

Docker: Tira-dúvidas e Demo - Canal .NET [Vídeo]
http://bit.ly/docker-duvidas-demo-canal-dotnet

NHibernate: persistência de dados

Alternativa ao Entity Framework, o NHibernate é um framework open source para mapeamento objeto-relacional (ORM) com uma boa aceitação no mercado. Estruturas de bancos de dados são mapeadas através de arquivos XML de configuração. É possível ainda o seu uso com o Fluent NHibernate, o qual nada mais é do que uma extensão contendo classes próprias que dispensam a escrita de arquivos de configuração e que faz uso de uma interface fluente (a vantagem desta abordagem está na capacidade de evitar erros de mapeamento em tempo de compilação, algo que seria impraticável utilizando-se XML).

Referências
NHibernate — Site
http://nhibernate.info/

Fluent NHibernate — Site
http://www.fluentnhibernate.org/

Dapper: persistência de dados

Com ênfase na escrita de poucas linhas de código e velocidade no acesso a dados o Dapper é atualmente um dos Micro-ORMs mais populares em .NET. Suas diversas funcionalidades foram disponibilizadas como Extension Methods, acessíveis a partir de implementações da interface IDbConnection. Vale lembrar que IDbConnection é o tipo básico para acesso a dados do ADO.NET e do qual derivam classes como SqlConnection e OracleConnection.

Referências
Dapper - Site
https://github.com/StackExchange/dapper-dot-net

ASP.NET Core: criando uma API REST com Dapper e SQL Server
http://bit.ly/dapper-api-rest-aspnet-core

ASP.NET Core no Linux: criando uma API REST — Canal .NET [Vídeo]
http://bit.ly/aspnet-core-linux-vscode-sql-dapper

MongoDB: banco de dados NoSQL e orientado a documentos

Um das soluções NoSQL mais populares, o MongoDB é um banco de dados orientados a documentos open source e compatível com as principais plataformas de desenvolvimento da atualidade (.NET, Node.js, Java, dentre outras).

Referências
MongoDB - Site
https://www.mongodb.org/

Utilizando o MongoDB em aplicações .NET
http://bit.ly/mongodb-aplicacoes-dotnet

MongoDB no Azure: configuração e exemplo de uso com o .NET Core
http://bit.ly/mongodb-azure-dotnet-core

MongoDB e NoSQL - Canal .NET [Vídeo]
http://bit.ly/nosql-mongodb-canal-dotnet

Application Insights: monitoramento de aplicações Web

Voltado ao monitoramento de aplicações Web, o Application Insights é mais um dos serviços que integram o Microsoft Azure. Esta solução simplifica a coleta de informações sobre a utilização de sites e serviços na Web, permitindo a obtenção de complexas análises baseadas no uso de dashboards (conjuntos de gráficos).

Além do suporte natural a aplicações Web construídas em .NET, o Application Insights também pode ser utilizado em projetos implementados em Node.js, Java, PHP, Python e Ruby.

Embora se trate de um serviço na nuvem, o Application Insights pode também ser empregado gratuitamente. A condição para isto é que não se estoure o limite mensal especificado pela Microsoft (o que viabiliza seu uso em aplicações menores).

Referências
Application Insights - Site
https://azure.microsoft.com/pt-br/services/application-insights/

Application Insights: Guia de Sobrevivência
http://bit.ly/application-insights-guia-sobrevivencia

Monitoramento de APIs REST com o Application Insights[Vídeo]
http://bit.ly/application-insights-apis-rest

ASP.NET Core: monitoramento com o Application Insights
http://bit.ly/application-insights-aspnet-core

Xamarin: desenvolvimento mobile

Voltado à implementação de soluções multiplataforma, o Xamarin é hoje umas das tecnologias para desenvolvimento mobile mais populares dentro da comunidade .NET. Tal sucesso se deve à combinação de produtividade, uma menor curva de aprendizado para profissionais familiarizados com o .NET Framework e a possibilidade de construção de aplicações voltadas a ambientes como Windows, Android e iOS a partir de código escrito em C#.

Referências
Xamarin - Site
https://www.xamarin.com/

MVVM em Xamarin - Canal .NET [Vídeo]
http://bit.ly/mvvm-xamarin-canal-donet

Novidades do Xamarin - Canal .NET [Vídeo]
http://bit.ly/novidades-xamarin-canal-dotnet

Angelo Belchior (MVP) - YouTube
https://www.youtube.com/user/angelobelchior

Monkey Nights - YouTube
https://www.youtube.com/channel/UCFaQBRaoHrAxcGoeY8E5jvQ

NUnit: testes na plataforma .NET

Bastante popular entre desenvolvedores .NET, o NUnit é uma alternativa open source para a codificação de testes de unidade baseada em outro projeto livre: o JUnit, concebido para a implementação de testes em Java.

Referências
NUnit - Site
https://www.nunit.org/

Frameworks para testes no Visual Studio 2017
http://bit.ly/testes-visual-studio-2017

Testes de Unidade com NUnit - Canal .NET [Vídeo]
http://bit.ly/nunit-canal-dotnet

xUnit.net: testes na plataforma .NET

Considerado uma evolução do NUnit, o xUnit.net é um projeto open source para a implementação de testes de unidade na plataforma .NET. É importante ressaltar que esta alternativa vem crescendo em popularidade dentro da comunidade técnica, com o próprio time de desenvolvimento do ASP.NET Core utilizando a mesma na validação dos recursos desta nova plataforma Web.

Referências
xUnit.net - Site
http://xunit.github.io/

Frameworks para testes no Visual Studio 2017
http://bit.ly/testes-visual-studio-2017

Testes de Software - Canal .NET [Vídeo]
http://bit.ly/testes-software-canal-dotnet

Testes de unidade com o framework xUnit.net
http://bit.ly/testes-xunit-dotnet

SpecFlow: testes baseados em user stories

Baseando-se na implementação de testes automatizados a partir de user stories, o framework SpecFlow viabiliza a adoção de conceitos de BDD (Behavior-Driven Development) em projetos desenvolvidos com o .NET Framework. Uma das grandes vantagens desta solução é a possibilidade de utilização de histórias estruturadas e inteligíveis para usuários comuns, sendo que as mesmas podem escritas em idiomas como o português.

Referências
SpecFlow - Site
http://specflow.org/

Behavior-Driven Development (BDD) na plataforma .NET
http://bit.ly/bdd-plataforma-dotnet

BDD com SpecFlow - Canal .NET [Vídeo]
http://bit.ly/bdd-specflow-canal-dotnet

E para encerrar um convite. Sigam também o Canal .NET (iniciativa mantida por mim e pelos MVPs Joel Rodrigues e André Secco) nas redes sociais:

Facebook: https://www.facebook.com/canaldotnet/

YouTube: https://www.youtube.com/canaldotnet

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker

Responses (1)