Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Ember
  3. ember-apollo-client

ember-apollo-client

MITJavaScriptv5.0.0

An Ember CLI addon for integrating Apollo Client and GraphQL into Ember.js applications.

GitHubGitHub
280 stars72 forks0 contributors

What is ember-apollo-client?

ember-apollo-client is an Ember CLI addon that integrates Apollo Client v3+ and GraphQL into Ember.js applications. It provides a robust solution for managing GraphQL queries, mutations, and subscriptions, with built-in support for real-world challenges like reliable testing and preventing resource leaks. The addon is designed to bring the full power of Apollo Client to Ember.js while maintaining idiomatic Ember patterns.

Target Audience

Ember.js developers building applications that consume GraphQL APIs and require state management, caching, and real-time data via subscriptions. It is particularly suited for teams already using Apollo Client who want to integrate it seamlessly into an Ember.js codebase.

Value Proposition

Developers choose ember-apollo-client because it offers a battle-tested, idiomatic Ember integration of Apollo Client with automatic cleanup of watch queries to prevent memory leaks. It provides deterministic testing utilities, FastBoot compatibility for server-side rendering, and TypeScript support, making it a production-ready solution for GraphQL in Ember apps.

Overview

🚀 An ember-cli addon for Apollo Client and GraphQL

Use Cases

Best For

  • Ember.js applications that need to integrate Apollo Client for GraphQL state management and caching.
  • Building real-time features in Ember apps using GraphQL subscriptions with WebSocket support.
  • Teams requiring reliable testing of GraphQL queries and mutations with mock data and tracked promises.
  • Server-side rendered Ember applications using FastBoot that must fetch GraphQL data deterministically.
  • Ember projects using TypeScript that need type definitions for GraphQL imports and operations.
  • Applications that need to prevent resource leaks by automatically unsubscribing from watch queries when routes or components are destroyed.

Not Ideal For

  • Projects not using Ember.js v3.24+ or requiring support for older Apollo Client versions (v1 or v2).
  • Teams preferring a minimalist GraphQL client without Apollo's extensive caching and state management overhead.
  • Developers who insist on writing all GraphQL queries inline without external files, as inline queries lack precompilation and incur runtime costs.
  • Applications needing simple, out-of-the-box subscription support without manual WebSocket configuration and service overrides.

Pros & Cons

Pros

Automatic Resource Management

Prevents memory leaks by automatically unsubscribing from watch queries when Ember routes or components are destroyed, using the queryManager computed macro, as highlighted in the README's section on unsubscribing.

Production-Ready Testing

Includes deterministic testing utilities with tracked promises and mock data setup, ensuring reliable test suites for GraphQL operations, as noted in the Testing section.

Full Apollo Client Integration

Leverages Apollo Client v3+ for comprehensive GraphQL support including queries, mutations, subscriptions, caching, and FastBoot compatibility, making it a battle-tested solution for large apps.

Idiomatic Ember Design

Maintains Ember patterns with services and computed macros, such as the queryManager decorator, making it feel native and easier for Ember developers to adopt.

Cons

Complex Subscription Configuration

Setting up GraphQL subscriptions requires overriding the Apollo service, manually configuring WebSocket links with packages like @absinthe/socket, and managing split logic, which adds significant setup complexity.

Inline Query Performance Penalty

The README explicitly warns that inline queries using graphql-tag are compiled at runtime, making them slower than precompiled external files and adding extra dependencies to the vendor bundle.

Version Dependency Constraints

Tightly coupled to specific Ember and Apollo Client versions; supporting older environments requires downgrading to legacy addon versions (e.g., 1.x for Apollo v1/v2), which may lack features or updates.

Frequently Asked Questions

Quick Stats

Stars280
Forks72
Contributors0
Open Issues21
Last commit9 months ago
CreatedSince 2017

Tags

#emberjs#data-fetching#fastboot#graphql#ember-addon#typescript#ember-js#ember-cli-addon#subscriptions#apollo-client#state-management#ember

Built With

e
ember-auto-import
G
GraphQL
E
Ember.js
A
Apollo Client

Included in

Ember202
Auto-fetched 1 day ago

Related Projects

ember-orbitember-orbit

Ember.js data layer built with Orbit.js

Stars318
Forks39
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub