Работал ли с Hilt

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

Ответ

Да, работал с Hilt — это упрощённая DI-библиотека на основе Dagger, созданная для Android. Она минимизирует шаблонный код за счёт аннотаций (например, @HiltAndroidApp, @AndroidEntryPoint).

Пример внедрения зависимости:

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

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

Плюсы:

  • Автоматическая генерация компонентов (Activity, Fragment и т.д.).
  • Интеграция с ViewModel через @HiltViewModel.
  • Меньше ручной настройки по сравнению с чистым Dagger.

Минусы:

  • Менее гибкий, чем Dagger, в сложных сценариях.
  • Требует понимания базовых принципов DI.