The Elm Architecture in Prod
summary
Team migrates from RIBs + MVICore to an Elm/MVU style on Android, replacing reactive streams and many mocks with a single update function and explicit effects. They ship this in two production apps (one feature spans ~160 fragments), write ~800–1100 unit tests that run in ~10–30s, and demo building a Loading‑Content‑Error screen in ~20 minutes. Benefits: far fewer flaky async tests, deterministic logic via one single State, side effects isolated and testable, and no measurable runtime slowdown.
AI-written summary · about
chapters (24)
- 0:00Introduction
- 1:56About the speaker
- 3:21App goals in production
- 7:19MVI and TEA overview
- 11:16Architecture key principles
- 13:44MVI implementation in team
- 15:58Testing problems
- 17:01Explicit effects solution
- 19:28MVI feature structure
- 22:01Effects and dependencies role
- 26:42Performance questions
- 28:31Navigation and analytics
- 29:19Demo: feature structure
- 31:04Demo: writing tests
- 33:35Demo: input handling
- 37:33Demo: network calls
- 40:40Demo: response handling
- 42:03Demo: navigation and analytics
- 43:06Question: fragments and features
- 44:13Debugging and logging
- 45:36Testing and coverage
- 47:25Limitations and trade-offs
- 48:06Summary and benefits
- 49:28Conclusion
related talks
24mElm — new language, new you
31mMake the Back-End Team Jealous: Elm in Production
29mRethinking All Practices "Building Applications in Elm"
41mWriting Reliable Web Apps With Elm
26mElm - Frontend with Guarantees
26mDeveloping with Elm in a large application
42mElm in Production: Type/Test Driven Development
28mConvergent Evolution
