Idea is that all the lower-level networking tasks (HTTP requests etc) as well as storing the data (caching) should be abstracted away and the declaration of data dependencies should be the dominant part.

  • This is precisely what GraphQL client libraries like Relay or Apollo will enable you to do. They provide the abstraction that you need to be able to focus on the important parts of your application rather than having to deal with the repetitive implementation of infrastructure.

Apollo is completely separate from the view-layer, making it framework agnostic.

Apollo allows us to send queries from the view-layer

As state management

high-level overview


  1. Apollo Client
  2. Apollo Federation
  3. Apollo Rover CLI
  4. Batch