~/talk

Breaking ViewModels into smaller self-contained UI models

Talkat droidcon New York 2024 · 2024-09-19..09-20· [frontend-architecture, android]
slides:none on file

A scalable “micro feature” architecture breaks large ViewModels into platform‑independent host‑agnostic UI models paired with reusable Compose composables, created by API/impl factories and wired via a parent Jetpack ViewModel that supplies coroutine scope and saved state. Implementation uses Dagger assisted factories to instantiate UI models, supports KMP migration and server‑driven layouts, and applies unit, screenshot, integration and end‑to‑end tests. The team ships production: 75 micro features across 6 hosts, delivered by 7 teams (30 engineers), and the migration succeeds on Android and iOS.

AI-written summary · about

  1. 0:00Scalable UI architecture intro
  2. 3:37UI design challenges
  3. 6:30ViewModel limits
  4. 8:16Micro features architecture
  5. 10:29UI models vs ViewModels
  6. 14:50Unidirectional data flow
  7. 16:15Micro feature blueprint
  8. 18:05Micro feature example
  9. 24:05Hosts and integration
  10. 30:31Scaling with configs
  11. 34:49Multiplatform benefits
  12. 36:55Server-driven UI
  13. 37:58Testing micro features
  14. 39:01Key learnings
  15. 40:04Results and roadmap
~/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.