Sweet Architecture
summary
Cash App says unidirectional UI works across 40+ engineers and 600+ modules: views in Kotlin or XML, presenters in Rx, Coroutines or Compose coexist via a binding that starts/stops presenters and converts different presenter types. Tests run on the JVM with paparazzi golden-image snapshots and CI verification, and presenters use molecule and turbine to expose flows; Broadway navigation wires view/presenter factories. The result is fast, testable screens and safe migrations.
AI-written summary · about
chapters (20)
- 0:00Cash App’s architecture evolution
- 2:19Cash App’s UI abstractions
- 3:48Unidirectional data flow
- 6:14Simplifying UI with contracts
- 7:37Testing UIs with Paparazzi
- 9:00Paparazzi CI workflow
- 13:52Presenter lifecycle
- 16:18Reactive presenters with RxJava
- 19:12Molecule library
- 21:17Molecule’s flow APIs
- 22:41Molecule presenters
- 24:05Testing with Molecule
- 25:09Navigation and payloads
- 26:11Broadway overview
- 27:58Presenter factories
- 29:01Safe migrations
- 30:28View and presenter factories
- 31:53Broadway navigation
- 32:35Screen transitions
- 34:25Summary
related talks
32mArchitecture at Scale
38mArchitecture Agnostic UI Development
35mcomponentization architecture with RxJava + Kotlin
26mApp Architecture Then and Now: Lessons from the DroidKaigi Conference App History
42mArchitecture Round Table
47mClean app design with Architecture Components
33mMobile app architecture
37mAdaptable architecture for agencies
