search
Get Started
search
GraphQL + Apollo Stack - Stack
zoom_in Click to enlarge

GraphQL + Apollo Stack

language

description GraphQL + Apollo Stack Overview

The GraphQL and Apollo stack combines GraphQL, a typed query language and runtime for APIs, with Apollo's client and server libraries. GraphQL originated at Facebook and lets clients request explicitly selected fields through a schema, while Apollo Client handles operations, caching, and application state in JavaScript front ends. Apollo Server and related tooling are used by teams building graph-based API layers for web and mobile applications.

help GraphQL + Apollo Stack FAQ

What is the difference between GraphQL and Apollo?

GraphQL is a query language and runtime specification for APIs originally developed at Facebook and open-sourced in 2015. Apollo is a separate commercial entity and open-source project that provides client, server, and developer tooling libraries built on top of the GraphQL specification, adding features like normalized caching, state management, and developer tooling.

How does Apollo Client cache GraphQL query results?

Apollo Client normalizes GraphQL responses into a local in-memory cache by breaking objects down and storing them under keys derived from their id and __typename fields. This normalized approach allows multiple queries that reference the same entity to share cached data, and the client can automatically update the UI when a mutation modifies a cached object.

What are alternatives to Apollo for GraphQL client and server development?

On the client side, alternatives include Relay (developed by Meta), urql, and lighter-weight options like graphql-request. On the server side, developers can use the reference graphql-js implementation directly or frameworks like GraphQL Yoga, Mercurius for Node.js, or Graphene for Python, depending on their language and runtime preferences.

Can I use Apollo and GraphQL with an existing REST API?

Yes, a GraphQL server using Apollo Server can act as a gateway layer that resolves GraphQL fields by making HTTP requests to existing REST endpoints behind the scenes. This pattern allows teams to incrementally adopt GraphQL without rewriting their entire backend, with the Apollo server fetching from REST APIs, databases, or third-party services as needed.

Reviews & Comments

Write a Review

rate_review

Be the first to review

Share your thoughts with the community and help others make better decisions.

Save to your list

Save your favorites and follow how their scores change over time.

Save favorites
Track changes
Compare scores

Already have an account? Sign in

Compare Items

See how they stack up against each other

Comparing
VS
Select 1 more item to compare