How to GraphQL

Post on 28-Jan-2018

192 views 0 download

Transcript of How to GraphQL

How To GraphQLOctober 10, 2017Tomasz Bąkt.bak@selleo.com

About me

● software developer and architect, speaker, trainer○ 12+ years of experience

○ 4+ years senior frontend developer

■ Ember, Angular, React

● co-founder of selleo.com

● http://selleo.com/people/tomasz-bak

Agenda

What is GraphQL?

Why GraphQL?

How to GraphQL?

Workshops

What is GraphQL?

Source: http://graphql.org

● a query language for your API● created by Facebook in 2012● key concepts of the GraphQL query language are

○ Hierarchical○ Product‐centric○ Strong‐typed○ Introspective

What is GraphQL?

Source: http://graphql.org

Why GraphQL?REST vs GraphQL

Source: https://medium.com/@ottovw/rest-api-downfalls-and-dawn-of-graphql-dd00991a0eb8

Why GraphQL?Version Free, Strong-Typed API architecture

Why GraphQL?Reuse of existing architecture

graphql.orgWhy GraphQL?

● Ask for what you need, get exactly that● Get many resources in a single request● Describe what’s possible with a type system● Move faster with powerful developer tools● Evolve your API without versions● Bring your own data and code

Source: http://graphql.org

Who’s using GraphQL?

Source: http://graphql.org

HowToGraphql.comThe Fullstack Tutorial for GraphQL

Frontend tutorials:

● Ember + Apollo● Vue + Apollo● React + Relay● React + Apollo

Backend tutorials:

● graph.cool● graphql.js● graphql-elixir● graphql-ruby● graphql-java● graphql-python

Workshopsgraphql-ruby (~784k total downloads)react-apollo (~241k downloads in the last month)

● Based on classic Northwind sample database● Best Practices, TDD● Signup, Signin● Dashboard with charts● CRUD, validations● Nested objects● Filtering and sorting listings