30 open-source projects similar to urql-graphql/urql, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Urql alternative.
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
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
React Apollo is a React-specific GraphQL data fetching library that binds Apollo Client to components through declarative hooks for queries, mutations, and subscriptions. It provides a declarative approach to GraphQL query execution where components declare their data requirements and automatically receive loading, error, and data states without managing request lifecycle code. The library distinguishes itself through a normalized cache layer that deduplicates entities and serves repeated requests without network calls, combined with incremental result streaming via the @defer directive for
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 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
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
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
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
React is a JavaScript library for building user interfaces through the composition of modular, self-contained components. It employs a declarative programming model where developers describe the desired visual state, and the library automatically manages the underlying document updates and state synchronization. By utilizing a virtual representation of the document, it calculates and applies minimal changes to the browser, ensuring efficient rendering even in complex applications. The library distinguishes itself through a sophisticated scheduling system that manages rendering work in increme
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-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
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
Vue Apollo is a GraphQL integration library for Vue applications that connects Vue components to GraphQL APIs using Apollo Client. It provides a reactive data layer for querying, mutating, and subscribing to data from GraphQL endpoints, with automatic cache updates and real-time subscription support. The library offers multiple API surfaces for working with GraphQL data, including slot-based declarative components, composable functions for the Composition API, and Options API integration. It handles the full lifecycle of GraphQL operations, from automatic data fetching with reactive queries t
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
Yoga is a GraphQL server framework and runtime-agnostic HTTP handler used to build and deploy GraphQL APIs. It functions as a toolkit for managing schemas and resolvers, providing a spec-compliant environment for hosting APIs across diverse JavaScript runtimes, including Node.js, Deno, Bun, and serverless cloud environments. The project distinguishes itself through its ability to act as an Apollo Federation gateway, composing multiple subgraphs into a single unified supergraph. It also serves as a dedicated subscription server, delivering real-time data streaming via both WebSockets and Serve
Apollo Universal Starter Kit is a full-stack application boilerplate and starter template designed to accelerate cross-platform development across web, mobile, and server environments. It provides a modular architecture that organizes code into independent, self-contained feature directories, combined with a GraphQL-driven data layer and a server-side rendering pipeline to optimize performance and search engine optimization. The project incorporates compile-time code generation tooling to automatically scaffold schemas, resolvers, and components, alongside a real-time subscription engine for
This project is a GraphQL web application with a React frontend that utilizes server-side rendering to generate HTML on the server for improved initial load times and search engine indexing. The application supports both static site generation for fast delivery via pre-rendered HTML files and containerized deployment to ensure consistent runtime behavior across different environments. The project includes capabilities for GraphQL data integration, frontend asset optimization through code-splitting, and component UI verification using snapshot testing. It also provides a mechanism for managin
Vue Apollo is a GraphQL client library for Vue.js that integrates Apollo GraphQL queries and mutations into Vue components with reactive data binding. It provides a reactive data layer that automatically updates Vue component state when GraphQL query results change, and supports server-side rendering by prefetching queries during SSR to deliver fully populated HTML on initial page load. The library allows GraphQL queries and mutations to be declared directly inside Vue component options using the apollo property, keeping data dependencies co-located with the UI. It wraps Apollo Client's nor
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
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
Hypernova is a distributed rendering engine and server-side rendering service that transforms JavaScript components into HTML on a remote server. It functions as a web page hydration framework, allowing interactive behavior to be attached to static server-generated markup by deserializing application state in the browser. The system utilizes an isolated JavaScript runtime that executes components within sandboxed virtual machines to prevent global state leakage and interference between concurrent requests. It employs a distributed architecture to execute rendering tasks across multiple worker
Vue-lazy-hydration is a performance utility for Vue.js applications that manages the transition from static server-rendered HTML to interactive client-side components. By intercepting the standard hydration process, it allows developers to selectively defer or disable the initialization of components, ensuring that client-side logic only executes when necessary. The library functions as a virtual wrapper that controls the lifecycle state of child components without requiring changes to their internal implementation. It supports a variety of activation strategies, including triggering hydratio
This project is an implementation of React Server Components, providing a full-stack component architecture that blends server-side rendering with client-side interactivity. It enables the development of web applications where server-only components for data fetching and interactive client components coexist within a single component tree. The system focuses on server-client data orchestration, allowing for the execution of server functions and database mutations across the network boundary. It distinguishes itself through a hybrid component architecture that shifts component execution to the
React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.
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
react-i18next is an internationalization framework that integrates the i18next ecosystem into React applications. It provides a system for replacing hardcoded strings with dynamic keys to support multiple languages across a user interface. The library includes an ICU message formatter for handling complex pluralization and gender-based translations. It features a localization management interface that allows for synchronizing translation keys with remote platforms and performing in-context content editing. The project covers server-side rendering localization with request-isolated translatio
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
GraphQL-Ruby is a Ruby library for building GraphQL APIs with a strongly typed schema and a dedicated query execution engine. It provides a comprehensive framework for mapping application objects to a formal type system, enabling structured data fetching through defined resolvers. The project distinguishes itself with advanced performance and delivery mechanisms, including a data loader for batching and caching to prevent N+1 query patterns. It supports high-performance data delivery through incremental response streaming, deferred query responses, and parallel data fetching using fibers. Add
Superagent is a cross-platform JavaScript HTTP client and Ajax library used for exchanging data between clients and servers. It provides a consistent API for making network requests that works identically across both Node.js and web browser environments. The library features a request pipeline that allows for the addition of custom behaviors to outgoing network calls. This system supports the implementation of specialized functions such as request throttling, caching, and the automatic signing of outgoing data.
Riot is a component-based library for building user interfaces through modular, single-file components. It functions as a framework for creating reusable elements that combine markup, logic, and scoped styles, which are then compiled into standard JavaScript functions for browser execution. The library distinguishes itself by utilizing direct rendering, which updates the document object model by tracking state changes without the overhead of a virtual representation. It supports server-side rendering and hydration to improve initial page load performance and search engine indexing. Developers