Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Graphql-101-devc

 Graphql-101-devc

An introduction to GraphQL

Presented at Facebook Developer Circles GDL chapter meetup in February 28th

Fernando Perales

February 28, 2018
Tweet

More Decks by Fernando Perales

Other Decks in Programming

Transcript

  1. Who is that GraphQL all my
    friends are talking about?
    #developercircles
    #devc
    @FerPeralesM
    GraphQL 101

    View Slide


  2. #developercircles
    #devc
    @FerPeralesM

    View Slide

  3. Software Engineer
    Senior Software Engineer @ michelada.io
    FLOSS advocate
    Heavy Metal and Beer lover
    Host the RubyGDL community
    Co-founder @ Railsbridge México
    In Gregory Sallust I trust
    #developercircles
    #devc
    @FerPeralesM

    View Slide


  4. #developercircles
    #devc
    @FerPeralesM

    View Slide

  5. What is GraphQL?
    #developercircles
    #devc
    @FerPeralesM

    View Slide


  6. 2012
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  7. REST
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  8. Spotify
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  9. Goal: get the name of all the tracks
    from a playlist called “Starred”
    created by an specific user
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  10. #developercircles
    #devc
    @FerPeralesM

    View Slide

  11. #developercircles
    #devc
    @FerPeralesM

    View Slide

  12. #developercircles
    #devc
    @FerPeralesM

    View Slide

  13. #developercircles
    #devc
    @FerPeralesM

    View Slide

  14. #developercircles
    #devc
    @FerPeralesM

    View Slide

  15. #developercircles
    #devc
    @FerPeralesM

    View Slide

  16. #developercircles
    #devc
    @FerPeralesM

    View Slide

  17. #developercircles
    #devc
    @FerPeralesM

    View Slide

  18. #developercircles
    #devc
    @FerPeralesM

    View Slide

  19. #developercircles
    #devc
    @FerPeralesM

    View Slide

  20. #developercircles
    #devc
    @FerPeralesM

    View Slide

  21. #developercircles
    #devc
    @FerPeralesM

    View Slide

  22. #developercircles
    #devc
    @FerPeralesM

    View Slide

  23. #developercircles
    #devc
    @FerPeralesM

    View Slide

  24. Success!
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  25. We only needed
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  26. 3 HTTP calls
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  27. Do an intensive operation in our
    backend (searching for the playlist
    with the “Starred” name)
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  28. And getting three big payloads with
    unnecessary data*
    *for our needs
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  29. #developercircles
    #devc
    @FerPeralesM

    View Slide

  30. GraphQL is, as the name might
    suggest, a query language
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  31. Advantages
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  32. Get exactly what you want
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  33. #developercircles
    #devc
    @FerPeralesM

    View Slide

  34. Nesting
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  35. #developercircles
    #devc
    @FerPeralesM

    View Slide

  36. #developercircles
    #devc
    @FerPeralesM

    View Slide

  37. Strongly typed
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  38. Introspective
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  39. #developercircles
    #devc
    @FerPeralesM

    View Slide

  40. No versioning
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  41. Demo
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  42. FerPerales/graphql_demo

    #developercircles
    #devc
    @FerPeralesM

    View Slide

  43. ferperales/graphql-101-devc
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  44. Sources
    https://medium.freecodecamp.com/so-whats-this-graphql-thing-i-keep-hearing-about-baf4d36c20cf
    http://blog.codeship.com/an-introduction-to-graphql-via-the-github-api
    http://facebook.github.io/graphql/
    http://thenewstack.io/graphql-data-query-language-resource-guide
    http://medium.freecodecamp.com/give-it-a-rest-use-graphql-for-your-apis-40a2761e6336
    http://dev.to/reactiveconf/why-i-believe-graphql-will-come-to-replace-rest
    #developercircles
    #devc
    @FerPeralesM

    View Slide

  45. Thanks!
    #developercircles
    #devc
    @FerPeralesM

    View Slide