A strongly-typed, caching GraphQL client for the JVM, Android, and Kotlin multiplatform.
Apollo Kotlin is a strongly-typed, caching GraphQL client for the JVM, Android, and Kotlin multiplatform. It enables developers to build type-safe apps with powerful on-device caching and comprehensive developer tools, accelerating GraphQL integration in Kotlin-based projects.
Android and Kotlin multiplatform developers building apps that consume GraphQL APIs, particularly those who prioritize type safety, caching, and modern development workflows.
Developers choose Apollo Kotlin for its industry-leading GraphQL client capabilities, including 100% type safety through code generation, intelligent caching, excellent multiplatform support, and seamless integration with the Apollo ecosystem and GraphOS.
:rocket: A strongly-typed, caching GraphQL client for the JVM, Android, and Kotlin multiplatform.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Ensures 100% type safety from server to client through automatic code generation from GraphQL schemas, eliminating runtime errors as highlighted in the README.
Provides out-of-the-box in-memory or SQLite caching for efficient data management and offline support, reducing network calls and improving app performance.
Excellent support for modern Android and all Kotlin multiplatform targets, enabling code sharing across iOS, web, and other platforms from a single codebase.
Offers turnkey support for advanced GraphQL features like Persisted Queries and @defer directives, streamlining integration with Apollo's managed services.
Requires configuring Gradle plugins and code generation, which can be daunting for developers new to GraphQL or Apollo's toolchain, adding upfront complexity.
Heavily integrated with Apollo's ecosystem, potentially locking teams into their platform for features like GraphOS and limiting flexibility with other GraphQL tools.
The powerful features come with significant overhead in terms of dependencies and setup, making it overkill for apps with straightforward data fetching needs.