Netflix's componentization architecture with RxJava + Kotlin - Part II
summary
Netflix moves a monolithic player to small, reusable components that own UI state, lifecycle and presentation logic, enabling independent unit tests and faster AB-test rollout. Implementation uses RxJava event buses (with per-component and per-owner buses to avoid broadcasting overhead), a lifecycle-aware RX event factory to avoid invalid callbacks, and Kotlin sealed classes for typed events. Concrete wins: player, loading, cast and season-selector components are reused across screens, reduce duplicated XML, and speed experiments and tests in production.
AI-written summary · about
chapters (10)
- 0:00Introduction to UI components
- 1:27UI engineering at Netflix
- 5:22Componentization approach explained
- 12:11Google's architecture components vs UI components
- 15:44High-level architecture with RxJava
- 22:05Code walkthrough fragment and components
- 27:25Unit testing UI components
- 30:16Layout composition with components
- 32:41Four key takeaways
- 34:28Q&A and GitHub resources
related talks
35mcomponentization architecture with RxJava + Kotlin
35mNetflix's Reactive Android Components - The Redux Revenge.
49mFunctional Reactive Programming with RxJava
41mMaking a Kotlin, Architecture Components, Rx and Coroutines sandwich
29mShaping Your App's Architecture with Kotlin and Architecture Components
06mBuilding Applications for the Studio in the Cloud at Netflix
46mGet Reactive! Programming, Systems, and Microservices
42mHands on MvRx: Building Real Apps
