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

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

Ответ

Dagger 2 — самый популярный аналог, на котором основан Hilt. Он мощнее, но требует больше boilerplate-кода.

Koin — легковесная DI-библиотека без кодогенерации, работает на рефлексии. Проще в настройке, но медленнее в runtime.

Kodein — еще одна альтернатива с DSL-синтаксисом. Поддерживает мультиплатформенность (KMM).

Пример Koin:

val module = module {  
    single { Repository() }  
    factory { ViewModel(get()) }  
}  
startKoin { modules(module) }  

Для небольших проектов можно обойтись ручной DI или ServiceLocator (например, через by lazy).