Our ongoing journey from REST to GraphQL on Android
summary
Company migrates a large REST monolith to a federated GraphQL layer using AppSync backend and an Android client built with Apollo Kotlin, first rolled into messaging in 2020–21. Implementation specifics: lazy‑load the Apollo client behind a feature flag, monitor requests with OkHttp + Chucker, automate nightly schema pulls in CI, and expect wonky error surfaces. Pain points that get fixed: a nested query jumps from milliseconds to ~10 seconds until backend exposes a dedicated lastMessage field, and subscriptions require a custom AppSync websocket flow — a contributed fix to Apollo resolves dynamic URL/auth refresh.
AI-written summary · about
chapters (17)
- 0:00Introduction and context
- 1:07Why migrate to GraphQL
- 6:30Choosing Apollo for Android
- 8:20Setting up Apollo in Android
- 15:39First GraphQL feature experience
- 16:01Lessons from REST to GraphQL
- 19:59Apollo Kotlin benefits
- 21:28Performance and lazy loading
- 23:14Monitoring GraphQL requests
- 27:11Beware of nested queries
- 30:28Challenges with subscriptions
- 34:45WebSocket connection issues
- 38:00Contributing to Apollo Kotlin
- 39:06Error handling in GraphQL
- 41:14Automating GraphQL schema updates
- 43:22Apollo community and future
- 44:07Conclusion and key takeaways
related talks
41mOur ongoing journey from REST to GraphQL on Android
52mOur ongoing journey from REST to GraphQL on Android
39mOur ongoing journey from REST to GraphQL on Android
29mMigrating to GraphQL on Android with Apollo
36mImplementing an Android client that brings out GraphQL’s strengths
37mGraphQL on Android is here!
28mGraphQLifying React Native App
54mTake Control Of Your APIs With GraphQL
