Architecture Agnostic UI Development
summary
A concrete recipe: model UI as sealed view states and events using sealed classes + data classes as view states, drive transitions with Tinder's open source state machine that emits states to LiveData, trigger side‑effects for network calls via clean‑architecture use cases (RxJava), and test transitions with parameterized unit tests. The team builds a Marvel comic list + detail demo, wires a “show more” ellipsize check into the state machine, and then replaces fragments with Jetpack Compose swap with zero core changes to prove the UI is architecture‑agnostic and fully testable.
AI-written summary · about
chapters (13)
- 0:00Introduction and welcome
- 1:39Evolution of Android architectures
- 4:09Need for architecture-agnostic UI
- 5:56Challenges in UI development
- 8:47Introducing state machines
- 12:59State machine expectations
- 16:09Implementing state machine logic
- 20:01Defining states and transitions
- 22:07Loading and comic list screens
- 24:40Handling show more button
- 31:05Swapping UI to Jetpack Compose
- 34:34Key takeaways and benefits
- 36:42Architecture agnostic UI summary
related talks
45mImplementing Modern Android Architecture
40mComposing ViewModels: Breaking ViewModels into smaller self-contained UI models
40mRethinking UI: Imperative to Declarative
35mSweet Architecture
42mArchitecture Round Table
41mBreaking ViewModels into smaller self-contained UI models
41mMVI: a Robust and Modern Architecture
41mLiveData beyond VIewModels
