Котлин с Кинжалом 2 - PullRequest
       19

Котлин с Кинжалом 2

0 голосов
/ 26 сентября 2018

Мы разрабатываем новое приложение для Android, используя только язык Kotlin.

Мы хотим использовать платформу Dependency Injection.Dagger 2 - это основанный на Java фреймворк.Насколько я знаю, нет никакой основанной на Kotlin DI-фреймворка от Google.

  1. Желательно ли использовать Dagger 2 с Kotlin?
  2. Когда мы можем ожидать от Google основанную на Kotlin DI-среду?Если да, совместимо ли оно с Dagger 2 для быстрого принятия?

Ответы [ 4 ]

0 голосов
/ 28 сентября 2018

Dagger 2 должен работать с Kotlin.Мы знаем, что у пользователей Kotlin есть несколько неровностей, и мы надеемся сгладить их.

0 голосов
/ 26 сентября 2018
  1. Вы можете использовать кинжал 2 с Kotlin, и никаких проблем не должно быть.
  2. Я не уверен, что Google его разработает, однако, если совместимость с кинжалами не является проблемой, тогдасуществует существующая структура DI Koin , написанная на Kotlin.
0 голосов
/ 26 сентября 2018

Koin и kodein не являются контейнерами DI, но являются сервисными локаторами.Если вы считаете, что вам нужен только DI-контейнер, и Service Locator не подходит для вас, то, вероятно, Koin / kodein не является хорошим выбором.Выбор за вами.Разницу можно увидеть здесь В чем разница между шаблонами Dependency Injection и Service Locator? .

Разговор Джейка Уортона также проливает свет на то же утверждение:

Шаблон DI> шаблон поиска службы.Код генерирует шаблон для ручного DI.Время компиляции проверено на полноту.Быстро во время выполнения.

https://twitter.com/JakeWharton/status/908419644742098944?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E908419644742098944&ref_url=https%3A%2F%2Fmedium.com%2Fmedia%2Ffc6b4ad54c27f761700f5726ed92cfd1%3FpostId%3Df5bc5eaa308e

0 голосов
/ 26 сентября 2018
  1. Да, вы можете использовать Dagger 2 с Kotlin.Котлин работает над JVM и полностью совместим с Java.

  2. Я не слышал о таких планах.Просто используйте Dagger 2 в своем проекте Kotlin, и вы увидите, что он отлично работает.

...