awesome-repositories.com
Blog
MCP
awesome-repositories.com

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

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

apollographql/apollo-android

0
View on GitHub↗
3,953 stars·694 forks·Kotlin·MIT·17 viewswww.apollographql.com/docs/kotlin↗

Apollo Android

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 simulating server responses and generating fake type-safe data for testing.

Broad capabilities cover network optimization through request batching and persisted queries, as well as the ability to map custom GraphQL scalars to native language types. The toolset also supports file uploads and the persistence of normalized cache data to local storage.

Features

  • Operation Execution - Manages the full lifecycle of executing GraphQL queries and mutations from request to response parsing.
  • GraphQL Clients - Provides a strongly-typed GraphQL client for Android, JVM, and Kotlin Multiplatform.
  • GraphQL Model Generators - Generates immutable native classes and parsers from GraphQL schemas to ensure compile-time type safety.
  • Normalized Caches - Implements a normalized client-side cache that flattens server responses to maintain a single source of truth.
  • GraphQL Normalized Caches - Implements a client-side cache that normalizes GraphQL query results by unique identifiers to ensure referential consistency.
  • GraphQL Query Performance Optimizations - Provides specialized GraphQL performance optimizations including request batching and persisted queries.
  • GraphQL Query Caches - Caches the results of GraphQL queries in memory or local storage to accelerate subsequent data requests.
  • WebSocket Subscriptions - Provides a specialized subscription client for real-time updates via WebSockets and Server-Sent Events.
  • GraphQL API Mocking - Provides a mocking framework to simulate GraphQL server responses and generate fake type-safe data.
  • Type-Safe Data Class Generation - Generates immutable, strongly-typed classes and parsers from GraphQL schemas at compile time.
  • GraphQL Subscriptions - Maintains persistent connections to a server to receive automatic real-time data updates.
  • Real-time Data Subscriptions - Manages persistent connections for delivering real-time data updates across multiple services.
  • Real-Time Data Synchronization - Synchronizes real-time data via GraphQL subscriptions over WebSockets and Server-Sent Events.
  • Compile-Time Code Generation - Provides compile-time generation of immutable classes and parsers from GraphQL schemas to ensure type safety.
  • Type-Safe Response Simulation - Simulates server responses using fake type-safe models to verify application logic without a backend.
  • GraphQL Data Fetching - Executes declarative GraphQL queries and mutations to retrieve or modify remote server information.
  • Type-Safe Model Mapping - Generates strongly-typed language models from schemas to prevent runtime data access errors.
  • Persisted Queries - Reduces network overhead by utilizing persisted queries and identifiers instead of full strings.
  • Client-Side Caching - Implements a normalized client-side cache to maintain a single source of truth.
  • GraphQL Query Cost Limiters - Protects backend services by limiting the computed cost of GraphQL operations.
  • Query Batching - Groups multiple GraphQL operations into a single network request to reduce round-trip latency.
  • Persisted Query Execution - Supports sending unique operation identifiers instead of full query strings to reduce network bandwidth.
  • Response Caching - Implements caching of GraphQL responses to improve performance and reduce network load.
  • Local Persistence - Stores a normalized version of the cache in a local database to maintain state across restarts.
  • GraphQL Subscription Clients - Implements a specialized client for handling real-time server updates via WebSockets or Server-Sent Events.
  • GraphQL Custom Scalars - Maps custom GraphQL scalars, such as dates and big decimals, into native language types.
  • Persisted Query Whitelists - Restricts API execution to a pre-approved list of persisted query hashes for security.
  • GraphQL Query Safelisting - Limits execution to pre-approved queries to enhance security and reduce server latency.
  • Request Batching - Combines multiple GraphQL operations into a single network request to minimize round-trip latency.
  • GraphQL Performance Monitors - Analyzes request metrics and execution data specifically for GraphQL operations to optimize performance.
  • API Simulation and Mocking - Includes a mocking framework to simulate server responses and generate fake type-safe data for testing.
  • Single-Request Data Fetchers - Allows fetching complex, nested data structures in a single network round-trip to minimize sequential API calls.
  • Request Orchestration - Orchestrates asynchronous GraphQL requests across multiple backend services to minimize latency.
  • Mobile GraphQL Tools - Strongly-typed GraphQL client for Android.

Star history

Star history chart for apollographql/apollo-androidStar history chart for apollographql/apollo-android

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

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 Android

Similar open-source projects, ranked by how many features they share with Apollo Android.
  • apollographql/apollo-kotlinapollographql avatar

    apollographql/apollo-kotlin

    3,955View on GitHub↗

    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

    Kotlinandroidapollographqlgraphql
    View on GitHub↗3,955
  • apollographql/apollo-iosapollographql avatar

    apollographql/apollo-ios

    4,030View on GitHub↗

    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

    Swiftapollo-iosapollographqlgraphql
    View on GitHub↗4,030
  • 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
  • reactive/data-clientreactive avatar

    reactive/data-client

    2,031View on GitHub↗

    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

    TypeScriptexpofetchhooks
    View on GitHub↗2,031
See all 30 alternatives to Apollo Android→

Frequently asked questions

What does apollographql/apollo-android do?

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.

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

The main features of apollographql/apollo-android are: Operation Execution, GraphQL Clients, GraphQL Model Generators, Normalized Caches, GraphQL Normalized Caches, GraphQL Query Performance Optimizations, GraphQL Query Caches, WebSocket Subscriptions.

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

Open-source alternatives to apollographql/apollo-android include: apollographql/apollo-kotlin — Apollo Kotlin is a strongly-typed GraphQL client and code generation library designed for Kotlin and JVM applications.… apollographql/apollo-ios — apollo-ios is a GraphQL client library for iOS and Apple platforms that enables type-safe network communication. It… urql-graphql/urql — urql is a GraphQL client library designed for fetching and managing data from a GraphQL API. It provides a system for… reactive/data-client — Data-client is an asynchronous state management library designed to synchronize server data with frontend… rmosolgo/graphql-ruby — GraphQL-Ruby is a Ruby library for building GraphQL APIs with a strongly typed schema and a dedicated query execution… facebook/relay — Relay is a GraphQL client framework and state manager used for building data-driven applications. It functions as a…