let's graph

Download Let's Graph

Post on 16-Apr-2017

446 views

Category:

Technology

0 download

Embed Size (px)

TRANSCRIPT

  • Fabien de Maestri

    GraphQL

  • Fabien de Maestri

    @FdMstri

    fabien.demaestri@gmail.com

    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

    Agrgation de donne

    resolve()

    resolve()

    resolve()

    GET / POST

    Champs requis, Arguments

    CLIENT SERVEUR

  • Serveur GraphQL

    Agrgation de donne

    Normalisation

    resolve()

    resolve()

    resolve()

    GET / POST

    Champs requis, Arguments

    CLIENT SERVEUR

  • Serveur GraphQL

    Typage

    Agrgation de donne

    Normalisation

    resolve()

    resolve()

    resolve()

    GET / POST

    Champs requis, Arguments

    CLIENT SERVEUR

  • Serveur GraphQL

    Typage

    Agrgation de donne

    Normalisation

    resolve()

    resolve()

    resolve()

    GET / POST

    Champs requis, Arguments

    JSON

    CLIENT SERVEUR

  • RootSchema

  • 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 !

    http://graphql-swapi.parseapp.com/?query=query%7B%0A%20%20allStarships%20%7B%0A%20%20%20%20edges%20%7B%0A%20%20%20%20%20%20node%20%7B%0A%20%20%20%20%20%20%20%20id%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D&operationName=undefined

  • Ecosystem

    Used in Facebooks native apps since 2012

    Open source in July 2015

    Front-end framework based on GraphQL like Relay

    @leeb Lee Byron

  • Merci !