awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
apollographql avatar

apollographql/apollo-client

0
View on GitHub↗
19,798 stars·2,699 forks·TypeScript·MIT·13 viewsapollographql.com/client↗

Apollo Client

Apollo Client is a GraphQL client library and data fetching framework used to request data from a GraphQL server and synchronize that state within a frontend application. It functions as a remote state manager and a local state management tool, allowing developers to define client-side schemas and resolvers for data that does not reside on a remote server.

The project features a normalized GraphQL cache that identifies objects by ID to ensure referential equality and consistent data updates across different queries. It also includes a GraphQL API mocking tool to simulate server responses and network delays for testing data fetching logic without a live backend.

The framework provides capabilities for server-side rendering and cache hydration to prevent page flickering during load. Its broader feature set covers network request interception, query batching, incremental data delivery, and the synchronization of data state with user interface components.

Features

  • Normalized Data Caching - Implements a normalized cache that identifies objects by ID to ensure referential equality across different queries.
  • GraphQL Data Fetching - Fetches and synchronizes data from a GraphQL server into a local application state.
  • GraphQL Client Frameworks - Provides a complete framework for coordinating GraphQL network requests, intercepting traffic, and managing server-side rendering.
  • Application State Management - Maintains a consistent local representation of remote data to keep the user interface updated.
  • GraphQL Result Caches - Stores fetched GraphQL query results locally to minimize network requests and improve data retrieval speed.
  • Local State Stores - Provides mechanisms for managing application-local data via client-side schemas and resolvers for data not on a remote server.
  • GraphQL Normalized Caches - Ships a normalized cache that identifies objects by ID to ensure referential equality and consistent data updates across queries.
  • Remote Data Management - Automates the fetching, caching, and synchronization of remote GraphQL data to keep the application state consistent.
  • Server State Managers - Maintains a consistent local representation of remote server data to ensure reactive UI updates.
  • Component Data Bindings - Binds GraphQL queries and mutations to React components using hooks for automatic UI updates.
  • Local Schema Resolvers - Provides a mechanism to define and resolve local schemas for data that does not exist on the remote server.
  • Data Fetching & Caching - Synchronizes remote data with a local frontend application using an intelligent caching system.
  • GraphQL Clients - Functions as a comprehensive library for requesting data from GraphQL servers and managing that state in frontends.
  • Browser-Side State Management - Provides tools for defining client-side schemas and resolvers to manage application state within the browser.
  • Observable State Tracking - Tracks data dependencies using observables to automatically trigger UI updates when cached fragments change.
  • Automatic Query Execution Engines - Automatically triggers query refetching in response to system events like window focus or network reconnection.
  • Query Batching - Combines multiple GraphQL operations into a single network request to reduce overhead and round trips.
  • Hydration State Transfers - Serializes server-side cache into JSON for rehydration in the client store upon page load.
  • Middleware-Based Request Pipelines - Implements a modular pipeline of pluggable links to intercept and modify network requests.
  • Request Batching - Implements request batching to group multiple GraphQL operations into a single network call.
  • Data Fragment Masking - Uses fragments to mask GraphQL data, ensuring components only access the specific fields they require.
  • UI Data Observers - Uses observables to synchronize data streams between the GraphQL server and the application state.
  • Composable Middleware Pipelines - Uses a chain of composable links to process network requests and transform data.
  • API Mocking - Includes a mocking tool to simulate server responses and network delays for testing data fetching logic.
  • Suspenseful Data Loading - Coordinates component rendering suspension until requested data is available in the cache or network.
  • API Mocking Servers - Simulates server responses with realistic delays to test data fetching without a live backend.
  • Fragment Data Masking - Ensures components only access the specific slices of cached data they requested via fragments.
  • GraphQL Fragment Masking - Limits the data a component can access to only what is defined in its associated GraphQL fragment.
  • Request Interception Middleware - Transforms requests and handles authentication through a chain of interception middleware.
  • Server-Side Rendering - Supports hydrating the client cache on the server to provide static markup and prevent flickering during load.
  • Database and Backend - GraphQL client for building data-driven applications.
  • State Management - Production-ready caching client for GraphQL.
  • GraphQL Clients - A fully-featured, production ready caching GraphQL client.
  • State Management - Listed in the “State Management” section of the Awesome React awesome list.

Star history

Star history chart for apollographql/apollo-clientStar history chart for apollographql/apollo-client

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Apollo Client

Similar open-source projects, ranked by how many features they share with Apollo Client.
  • apollostack/apollo-clientapollostack avatar

    apollostack/apollo-client

    19,798View on GitHub↗

    Apollo Client is a frontend GraphQL integration layer and client library used to fetch, manage, and cache data from a GraphQL server in web and mobile applications. It functions as a state management framework that synchronizes remote server data with local application state. The project provides a TypeScript wrapper for executing GraphQL queries and mutations, ensuring type-safe API integration with automatic validation and code completion. The library manages data fetching and synchronization between the backend and the user interface. It includes capabilities for caching GraphQL results l

    TypeScript
    View on GitHub↗19,798
  • facebook/relayfacebook avatar

    facebook/relay

    18,940View on GitHub↗

    Relay is a GraphQL client framework and state manager used for building data-driven applications. It functions as a declarative data fetching layer and a GraphQL compiler that transforms declarations into optimized runtime code with automatic type generation. The framework distinguishes itself through a build-time compilation process that generates optimized queries and a data masking system that prevents components from accessing undeclared data. It employs a normalized client-side cache to maintain consistency across entities and an optimistic update mechanism to provide immediate interface

    Rust
    View on GitHub↗18,940
  • urql-graphql/urqlurql-graphql avatar

    urql-graphql/urql

    8,959View on GitHub↗

    urql is a GraphQL client library designed for fetching and managing data from a GraphQL API. It provides a system for handling GraphQL data fetching, state management, and integration with React components. The library is distinguished by a middleware pipeline architecture that allows the request-response flow to be modified through swappable exchanges. This enables the customization of the data layer, including the addition of custom business logic, request deduplication, and specialized fetching behaviors. The project covers a broad range of capabilities, including normalized caching to en

    TypeScriptcomplex-appsexchangegraphql
    View on GitHub↗8,959
  • formidablelabs/urqlFormidableLabs avatar

    FormidableLabs/urql

    8,956View on GitHub↗

    urql is a GraphQL client and data management tool used to execute GraphQL operations and synchronize data from remote servers within a software application. It functions as a mechanism for fetching, caching, and managing GraphQL data to maintain state across application views. The project features a pluggable middleware architecture and a normalized GraphQL cache. This allows for the insertion of custom logic into the request and response lifecycle to modify client behavior and the organization of responses by unique identifiers to ensure data consistency. The client provides capabilities fo

    TypeScript
    View on GitHub↗8,956
See all 30 alternatives to Apollo Client→

Frequently asked questions

What does apollographql/apollo-client do?

Apollo Client is a GraphQL client library and data fetching framework used to request data from a GraphQL server and synchronize that state within a frontend application. It functions as a remote state manager and a local state management tool, allowing developers to define client-side schemas and resolvers for data that does not reside on a remote server.

What are the main features of apollographql/apollo-client?

The main features of apollographql/apollo-client are: Normalized Data Caching, GraphQL Data Fetching, GraphQL Client Frameworks, Application State Management, GraphQL Result Caches, Local State Stores, GraphQL Normalized Caches, Remote Data Management.

What are some open-source alternatives to apollographql/apollo-client?

Open-source alternatives to apollographql/apollo-client include: apollostack/apollo-client — Apollo Client is a frontend GraphQL integration layer and client library used to fetch, manage, and cache data from a… facebook/relay — Relay is a GraphQL client framework and state manager used for building data-driven applications. It functions as a… urql-graphql/urql — urql is a GraphQL client library designed for fetching and managing data from a GraphQL API. It provides a system for… formidablelabs/urql — urql is a GraphQL client and data management tool used to execute GraphQL operations and synchronize data from remote… pubkey/rxdb — This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a… tanstack/table — TanStack Table is a headless, framework-agnostic engine designed for building complex data grids and managing tabular…