30 open-source projects similar to apollographql/apollo-client, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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
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
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
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
This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a robust framework for managing application state by synchronizing data across browsers, mobile devices, and server-side runtimes. By treating local storage as the primary source of truth, it enables applications to remain functional without network connectivity, automatically reconciling changes with remote backends once a connection is restored. The database distinguishes itself through a modular architecture that supports cross-environment synchronization and high-performance d
TanStack Table is a headless, framework-agnostic engine designed for building complex data grids and managing tabular state. By decoupling data processing logic from the visual rendering layer, it allows developers to implement custom user interfaces while offloading sophisticated operations like sorting, filtering, grouping, and pagination to a unified, performant core. The library distinguishes itself through its commitment to type safety and environment flexibility. It leverages strict type definitions to ensure data integrity across the entire application and utilizes an adapter pattern t
Apollo Kotlin is a strongly-typed GraphQL client and code generation library designed for Kotlin and JVM applications. It functions as a comprehensive development tool that transforms GraphQL schema definitions and query documents into type-safe models during the build process, ensuring that data access errors are identified at compile time rather than at runtime. The project distinguishes itself through its multiplatform runtime abstraction, which allows developers to share data fetching and caching logic across Android, iOS, and desktop environments. It provides a normalized local caching s
TanStack Router is a type-safe routing library for web applications that provides full type safety for paths, search parameters, and data loaders across the entire application stack. It functions as a comprehensive framework for server-side rendering, enabling the generation of complete HTML pages to improve initial load performance and search engine optimization. By integrating declarative data fetching, the library manages asynchronous information at the route level, supporting preloading, caching, and parallel request execution to ensure data is ready before components render. The project
Pinia is a state management library for Vue applications that provides a centralized, type-safe architecture for organizing reactive data. It utilizes a modular store pattern, allowing developers to define independent, reusable state containers that manage shared application data, computed getters, and executable actions. The library distinguishes itself through a flexible definition model that supports both functional setup patterns and traditional object-based structures. It features a plugin-based extension architecture that enables developers to hook into the store lifecycle for custom fu
MobX is a reactive state management library and fine-grained reactivity engine. It provides an observable data store that automatically triggers updates in the user interface when data structures change, functioning as a transparent functional reactive store to maintain a consistent source of truth. The system utilizes a dependency-graph mapping and proxy-based object observation to track data dependencies. This ensures that only the specific components dependent on changed data are updated, which reduces unnecessary re-renders and optimizes frontend performance. The library supports decoupl
Effector is a reactive state management library designed for building complex, event-driven applications. It functions as a data flow engine that models application logic as a directed acyclic graph, ensuring that state updates propagate automatically through interconnected nodes. By utilizing atomic state updates and declarative unit composition, the library maintains data consistency and provides a predictable execution model for managing application state. The project distinguishes itself through its framework-agnostic architecture, which decouples business logic from user interface implem
Jotai is a state management library for React applications that utilizes an atomic model to handle data. It organizes application state into small, independent units called atoms, which automatically track dependencies and trigger granular updates to components. By building state through these composable primitives, the library ensures that only the necessary parts of an application re-render when data changes. The library distinguishes itself through its flexible approach to state composition and asynchronous data handling. It integrates promises directly into the state model, allowing devel
Data-client is an asynchronous state management library designed to synchronize server data with frontend applications. It functions as a normalized cache manager that maps complex API responses into structured, relational entities, ensuring data consistency across the entire application. By providing a unified communication layer, the library supports both REST and GraphQL, allowing developers to bind network data directly to user interface components through declarative hooks. The library distinguishes itself through a robust architecture for optimistic user interface development, where loc
React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.
apollo-ios is a GraphQL client library for iOS and Apple platforms that enables type-safe network communication. It transforms GraphQL operations into generated Swift models, ensuring that network responses are validated at compile time to eliminate manual mapping. The library features a normalized cache manager that stores entities in a flat structure to maintain data consistency across different application views. It also optimizes network performance using hash-based persisted queries to reduce payload sizes and supports real-time data streaming via WebSockets or HTTP subscriptions. The p
This project is an interactive learning resource and tutorial for implementing the Apollo GraphQL client. It provides a guided instructional experience to teach frontend data management, specifically focusing on how to connect web applications to GraphQL data sources. The platform uses a sequenced path of hands-on lessons and interactive code walkthroughs. These modules combine instructional text with executable code blocks to demonstrate real-time API behavior and the integration of GraphQL into frontend frameworks. The curriculum covers the use of declarative queries and schema-driven data
Valtio is a proxy-based state management library and reactive state engine that provides a mutable state store. It allows application state to be updated through direct object mutations rather than immutable patterns, using JavaScript proxies to track changes and trigger updates. For React applications, it includes a synchronization hook that ensures components re-render only when the specific properties they access are modified. The system supports reactive data derivation through computed properties that automatically update when their underlying dependencies change. It maintains reactivity
Webstudio is a visual CMS and website builder that provides a visual development environment for designing and publishing websites. It functions as an AI-powered design tool, a REST and GraphQL API client, and an atomic CSS compiler. The platform distinguishes itself through generative AI capabilities for creating layout variants and refining visual styles from text prompts. It integrates a headless CMS workflow that maps external data sources to visual components and utilizes a specialized compiler to convert design tokens into deduplicated atomic CSS for optimized page load speeds. The sys
This project is a strongly-typed GraphQL client library and code generator designed for Android, JVM, and Kotlin Multiplatform. It provides a toolset for executing queries and mutations, generating immutable classes and parsers from GraphQL schemas to ensure compile-time type safety. The library features a normalized client-side caching system that flattens server responses into a lookup table to maintain a single source of truth. It includes a specialized subscription client for handling real-time server-side updates via WebSockets or Server-Sent Events, and a mocking framework for simulatin
Mirage JS is a browser-based mock server and client-side API simulator designed for JavaScript application development. It functions as a mocking tool that intercepts network requests to simulate backend API behavior, allowing developers to build and test frontend interfaces without requiring live backend infrastructure. The tool provides a simulation layer that mimics REST endpoints to facilitate rapid prototyping of user flows and application logic. It enables the creation of fake server responses directly within the web browser to verify how an application handles various data scenarios an
Effector is a reactive state management library and data flow orchestrator designed for building complex, event-driven applications. It models application logic as a directed acyclic graph, where state updates and asynchronous side effects propagate automatically through declarative pipelines. By decoupling business logic from user interface layers, it allows developers to maintain state in independent containers that communicate via standard interfaces, ensuring the system remains framework-agnostic. The library distinguishes itself through its robust support for isolated execution scopes, w
Ripple is a full-stack TypeScript web framework and reactive UI library used for building interfaces with server-side rendering. It organizes user interfaces into a hierarchy of reusable, scoped components with built-in state management and client-side hydration. The framework is distinguished by its fine-grained reactivity, which updates specific DOM elements without requiring full component re-renders. It integrates server-side logic and client-side components within a single TypeScript codebase, enabling a unified full-stack development workflow. The system covers a broad range of capabil
Mockoon is an HTTP API simulation platform and design tool used to create fake API endpoints that simulate server responses without a backend. It functions as an OpenAPI mock server tool and a JSON API mocking utility, allowing for the rapid iteration of API contracts and the generation of response templates. The project distinguishes itself through a combination of stateful mocking, using a local JSON database to simulate CRUD operations, and the ability to run as a headless API mock server via a command line interface. It supports real-time collaborative editing and AI-assisted prototyping
json-server is a development toolset used to simulate a full REST API from a JSON file. It functions as a customizable mock API server that allows for the simulation of CRUD operations and resource relationships without the need to write backend code. The project enables rapid prototyping by generating a fake backend that persists data changes back to a local JSON file. It distinguishes itself by providing a static asset file server to deliver local documents, images, and stylesheets alongside the mock API endpoints. The server includes capabilities for data querying, such as parameter-based
This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of practical examples and projects that demonstrate how to build web applications, RESTful APIs, and high-performance services. The repository focuses on a variety of architectural patterns, including the development of Minimal APIs, contract-first gRPC services, and real-time communication using WebSockets and Server-Sent Events. It includes detailed implementations for user identity and security, such as token-based authentication and CSRF protection. The codebase covers a bro
Vendure is a Node.js e-commerce engine and headless commerce framework built with NestJS and TypeScript. It serves as a multi-channel commerce platform that manages product catalogs, orders, and customers via a strongly typed GraphQL API. The platform is distinguished by its highly extensible architecture, featuring a customizable administrative dashboard where developers can inject custom React components and entity views. It supports multi-channel commerce, allowing the isolation of products, currencies, and regional catalogs from a single unified backend. The engine covers a broad range o
Immutable.js is a library of persistent data structures and a functional state management toolkit. It provides a collection of immutable objects and arrays that prevent direct mutation to ensure predictable state management in JavaScript applications. The library utilizes structural sharing to efficiently create new versions of data without full copying and implements lazy sequence processing to chain data transformations that execute only when values are requested. It also supports batch mutation processing, allowing multiple changes to be applied to a temporary mutable copy before returning
This project provides a comprehensive suite of tools for managing asynchronous state and building full-stack web applications. At its core, it functions as a centralized synchronization layer that automates data fetching, caching, and background revalidation, ensuring that remote server data remains consistent with the local user interface. By utilizing a declarative, hook-based programming model, it simplifies the management of complex data lifecycles and loading states. The project distinguishes itself through a headless design philosophy that decouples business logic from visual presentati
This library provides a collection of hooks for integrating GraphQL data operations into functional components within the Apollo Client ecosystem. It functions as a state management tool that synchronizes remote server data with local component state, ensuring consistent data representation across the user interface. The project distinguishes itself by enabling server-side rendering through a framework of utilities that pre-fetch data and resolve component trees to deliver fully populated HTML. It utilizes a provider-based pattern to inject the data client into the component tree, allowing ne