4. GraphQL is a query language
for your API, and a server-side
runtime for executing queries
by using a type system you
define for your data.
http://graphql.org/learn/
6. Type Query {
me: User
}
Type User {
id: ID
name: String
}
{
me {
name
}
}
7. {
"me": {
"name": "Luke Skywalker"
}
}
Type Query {
me: User
}
Type User {
id: ID
name: String
}
{
me {
name
}
}
8. Como funciona na prática?
POST http://localhost/graphql
{
"query" : "query { me { name } }"
}
9. Como funciona na prática?
POST http://localhost/graphql
{
"query" : "query { me { name } }"
}
Response
{
"data" : {
"me" : {
"name" : "Luke Skywalker"
}
}
}
10. De onde veio GraphQL?
● Protótipo em 2012
https://youtu.be/zVNrqo9XGOs
11. De onde veio GraphQL?
● Protótipo em 2012
● 2015 Falaram sobre GraphQL
https://youtu.be/zVNrqo9XGOs
12. De onde veio GraphQL?
● Protótipo em 2012
● 2015 Falaram sobre GraphQL
● Mais tarde (Julho) foi OSS (JavaScript)
https://youtu.be/zVNrqo9XGOs
13. De onde veio GraphQL?
● Protótipo em 2012
● 2015 Falaram sobre GraphQL
● Mais tarde (Julho) foi OSS (JavaScript)
● 2016 Production Ready
https://youtu.be/zVNrqo9XGOs
55. O Github já usa GraphQL!
- A versão nova da API
(v4) não é REST
- Github v3 é o primeiro
resultado no google
56. GraphQL é mais fácil de evoluir
- Evoluir os modelos do
grafo é mais fácil do
que criar uma nova
versão da API
- Mudanças destrutivas
continuam quebrando
os clientes, e GraphQL
não versiona
57. GraphQL é mais fácil de codar
- Uma vez que o grafo é
definido, é fácil
reutilizá-lo
58. GraphiQL facilita muito a Developer Experience
- Consumidores podem
explorar os dados e
criar suas consultas
(além de ver a
documentação)
59. GraphQL facilita muito a Developer Experience
- APIs REST precisam
que você implemente
customizações da
resposta
60. GraphQL + BFF = <3
- GraphQL reduz o
payload (essencial para
apps mobile)