Loren is a consultant who loves teaching and writing. He has worked on Apollo and the Meteor Guide, built full-stack web and mobile apps for over a decade, founded startups, and TA’ed many Computer Science courses at Dartmouth.
We start out in Chapter 1 by introducing the basics of GraphQL in contrast to REST. Then in Chapters 2–4, we go through the whole GraphQL specification from its basic building blocks. We also have an extensive Background chapter that covers everything from HTTP and latency to authentication and databases.
In the client chapters, we cover advanced topics like infinite scrolling, local state, prefetching, and persisting. In our server chapter, we cover schema design, four different data sources (as well as how to create your own), security, performance, and more.
Chapters 5–10 are all about the client. You can make an HTTP request to a GraphQL API from anywhere, or you can use an advanced client library with automatic caching and view layer integration. We have chapters on React, Vue, React Native, iOS, and Android.
If you’re a backend dev, we’ve got you covered. Chapter 11 is our longest chapter, and it goes through all the server topics you could want: server structure, connecting to databases and APIs, subscriptions, custom scalars, authentication, authorization, caching, testing, and more.
React is becoming the lingua franca of modern web dev, so this is our longest client chapter. We go through everything in the Apollo Client library, including hooks, managing local state, subscriptions, optimistic updates, error handling, pagination, batching, linting, testing, and more.
Our Vue chapter teaches Apollo Vue’s composition API. Provide an ApolloClient instance and query inside a component’s setup function to get refs with the data, loading status, and error status. Query with variables and options, send mutations, and watch subscription results.
In addition to our React Native chapter, we also have a native Android chapter based on the Apollo Android library. Get typed Kotlin models generated from your queries and mutations, configure caching, and use coroutines, ViewModel, and Flow.
We’re working on a native iOS chapter that uses the Apollo iOS Swift client. Get your query and mutation results in query-specific Swift types, and have the data cached. * This chapter is forthcoming (pending the v1 release of the Apollo iOS library).
This is the most comprehensive coverage of modern GraphQL, going from the basics of the Query Language to excruciating detail on Validation and Execution internals that you’ll be thankful for when things go wrong, to the latest and greatest in the ecosystem, like Apollo Federation and Hasura. It normally takes a developer months to get up to speed on putting together all these pieces. The GraphQL Guide teaches it in just a few hours!
I really enjoyed reading the book. It is very detailed, and the different git branches are great for picking up at certain sections. I would have loved to have had this book by my side when I started GraphQL :)
This is an incredibly in-depth and well-structured resource on everything related to GraphQL. It reads lightly and has tons of great examples, and I definitely recommend it to both beginners and experienced developers.
1 Free updates for the lifetime of the book. We’ll keep it up to date for at least 4 years, but we hope to continue for as long as GraphQL is the best data-fetching system out there. (Which is probably a long time—REST has been around for 22 years!) 2 Coming soon.
Get a 20% discount over individual pricing by ordering a group license to the Pro package for your team.
We can also arrange a day or two of training for your company. Inquire at: