Android Dependency Injection/Service Locator

Необходимо переписать старое приложение на новый стек и архитектуру. В качестве стека буду использовать Kotlin + MVVM (LiveData) (без Databinding, так как мне он не нравится из-за сложности отладки).

Так как приложение содержит более 100 экранов, то задумался о внедрении зависимостей, так как самому вручную не очень то и охота.

Последний раз когда я использовал Dagger 2, я слышал по сути о двух библиотеках: собственно Dagger2 и Toothpick. Выбрал Dagger2 за более высокой производительности

Сейчас я вижу появился Kodein и Koin.

Посоветуйте какой лучше использовать в продакшене на такой размер приложения и почему. (Так же желаю, чтобы вес не существенно прибавился).

Буду рад любым советам


Ответы (1 шт):

Автор решения: Sergei Buvaka

Dagger - это классика. Его поддерживает Google. Он существует давно со всеми вытекающими:

  • скорость
  • возможности
  • поддержка

Koin написан на Kotlin и он больше подходит для проектов на Kotlin (хотя поддержка Java есть).

  • не особо уступает по скорости даггеру.
  • намного меньше шаблонного кода
  • понятнее и ниже порог вхождения.

С остальными я не знаком лично. Но я видел серьезные проекты где используются эти библиотеки.

Вот неплохая статья где сравнивают Dagger и Koin

→ Ссылка