На Хабре наткнулся на статью "#Dagger2 - это элементарно": http://bit.ly/2lN46Ak
Хотя я целиком и полностью НЕ согласен с заголовком, но ознакомиться новичкам для понимания принципов точно стоит.
Чуть более подробная статья, но на английском - http://bit.ly/2kthU2F
И также более глубокая статья, но уже на русском: http://bit.ly/2lN4Cyg
Ну и кои первоначальная статья про #kotlin, нельзя не сказать про то, что для него также стоит посмотреть и понимать в чем отличия между даггером и #koin: http://bit.ly/2kD5tRJ
Хотя я целиком и полностью НЕ согласен с заголовком, но ознакомиться новичкам для понимания принципов точно стоит.
Чуть более подробная статья, но на английском - http://bit.ly/2kthU2F
И также более глубокая статья, но уже на русском: http://bit.ly/2lN4Cyg
Ну и кои первоначальная статья про #kotlin, нельзя не сказать про то, что для него также стоит посмотреть и понимать в чем отличия между даггером и #koin: http://bit.ly/2kD5tRJ
Хабр
Dagger 2 – это элементарно (Часть 1)
Содержание Введение Что такое Dependency Injection, Пример зависимости Dagger 2 – введение Первое использование Dagger 2 Введение Статья написана не продвинут...
С конца прошлого лета делал приложеньку для сервиса построения маршрута Mapmagic (раньше activetrip, manymap).
Как обычно есть 100500 штук, которые хочется улучшить, поправить и оптимизировать, но решили лучше катнуть чем можно раньше, собирать фидбек и импрувить по дороге 🙂
Отзывы (в личку и\или в маркет), замечания, вопросы привествуются:
https://play.google.com/store/apps/details?id=app.mapmagic.android
Из интересного:
- бОльшая часть аппки на #KMP. Ииспользовал Decompose чтобы логически написать viewModel (aka Component) один раз, а UI плагином прицепить на уровне платформы. Это дает теоритическую возможность вообще всю логику, в том число подготовку UI моделей сделать один раз.
- Карты на #maplibre+#maptiler сделаны на уровне платформы, а вот подготовка geoJson для отображения - кросплатформенно.
- Когда необходима платформозависимая реализация, то на уровне домена лежит интерфейс, например
- Для #DI в КМП использован #Koin, а на уровне платформы его можно соединить и с Hilt/Swinject
- По ходу разработки нашел удобный сборник либ для КМП
На данный момент апка это больше компаньон для web платформы построения маршуртов. В Приложении можно только просматривать и записывать треки, строить пока нет.
https://play.google.com/store/apps/details?id=app.mapmagic.android
Как обычно есть 100500 штук, которые хочется улучшить, поправить и оптимизировать, но решили лучше катнуть чем можно раньше, собирать фидбек и импрувить по дороге 🙂
Отзывы (в личку и\или в маркет), замечания, вопросы привествуются:
https://play.google.com/store/apps/details?id=app.mapmagic.android
Из интересного:
- бОльшая часть аппки на #KMP. Ииспользовал Decompose чтобы логически написать viewModel (aka Component) один раз, а UI плагином прицепить на уровне платформы. Это дает теоритическую возможность вообще всю логику, в том число подготовку UI моделей сделать один раз.
- Карты на #maplibre+#maptiler сделаны на уровне платформы, а вот подготовка geoJson для отображения - кросплатформенно.
- Когда необходима платформозависимая реализация, то на уровне домена лежит интерфейс, например
AnalyticsDelegate. Он в свою очередь реализован на уровне платформы и прокидывается куда необходимо через DI.- Для #DI в КМП использован #Koin, а на уровне платформы его можно соединить и с Hilt/Swinject
- По ходу разработки нашел удобный сборник либ для КМП
На данный момент апка это больше компаньон для web платформы построения маршуртов. В Приложении можно только просматривать и записывать треки, строить пока нет.
https://play.google.com/store/apps/details?id=app.mapmagic.android
Google Play
MapMagic: Hike & Bike Maps - Apps on Google Play
Use your smart routes created with MapMagic for cycling, hiking, and running
👍3🔥3👀1