componentization architecture with RxJava + Kotlin
summary
Rewrites Netflix’s player UI into independent components so one screen can run 20 AB-test variants concurrently without duplicating XML; the live player uses four main components plus loading and next‑episode pieces. Architecture uses Kotlin + RxJava with a hybrid MVP/MVI pattern: components are view+presenter(+model), events flow one‑way via Rx observables, and presenters protect and drive stateless views. Presenters are unit tested (examples hit 100% coverage). Layout composes components into a ConstraintLayout with programmatic constraints and a sample app is provided.
AI-written summary · about
chapters (13)
- 0:00Introduction to UI engineering
- 1:12AB testing challenges
- 4:53Dream architecture goals
- 6:39Componentization concept
- 9:11Architecture pattern overview
- 11:41RxJava event bus flow
- 14:28UI component structure
- 18:23View and presenter responsibilities
- 24:40Testing presenters
- 27:13Handling user interactions
- 29:27Layouting approaches
- 31:37Key takeaways summary
- 32:41Q&A and resources
related talks
39mNetflix's componentization architecture with RxJava + Kotlin - Part II
42mHands on MvRx: Building Real Apps
47mClean app design with Architecture Components
19mBuilding Reactive Views With the Architecture Components
35mNetflix's Reactive Android Components - The Redux Revenge.
42mArchitecture Round Table
41mMVI: a Robust and Modern Architecture
38mArchitecture Agnostic UI Development
