Modular architecture inspired
summary
Proposes a concrete modular pattern: actors hold private mutable state and communicate over a MutableSharedFlow app-wide event bus, replacing Rx with Kotlin coroutines, channels, flows. Implements ~20–30 actors including a log actor, Firebase and analytics actors; actors filter a global stream, tests run by emitting events and asserting collected states, and a radio app use case shows no throughput problems. Benefits are an exact ordered event narrative and looser coupling; actors start at app scope and work in production.
AI-written summary · about
chapters (18)
- 0:00Introduction and background
- 1:34Standard Android architecture
- 2:41Introducing the actor model
- 4:51Glue between actors and UI
- 6:19Event bus implementation
- 8:50Loose coupling benefits
- 10:16Event sourcing narrative
- 13:48AppStream properties
- 14:12Login flow example
- 17:06Narrative in logs
- 19:12Testing actors
- 22:06Debugging with fake states
- 23:29Firebase crash logging
- 24:34Consent-based actor control
- 26:50Reading state with events
- 29:19Gradual adoption tips
- 30:23Advantages summary
- 35:05Q&A session
related talks
32mBuild a modular Android app architecture
40mModularizing Android Applications
20mBreaking Down Modularization
26mApp Architecture Then and Now: Lessons from the DroidKaigi Conference App History
34mIntro to App Modularization
46mModular Applications with Spring
39mWhy we failed at modularizing our app. An honest retrospective.
01h 12mRound table. Modularization 2021
