Fabien de Maestri
GraphQL
Fabien de Maestri
@FdMstri
[email protected]
Freelance AngularJS / Node.js / ReactJS
Co-fondateur
GraphQL
« GraphQL is a query language and execution engine tied to any backend service. »
GraphQLAvoid painful refacto
GraphQLAvoid painful refacto
Single entry for endpoint
GraphQLAvoid painful refacto
Single entry for endpoint
Easy to debug
GraphQLAvoid painful refacto
Single entry for endpoint
Easy to debug
Agregate data easily
GraphQLAvoid painful refacto
Single entry for endpoint
Easy to debug
Agregate data easily
Normalization
GraphQLAvoid painful refacto
Single entry for endpoint
Easy to debug
Agregate data easily
Normalization
Easy to test
What can we see ?
Mirroring
What can we see ?
MirroringHierarchical
What can we see ?
MirroringHierarchical
Strongly typed
What can we see ?
MirroringHierarchical
Strongly typed
Version free !
Champs requis, Arguments
GET / POST
Champs requis, Arguments
CLIENT
Serveur GraphQL
resolve()
resolve()
GET / POST
Champs requis, Arguments
CLIENT SERVEUR
Serveur GraphQL
resolve()
resolve()
resolve()
GET / POST
Champs requis, Arguments
CLIENT SERVEUR
Serveur GraphQL
Agrégation de donnée
resolve()
resolve()
resolve()
GET / POST
Champs requis, Arguments
CLIENT SERVEUR
Serveur GraphQL
Agrégation de donnée
Normalisation
resolve()
resolve()
resolve()
GET / POST
Champs requis, Arguments
CLIENT SERVEUR
Serveur GraphQL
Typage
Agrégation de donnée
Normalisation
resolve()
resolve()
resolve()
GET / POST
Champs requis, Arguments
CLIENT SERVEUR
Serveur GraphQL
Typage
Agrégation de donnée
Normalisation
resolve()
resolve()
resolve()
GET / POST
Champs requis, Arguments
JSON
CLIENT SERVEUR
RootSchema
Operation
RootSchema
Operation
Types
Ressource Cars
Type
Ressource Cars
Type
Arguments
Ressource Cars
Type
Arguments
Ressource Cars
Type
Resolve
Arguments
Ressource Cars
Type
Resolve
Arguments
Composition
GraphiQL
Fast feedback
GraphiQL
Fast feedback
Explicit errors
GraphiQL
Fast feedback
Explicit errors
Automatic query completion
GraphiQL
Fast feedback
Explicit errors
Automatic query completion
Run and inspect query results.
GraphiQL
Fast feedback
Explicit errors
Automatic query completion
Run and inspect query results.
Introspection
GraphiQL
Fast feedback
Explicit errors
Automatic query completion
Run and inspect query results.
DEMO !
Ecosystem
Used in Facebook’s native apps since 2012
Open source in July 2015
Front-end framework based on GraphQL like Relay
@leeb Lee Byron