Adotar Minimal APIs? Eis a questão!

.NET 6 apresenta o suporte a Minimal APIs. Embora o conceito seja relativamente novo para .NET, já está consolidado em outras plataformas.

Minimal APIs é um jeito diferente de construir APIs HTTP. Tomar a decisão de usar um novo padrão/conceito é sempre um desafio para arquitetos e desenvolvedores. Para ajudar a tomar uma decisão mais embasada, segue três ótimas razões e uma advertência.

Menos código para ler, menor custo para manter

Uncle Bob ensina que gastamos dez vezes mais tempo lendo do que escrevendo código. Em termos simples, isso significa que a cada hora trabalhada, produzimos 6 minutos de código novo. Essa proporção acontece, em grande parte, pela complexidade do que produzimos hoje. Com menos complexidade, acredita-se que a produtividade pode melhorar, e bastante. Manter serviços HTTP com menos código é um ótimo diferencial para Minimal APIs que, seguramente, irão agradar além dos times técnicos.

Suficiente para desenvolver qualquer tipo de aplicação.

Preocupado com onde ficam as regras de negócio com Minimal APIs? Não deveria. Afinal, essas regras nunca deveriam estar junto ao código que expõe a API.

Minimal APIs entregam, basicamente, o mesmo serviço HTTP que uma aplicação Web MVC padrão, porém de uma forma mais simples. As regras de negócio devem permanecer onde sempre estiveram. Não criemos confusão desnecessária. A ideia é ser simples, não “simplório”.

Não é uma “modinha”

Como já dissemos, Minimal APIs não é uma ideia nova. Python e NodeJS já possuem alternativas para esse estilo há tempos. Mesmo em .NET, já existiam alternativas viáveis, como o pacote Carter.

Serviços HTTP escritos com Minimal APIs em .NET 6 seguem um formato muito parecido quanto um serviço HTTP escrito com NodeJS + Express. Código mais simples é sinal de evolução e maturidade.

Cuidado! Minimal APIs podem induzir a “gambiarra”

Nem todo serviço HTTP pode e deveria ser implementado com Minimal APIs. Aplicações podem demandar customizações em componentes, complexas ou ainda não adaptadas para o novo estilo. Aparentemente, esse é o caso, por exemplo, de alguns cenários de Autorização e Serialização.

Forçar a natureza para utilizar Minimal APIs onde não há ferramental adequado pode conduzir a introdução de complexidade acidental, aumentando desnecessariamente os custos de manutenção. Não descarte o bom e velho MVC, pelo menos por enquanto, quando seu serviço HTTP demandar componentes mais customizados.

Conclusão

Há razões mais do que suficientes para adotar Minimal APIs. Destacamos, códigos menores e mais baratos de manter, possibilidade de continuar suportando cenários complexos de negócio e a garantia de que não se está tratando de uma “nova melhor tecnologia de todos os tempos da última semana”. Experimente, entretanto, seja responsável.

Esqueci de mencionar algo? Consegue destacar outra vantagem? Tem algum receio que não abordei? Deixe suas opiniões nos comentários.

Se precisar de ajuda para utilizar Minimal APIs do jeito certo em sua empresa, conte conosco.

Compartilhe este insight:

Comentários

Participe deixando seu comentário sobre este artigo a seguir:

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments

AUTOR

Gabriel Kohlrausch
Arquiteto de software com experiência executiva e especialista no desenvolvimento de aplicações corporativas complexas.

INSIGHTS EXIMIACO

Arquitetura de Software

Evolução e modernização de aplicações para suportar mudanças de escala.

Manual do Arquiteto de Software

Discutindo conceitos, técnicas, tecnologias, padrões e procedimentos para a boa prática de arquitetura de software.
Tech Trusted Advisor, Fundador e CEO da EximiaCo

NOVOS HORIZONTES PARA O SEU NEGÓCIO

Nosso time está preparado para superar junto com você grandes desafios tecnológicos.

Entre em contato e vamos juntos utilizar a tecnologia do jeito certo para gerar mais resultados.

Insights EximiaCo

Confira os conteúdos de negócios e tecnologia desenvolvidos pelos nossos consultores:

Arquitetura de Software

Consciência Situacional: O Sucesso do Software em Constante Evolução

Arquiteto de Software com experiência executiva em Tecnologia
Arquitetura de Software

Automação de Processos de Negócio: A Chave para Operações Eficientes e Lucrativas

Arquiteto de software e solução com larga experiência corporativa
Arquitetura de Software

A Evolução da Arquitetura de Software para Produtos Digitais Escaláveis

Arquiteto de Software com experiência executiva em Tecnologia
0
Queremos saber a sua opinião, deixe seu comentáriox
Oferta de pré-venda!

Mentoria em
Arquitetura de Software

Práticas, padrões & técnicas para Arquitetura de Software, de maneira efetiva, com base em cenários reais para profissionais envolvidos no projeto e implantação de software.

Muito obrigado!

Deu tudo certo com seu envio!
Logo entraremos em contato

Adotar Minimal APIs? Eis a questão!

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Adotar Minimal APIs? Eis a questão!

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Condição especial de pré-venda: R$ 14.000,00 - contratando a mentoria até até 31/01/2023 e R$ 15.000,00 - contratando a mentoria a partir de 01/02/2023, em até 12x com taxas.

Tenho interesse nessa capacitação

Para solicitar mais informações sobre essa capacitação para a sua empresa, preencha o formulário a seguir:

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

O seu insight foi excluído com sucesso!

O seu insight foi excluído e não está mais disponível.

O seu insight foi salvo com sucesso!

Ele está na fila de espera, aguardando ser revisado para ter sua publicação programada.

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse nessa solução

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse neste serviço

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

× Precisa de ajuda?