GraphQL
101
@caofrade
Objetivo
GraphQL
Novo padrão para APIs
Linguagem de Query (consulta)
Open-source mantido pela galera do Facebook
Quem usa?
MUITO, MAS MUITO
CONTEUDO
HYPE?
Que problema o GraphQL
resolve mesmo?
REST
REST
•Representational State Transfer
•Arquitetura baseada em recursos:
- Entidades do sistema
- Identificados por URIs
- Manipulado por representações (JSON, XML,
HTML)
Problemas
•Overfetching
- Download de dados desnecessários.
•Underfetching
- Acessar mais de 1 endpoint para juntar os dados
necessários.
GraphQL
Conceitos
Schema
•Recursos são definidos por um sistema de tipos
•Contrato entre cliente e servidor sobre como a
aplicação pode acessar os dados.
•Schema Definition Language (SDL)
Query
•No REST, múltiplos endpoints retornam estruturas de
dados fixas.
•Em GraphQL, existe um único endpoint, onde o cliente
determina qual dado é necessário.
Mutation
•Responsável por criar e mudar dados armazenados no
back-end.
Schema
•Query e Mutation também precisam ser definidos no
Schema
•São os pontos de entrada para as requisições enviadas
pelo cliente.
Como Usar?
facebook.github.io/relay
apollographql.com/client
GraphQL
não é
magica!
E não vai
matar o
REST!
Obrigado
@caofrade

GraphQL 101