Learn

Documentation

GraphQL — Learn
The official GraphQL tutorial (~3 hours to read). Has simple example-based approach to queries, responses, schemas, and mutations. I recommend reading in that order.

Courses

Apollo Odyssey
Learn GraphQL with Apollo in practical, hands-on trainings.

How To GraphQL — The full stack tutorial
Overview and hands-on exercises using GraphQL.

Wes Bos — Advanced React
$139 for 68 videos (16 hours). Learn to build a full-stack React application using GraphQL.

Nik Graf — GraphQL data in React with Apollo Client
Free for 7 videos (23 minutes). Add the Apollo client to a React project. Use the Query and Mutation components to fetch and manipulate data using a GraphQL API.

Articles

Apollo — GraphQL explained
How GraphQl turns one query with two resolvers (that reference each other) into one response. Hint: responses are always tree-shaped (never circular).

PayPal Engineering — GraphQL resolvers best practices

  • Resolver arguments in detail: root, args, context, info.
  • Fetching data in resolvers.
  • Passing data between resolvers.
  • Passing data from parent to child resolvers.
  • Fetching data at the field-level (duplication is ok if you dedupe requests).
  • Use libraries like Apollo for deduping and overfetching.

GraphQL Mutation Design — Batch updates
Strategies for batching operations (ex: update two entity rows at once).

Examples

Gravity Department — GraphQL Demo
A demo for GraphQL beginners (who already read the docs) to practice concepts. It uses Graphpack to create a GraphQL server and setup the GraphQL Playground browser tool to interact with some data about Keanu Reeves movies.

Advanced

Principled GraphQL
Architecture goals and best practices for creating, maintaining, and operating a data graph.