Boost Your React Apps with Apollo: First Steps

What are GraphQL and Apollo?

Let's take a few minutes to learn what GraphQL is and why we should care. Then, let's learn about Apollo.

GraphQL is a query language first built by Facebook designed to make getting and changing data faster and easier to scale. GraphQL is language-agnostic; it can be implemented in Java, JavaScript, Python, or anything else.

The main benefits of GraphQL are:

  • It makes it easy to balance overfetching (too much data, which makes for big network calls) and underfetching (too little data, which leads to too many calls).
  • It's strongly typed, so you know exactly what to expect from the server.
  • It has a spec with an independent committee, so it's actively being worked on and not dependent on whatever Facebook decides to do with it.
  • The frontend developer tooling and experience is absolutely fantastic.

Apollo on the other hand is a platform. Its two biggest components are Apollo Server and Apollo Client. In this course, I've provided an Apollo Server and we'll be learning about Apollo Client for React. Apollo Client can actually interact with any other GraphQL server; I've just used Apollo for the server out of convenience and to get a little extra tooling.