Domic — Reactive Virtual DOM. Why we built it, how it works.
summary
Domic is a reactive virtual DOM for Android that exposes only RxJava-based observe/change interfaces, returns Disposables, and lets view models bind observables for rendering. It implements an API, Android bindings and a JVM test module, uses custom RxJava operators and an atomic reference array for a shared distinct-until-changed to keep state consistent, precomputes text off-thread, double-buffers changes and waits on Choreographer to batch renders, minimizing main-thread work so lists of updates sustain 60fps and enable synchronous JVM unit tests.
AI-written summary · about
chapters (11)
- 0:00Introduction and motivation
- 4:23Design patterns evolution
- 10:02Threading and reactivity benefits
- 16:22Domic API module explained
- 22:40Rendering and diffing mechanism
- 29:03Performance and threading optimizations
- 33:39Testing with Domic
- 37:34Integration with MVVM
- 40:23Redux and declarative APIs
- 43:12Comparison with other libraries
- 44:58Summary and recap
related talks
36mFunctional MVVM using RxJava and Android Data Binding
22mReactive, Clean Architecture and Android Architecture Components, a solid formula for a MVVM based a
42mHands on MvRx: Building Real Apps
48mGoing Reactive, An Android Architectural Journey
18mMVVM architecture with Data Bindings
37mEffective Android Data Binding
32mUI, Pure and Simple
46mMvRx: Android Development on Autopilot
