Functional approach to Android architecture using Kotlin
summary
Shows a Kotlin architecture that pushes all side effects to the edges using an IO monad plus Either for explicit errors, Reader/ReaderT (monad transformer) for implicit dependency passing, and optionally free monads or tagless final for full abstraction. Uses the kategory library, coroutines or RxJava for execution, and a sample Marvel-API app implemented four ways; documentation contains compiled code snippets. Claims: clearer return types, fewer thread/exception leaks, easier testing and DI replacement, and a near‑stable kategory release.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:05Functional programming basics
- 5:18Modeling errors and success
- 13:06Threading and synchronicity
- 18:26IO monad for side effects
- 24:27Lazy evaluation and Reader
- 27:56ReaderT for dependency injection
- 32:12Monad transformers
- 35:43Advanced patterns
- 38:15Key takeaways and conclusion
- 40:24Q&A
related talks
41mArchitectures Using Functional Programming Concepts
34mFunctional Android
41mMaking a Kotlin, Architecture Components, Rx and Coroutines sandwich
34mFunctional Programming in Kotlin for AndroidDevs
42mArchitecture Round Table
38mBuilding Android apps in 2022
58mModern Android Development
40mFunctional Programming in Kotlin with Kategory
