ASP.NET Core: 5 bibliotecas extremamente úteis no desenvolvimento Web
Neste post agrupo referências gratuitas como artigos, projetos de exemplo e vídeos com 5 bibliotecas que julgo bastante úteis para a implementação de projetos com ASP.NET Core. As diferentes alternativas aqui apresentadas passam por soluções de acesso a dados, recursos úteis no desenvolvimento/consumo de APIs REST, gerenciamento de configurações e tratamento de falhas.
Várias destas bibliotecas já foram abordadas em 2 lives recentes do Canal .NET e que estão disponíveis para assistir de forma gratuita no YouTube:
E aproveito este espaço para deixar aqui um convite…
Caso você precise conhecer mais sobre o Microsoft Azure, não deixe de aproveitar o desconto de 15% para inscrições na segunda turma online do treinamento Azure na Prática que acontecerá dia 18/04/2020 (um sábado). Aproveite para ficar por dentro de inúmeros serviços e possibilidades oferecidas pelo Azure e, o melhor, no conforto de sua casa ou ambiente de trabalho! Acesse o link a seguir para informações e efetuar sua inscrição: http://bit.ly/anp-online2-blog-groffe
Swashbuckle.AspNetCore: habilitando o uso do Swagger
Embora o nome não seja tanto sugestivo, a biblioteca Swashbuckle.AspNetCore é a principal opção que temos para habilitar o uso do Swagger visando o mapeamento de estruturas e documentação de APIs REST criadas com ASP.NET Core. Já abordei este assunto no artigo:
ASP.NET Core 3.0 + Swagger: novidades e exemplos
E um exemplo de uso deste package também pode ser encontrado no GitHub:
Microsoft.Extensions.Http.Polly: simplificando o tratamento de falhas com Polly em ASP.NET Core
O uso da biblioteca Polly como alternativa para tratamento de falhas já foi abordado em detalhes em uma live com ótima repercussão no Canal .NET:
Através do package Microsoft.Extensions.Http.Polly podemos simplificar ainda mais a utilização de Polly numa aplicação ASP.NET Core e minimizando os esforços de codificação, conforme detalhado no seguinte artigo:
ASP.NET Core 3.0 + Polly: simplificando o tratamento de falhas em projetos Web
Disponibilizei também um exemplo baseado no ASP.NET Core 3.1 no GitHub:
ASP.NET Core 3.1 + Razor Page + HTTPClient + Consumo de API REST + Código Resiliente com Polly
Refit.HttpClientFactory: simplificando o consumo de APIs REST
O projeto Refit constitui uma excelente alternativa para simplificar o consumo de APIs REST em .NET, diminuindo substancialmente os esforços de codificação (quando comparado ao uso convencional da classe HttpClient). Para aplicações ASP.NET temos a biblioteca Refit.HttpClientFactory, uma extensão do Refit compatível com a funcionalidade conhecida como HttpClientFactory e que abordei no artigo:
ASP.NET Core + HttpClientFactory + Refit: simplificando o consumo de APIs REST em Web Apps
E ainda no seguinte repositório do GitHub:
ASP.NET Core 3.1 + Razor Pages + HttpClientFactory + Refit + Consumo de API REST
StackExchange.Redis: utilizando o Redis para acesso no acesso de alta performance a dados
Embora comumente associado a implementações de cache distribuído em uma aplicação Web, o Redis é uma alternativa NoSQL open source do tipo chave-valor que pode também ser empregado no compartilhamento de informações entre diferentes aplicações e com uma excelente performance de leitura. No caso específico de uma aplicação ASP.NET Core isto acontece por meio da biblioteca StackExchange.Redis, algo já detalhado artigo a seguir:
.NET Core 3.1 + Redis: do cache distribuído ao uso como banco NoSQL
E no seguinte repositório do GitHub:
Microsoft.Azure.AppConfiguration.AspNetCore: atualizando itens de configuração sem reiniciar uma aplicação
Além de facilitar o gerenciamento centralizado de configurações, o Azure App Configuration é um serviço na nuvem oferecido pela Microsoft e que viabiliza um tipo de comportamento ansiosamente esperado por muitos Desenvolvedores: a possibilidade de que o valor de uma configuração seja atualizado de forma automática e sem a necessidade de reiniciar a aplicação em questão.
No caso do ASP.NET Core, a integração com tal serviço acontece a partir da biblioteca Microsoft.Azure.AppConfiguration.AspNetCore. Descrevi isto em detalhes no artigo:
ASP.NET Core + Azure App Configuration: manipulando configurações de forma mais inteligente
A seguir temos 2 exemplos disponibilizados no GitHub:
ASP.NET Core 3.1 + API REST + Azure App Configuration
ASP.NET Core 3.1 + API REST + Azure App Configuration + Dapper + SQL Server (teste de acesso)
Referências
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor - Parte 1
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor - Parte 2
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor - Parte 3
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor - Parte 4
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor - Parte 5
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor - Parte 6
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor - Parte 7