Что использовал бы для DI для работы с новым проектом

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

Ответ

Для нового проекта я бы выбрал Hilt — официальную DI-библиотеку от Google, построенную на Dagger.

Почему Hilt?

  • Минимальная настройка (аннотации @HiltAndroidApp, @AndroidEntryPoint).
  • Интеграция с Android-компонентами (Activity, Fragment, ViewModel).
  • Упрощает работу с Dagger, снижая boilerplate-код.

Пример:

@HiltAndroidApp
class MyApp : Application()

@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
    @Inject lateinit var analytics: AnalyticsAdapter
}

Альтернативы:

  • Koin — легковесный, но менее производительный.
  • Dagger — мощный, но сложный для новичков.

Hilt — лучший баланс между простотой и возможностями.