Какие знаешь аналоги Koin

«Какие знаешь аналоги Koin» — вопрос из категории DI, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Dagger 2 - самый популярный аналог, предоставляет строгую типизацию и генерацию кода во время компиляции.

Hilt - упрощённая версия Dagger 2, разработанная Google специально для Android.

Kodein - легковесная DI-библиотека с DSL-подходом, похожая на Koin, но с более строгой типизацией.

Toothpick - простая и производительная библиотека, поддерживает многопоточность.

Пример Hilt:

@HiltAndroidApp
class MyApp : Application()

@Module
@InstallIn(SingletonComponent::class)
class AppModule {
    @Provides
    fun provideRepository(): Repository = RepositoryImpl()
}

@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
    @Inject lateinit var repository: Repository
}