Our ongoing journey from REST to GraphQL on Android
summary
Migration begins end of 2020 and moves stepwise from a REST monolith to GraphQL, with AppSync backend, Apollo Kotlin client and Retrofit coexists with Apollo during transition. Generated Kotlin models and coroutines work well; subscriptions required building a custom AppSync websocket reopen strategy using a lambda to update auth URLs (contributed and merged). Nested queries once caused 7–10s responses until backend added an optimized resolver or exposed lastMessage field. Use separate OkHttp clients/timeouts and Chucker for monitoring.
AI-written summary · about
chapters (28)
- 0:00GraphQL migration journey
- 1:27What is GraphQL
- 2:55Switching from REST to GraphQL
- 4:42GraphQL adoption benefits
- 5:46GraphQL tech stack on Android
- 7:15GraphQL migration timeline
- 7:58Apollo setup in Android
- 9:24GraphQL schema and queries
- 10:54Mutations and subscriptions
- 12:01GraphQL plugins experience
- 13:12Apollo client integration
- 14:16Migration lessons learned
- 14:39Apollo Kotlin support
- 16:09Queries with coroutines and flows
- 18:01Timeout configuration
- 18:45Lazy loading resources
- 19:48Monitoring with Chucker
- 21:55Chucker request demo
- 23:02Nested query challenges
- 25:30Real-time updates with subscriptions
- 26:14WebSocket reliability with AppSync
- 28:20Contributing to Apollo Kotlin
- 31:14GraphQL error handling
- 33:48Automating schema updates
- 35:59Managing multiple schemas
- 36:41Apollo community updates
- 38:10Apollo v4 features
- 38:31Key takeaways
related talks
45mOur ongoing journey from REST to GraphQL on Android
39mOur ongoing journey from REST to GraphQL on Android
52mOur ongoing journey from REST to GraphQL on Android
29mMigrating to GraphQL on Android with Apollo
54mTake Control Of Your APIs With GraphQL
36mImplementing an Android client that brings out GraphQL’s strengths
37mGraphQL on Android is here!
28mGraphQLifying React Native App
