Implementing an Android client that brings out GraphQL’s strengths
summary
An Android app has used GraphQL end-to-end for about two years and documents four ADRs: put domain logic in the server schema, use Apollo-Kotlin v3 with a per-screen Flow wrapper that emits Kotlin Flow and throws on GraphQL errors, map client-side errors to HTTP 400 and server-side errors to 500, and colocate GraphQL fragments with Jetpack Compose components. The Flow wrapper centralizes multi-query flows, simplifies testing, and applies exponential backoff with five retries before surfacing errors.
AI-written summary · about
chapters (7)
- 0:00Introduction
- 4:41Adopt GraphQL
- 8:48Server-side domain logic
- 15:01Apollo Client design
- 23:55GraphQL errors handling
- 29:59Jetpack Compose with fragments
- 35:23Summary
related talks
43mExploring GraphQL on Android
24mGraphQL in Android
45mOur ongoing journey from REST to GraphQL on Android
39mOur ongoing journey from REST to GraphQL on Android
37mGraphQL on Android is here!
31mWelcome to the Wonderful World of GraphQL
52mOur ongoing journey from REST to GraphQL on Android
47mGraphQL: How to Persuade the Server to Fit the App
