~/talk

Building Multi-Platform Projects with MVI Architecture

Talkat droidcon New York 2022 · 2022-09-01..09-02· [android]
slides:none on file

Claims that Kotlin Multiplatform plus an MVI model lets one share most business logic across Android, iOS and web, implemented here as a habit‑tracker with an in‑memory habit store, optimistic cache and intent validation state machine. Uses Ktor + Kotlinx.serialization for REST, coroutines and StateFlow in common code (surprisingly supported), Compose on Android, SwiftUI with small flow adapters on iOS, Kotlinx.html for JS, and Koin for DI. Compose-on-web proves flaky; the multiplatform model and adapters work.

AI-written summary · about

  1. 0:00Introduction and thanks
  2. 1:36Why multi-platform projects
  3. 2:40Kotlin Multiplatform overview
  4. 4:47MVI architecture principles
  5. 9:21Habit tracker app example
  6. 10:43Project setup and workflow
  7. 13:51Code reuse expectations
  8. 15:14Model state and intents
  9. 16:38Intent validation with state machines
  10. 19:47Authentication and session management
  11. 20:30Ktor for REST API calls
  12. 21:12Jetpack Compose for Android
  13. 24:01Kotlin JS for web views
  14. 27:08SwiftUI for iOS
  15. 28:34Camp Kit project for iOS
  16. 30:41Dependency injection with Koin
  17. 32:47Tracks to explore further
  18. 33:29MVI concepts beyond frameworks
~/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.