John is a JavaScript expert. He created jQuery and works as a Frontend Architect at Khan Academy. Seven years ago, he stepped back from jQuery and wrote his last book. He's been exploring the power of GraphQL and is convinced that it's the future of API development.
Loren is a freelancer who loves teaching and writing. He has worked on Apollo and the Meteor Guide, coded full-stack web and mobile apps for eight years, founded startups, and TA'ed Computer Science courses at Dartmouth.
Topics We Cover
Beginner introduction
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 JSON to HTTP to server-side rendering.
Advanced topics
In the client chapters, we cover topics like infinite scrolling, local state, performance, and working offline. In our server chapter we cover seven data sources, including Elasticsearch, Rethink, and Prisma. We also cover security and various performance improvements.
Frontend
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.
Backend
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 different databases and APIs, subscriptions, authentication, authorization, caching, testing, and more.
React
React is becoming the lingua franca of modern web dev, so this is our longest client chapter. We go through everything in the React Apollo library, including the render prop API, the HOC API, managing local state, subscriptions, optimistic updates, error handling, pagination, persisting, SSR, and more.
Vue
From getting set up to implementing infinite scroll, our Vue chapter teaches the Apollo Vue library. Add a provider to your root component, add a query when creating a component, and access the loading state and response data in the template. Or use the ApolloQuery component directly in your template.
iOS
In addition to our React Native chapter, we also have a native iOS chapter that uses the Apollo iOS Swift client. Get your query and mutation results in query-specific Swift types, and access an automatically managed cache of data that you've fetched previously.
Android
In addition to our React Native chapter, we also have a native Android chapter based on the Apollo-Android library. Get typed Java models generated from your queries and mutations, make your own custom scalars, save query responses in the cache, or get RxJava Observables.
350
Total pages
12
Chapters
10,000
Lines of code
9
Videos
Basic
39
Right now
Early access to the book in PDF, ePub, and Kindle formats
The book's Git repositories, with branches for each section
1 Two years after v1.0 is released (all packages get free updates during the beta).
2 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 25 years!)
Team license
1000
Get a 30% discount over individual pricing by ordering a group license for your team. With a team license, five coworkers will get access to the Full edition.
We can also arrange a day or two of on-site training for your company. Inquire at: