StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Frameworks
  4. State Management Library
  5. Apollo vs Redux

Apollo vs Redux

OverviewComparisonAlternatives

Overview

Redux
Redux
Stacks32.0K
Followers23.6K
Votes674
Apollo
Apollo
Stacks2.7K
Followers1.8K
Votes25

Apollo vs Redux: What are the differences?

Introduction

Apollo and Redux are both state management libraries that are commonly used in web development. While they serve similar purposes, there are some key differences between the two.

  1. Architecture: Apollo is a GraphQL client that focuses on providing a complete solution for managing an application's data layer. It provides tools for fetching, caching, and updating data from a GraphQL API. On the other hand, Redux is a state management library that can be used with any data source, not just GraphQL. It follows a unidirectional data flow pattern and is typically used with a state container like React.

  2. Data Fetching: In Apollo, data fetching is built-in and managed through its GraphQL client. It automatically optimizes queries, caches data, and provides tools for fetching data with pagination and real-time updates. Redux, on the other hand, does not have built-in data fetching capabilities. It relies on libraries like Axios or fetch to manually make API requests and handle the data.

  3. GraphQL Integration: Apollo is specifically designed to work seamlessly with the GraphQL language. It provides a GraphQL-specific API and integrates well with GraphQL server libraries. Redux, on the other hand, is not tied to any particular data format or language. It can work with REST APIs, GraphQL, or any other data source.

  4. Normalized Caching: Apollo automatically normalizes and caches data from the server. This means that when multiple components query for the same data, Apollo can retrieve it from the local cache instead of making a network request. Redux, on the other hand, does not have built-in caching. Developers need to implement their own caching mechanisms if they want to avoid unnecessary API calls.

  5. Strong Typing: Apollo uses GraphQL's strong typing system to provide type safety for queries, mutations, and subscriptions. It generates TypeScript types based on the server schema, which makes it easier to catch potential errors early in the development process. Redux, on the other hand, does not have built-in support for strong typing. Developers need to rely on external tools like TypeScript or Flow for type safety.

  6. Ecosystem: Apollo has a rich ecosystem that includes tools for server-side rendering, subscriptions, and real-time updates. It also has official integrations with popular front-end frameworks like React and Angular. Redux, on the other hand, has a simpler and more lightweight ecosystem. It is commonly used with React, but can also work with other frameworks or vanilla JavaScript.

In summary, Apollo and Redux have different focuses and capabilities. Apollo is a specialized GraphQL client that provides extensive features for managing data fetching, caching, and updating. Redux, on the other hand, is a more general-purpose state management library that can be used with any data source, but does not have built-in support for features like data fetching and normalization.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Detailed Comparison

Redux
Redux
Apollo
Apollo

It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. t provides a great experience, such as live code editing combined with a time traveling debugger.

Build a universal GraphQL API on top of your existing REST APIs, so you can ship new application features fast without waiting on backend changes.

Predictable state; Easy testing; Works with other view layers besides React
-
Statistics
Stacks
32.0K
Stacks
2.7K
Followers
23.6K
Followers
1.8K
Votes
674
Votes
25
Pros & Cons
Pros
  • 191
    State is predictable
  • 150
    Plays well with React and others
  • 126
    State stored in a single object tree
  • 79
    Hot reloading out of the box
  • 74
    Allows for time travel
Cons
  • 13
    Lots of boilerplate
  • 6
    Verbose
  • 5
    Design
  • 5
    Steep learning curve
  • 4
    Steeper learning curve than MobX
Pros
  • 12
    From the creators of Meteor
  • 8
    Great documentation
  • 3
    Open source
  • 2
    Real time if use subscription
Cons
  • 1
    Increase in complexity of implementing (subscription)
  • 1
    File upload is not supported
Integrations
JavaScript
JavaScript
React
React
GraphQL
GraphQL

What are some alternatives to Redux, Apollo?

Heroku

Heroku

Heroku is a cloud application platform – a new way of building and deploying web apps. Heroku lets app developers spend 100% of their time on their application code, not managing servers, deployment, ongoing operations, or scaling.

Clever Cloud

Clever Cloud

Clever Cloud is a polyglot cloud application platform. The service helps developers to build applications with many languages and services, with auto-scaling features and a true pay-as-you-go pricing model.

Google App Engine

Google App Engine

Google has a reputation for highly reliable, high performance infrastructure. With App Engine you can take advantage of the 10 years of knowledge Google has in running massively scalable, performance driven systems. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow.

Red Hat OpenShift

Red Hat OpenShift

OpenShift is Red Hat's Cloud Computing Platform as a Service (PaaS) offering. OpenShift is an application platform in the cloud where application developers and teams can build, test, deploy, and run their applications.

AWS Elastic Beanstalk

AWS Elastic Beanstalk

Once you upload your application, Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring.

Render

Render

Render is a unified platform to build and run all your apps and websites with free SSL, a global CDN, private networks and auto deploys from Git.

Hasura

Hasura

An open source GraphQL engine that deploys instant, realtime GraphQL APIs on any Postgres database.

MobX

MobX

MobX is a battle tested library that makes state management simple and scalable by transparently applying functional reactive programming (TFRP). React and MobX together are a powerful combination. React renders the application state by providing mechanisms to translate it into a tree of renderable components. MobX provides the mechanism to store and update the application state that React then uses.

Cloud 66

Cloud 66

Cloud 66 gives you everything you need to build, deploy and maintain your applications on any cloud, without the headache of dealing with "server stuff". Frameworks: Ruby on Rails, Node.js, Jamstack, Laravel, GoLang, and more.

Jelastic

Jelastic

Jelastic is a Multi-Cloud DevOps PaaS for ISVs, telcos, service providers and enterprises needing to speed up development, reduce cost of IT infrastructure, improve uptime and security.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase