~/talk

Our ongoing journey from REST to GraphQL on Android

Talkat droidcon Berlin 2023 · 2023-07-05..07-07· [android, graphql]
slides:none on file

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

  1. 0:00Introduction and context
  2. 1:07Why migrate to GraphQL
  3. 6:30Choosing Apollo for Android
  4. 8:20Setting up Apollo in Android
  5. 15:39First GraphQL feature experience
  6. 16:01Lessons from REST to GraphQL
  7. 19:59Apollo Kotlin benefits
  8. 21:28Performance and lazy loading
  9. 23:14Monitoring GraphQL requests
  10. 27:11Beware of nested queries
  11. 30:28Challenges with subscriptions
  12. 34:45WebSocket connection issues
  13. 38:00Contributing to Apollo Kotlin
  14. 39:06Error handling in GraphQL
  15. 41:14Automating GraphQL schema updates
  16. 43:22Apollo community and future
  17. 44:07Conclusion and key takeaways
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.