~/talk

MVI: a Robust and Modern Architecture

TalkinFrenchat Android Makers 2019 · on Wednesday, 2019-04-24· [frontend-architecture, kotlin]

Describes adopting MVI (Model‑View‑Intention) on Android/iOS using Kotlin/Swift with Jetpack LiveData or Rx and Room for persistence. Presents an implementation where UI events are sealed action classes dispatched to a base ViewModel that maintains one LiveData holding a single immutable state (updated by cloning) to enforce unidirectional dataflow, making presentation logic testable by setting state and asserting transitions. Also cites metrics that roughly half of app code is presentation, with ~15% web services and 15–25% tracking, and mentions a prototype app using this approach (not yet in production).

AI-written summary · about

  1. 0:00MVI intro
  2. 3:40Traditional architecture issues
  3. 7:32MVC and MVP limits
  4. 9:18MVVM architecture
  5. 17:12MVI benefits
  6. 23:12Action integration
  7. 26:20MVI concepts and dataflow
  8. 30:12Team benefits
  9. 33:42Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.