Koin is a lightweight dependency injection (DI) framework for Kotlin.

Key Features:

  • DSL-based → Uses a simple Kotlin DSL instead of annotations or code generation.
  • Lightweight & fast → No proxies or reflection-heavy processes.
  • Multiplatform support → Works with Android, KMM (Kotlin Multiplatform Mobile), and backend apps.
  • Integration → Easily integrates with Android components, coroutines, and Jetpack libraries.

Example:

val appModule = module {
    single { UserRepository() }
    viewModel { UserViewModel(get()) }
}

Koin makes dependency management in Kotlin projects clean, simple, and easy to maintain compared to heavier frameworks like Dagger.