Выбор ответа Middle DI: Hilt и Koin спрашивают часто обновлено
Когда Koin находит ошибки
Вопрос
Чем Koin принципиально отличается от Hilt?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Koin разрешает зависимости в рантайме по DSL, ошибки графа видны при запуске. Koin это DSL с single, factory, viewModel, разрешение происходит при обращении во время работы.
Варианты ответа
- Koin генерирует граф при компиляции через KSP, а Hilt собирает его рефлексией при запуске
- Koin работает только с Java и требует аннотаций, а Hilt написан для Kotlin
- Koin разрешает зависимости в рантайме по DSL, ошибки графа видны при запускеправильный ответ
- Koin не поддерживает ViewModel, поэтому для них отдельно подключают Hilt
Разбор
Koin это DSL с single, factory, viewModel, разрешение происходит при обращении во время работы. Это проще и быстрее для сборки, работает в KMP, но отсутствующее определение даст исключение при запуске, если не проверять модули в тестах (verify()) или не использовать Koin Annotations. Hilt наоборот генерирует граф при компиляции. Koin написан для Kotlin и поддерживает ViewModel.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.