APIs
8
min de leitura
2 de maio de 2019

APIs REST, GraphQL ou gRPC - Quem ganha este jogo?

Rafael Rocha
Head of Solutions and Presales
Tecnólogo formado em Tecnologia da Informação pela UNESP e pós-graduado em MBA em Gestão Empresarial pela UNIMEP.
Mais sobre o autor

*artigo é um resumo da apresentação realizada durante APIDays Madrid 2019 As APIs padrão REST são as mais comuns, mas as APIs GraphQL e gRPC estão ganhando popularidade, assim como as dúvidas sobre a melhor aplicação destas normas.

Quais são as características e vantagens de cada uma dessas normas?

Que padrão devemos escolher para nosso projeto?

APIs GraphQL -REST - gRPC

Para esclarecer estes pontos, consideraremos as exigências de 3 dos principais casos de uso com APIs e entenderemos como cada padrão pode contribuir nestes casos.

Principais casos de uso com APIs:

  1. Experimente as APIs
  2. APIs abertas
  3. APIs internas

1) Experimente as APIs

São APIs para consumo por Aplicativos Front-end e Dispositivos para experiências digitais.

Abaixo estão alguns requisitos:

  • Redução do tempo de transferência de dados
  • Tempo de resposta mais curto
  • Uso em conjunto com a norma BFF
  • Menos solicitações de renderização de tela
  • Maior nível de monitoramento
APIs REST

2) APIs abertas

Eles são APIs para integrações com parceiros e inovação aberta.

Alguns requisitos são:

  • Experiência simples do usuário e seguindo padrões mais conhecidos
  • Reutilização de APIs
  • Documentação detalhada
  • Maior nível de segurança
  • Maior nível de governança
APIs abertas, APIs REST

3) APIs internas

Eles são APIs para comunicação entre Microsserviços e integrações internas.

Abaixo estão alguns requisitos:

  • Compatibilidade com a arquitetura de eventos ou arquitetura reativa
  • Melhor desempenho
  • Maior escalabilidade
  • Maior nível de controle e monitoramento
APIs internas

APIs REST, GraphQL e gRPC: Comparação

Na tabela abaixo, comparamos as características padrão REST, GraphQL e gRPC:

API Days Madrid 2019 - REST, GraphQL e gRPC
Principais Diferenças - REST, GraphQL e gRPC

E agora? Qual é a melhor opção: REST, GraphQL ou gRPC?

Para escolher a melhor opção para seu projeto, sugerimos fazer uma matriz de elegibilidade, onde estarão os requisitos do caso de uso e uma pontuação para cada padrão.

Por exemplo: APIs de experiência - REST, GraphQL e gRPC Eligibility Matrix

APIs de experiência - REST, GraphQL e gRPC

Por exemplo: APIs abertas - Matriz de Elegibilidade REST, GraphQL e gRPC

APIs REST gRPC

Por exemplo: APIs internas - REST, GraphQL e gRPC Matriz de Elegibilidade

APIs internas - REST, GraphQL e gRPC

Obrigado pela leitura!