#Dagger #Modularization #Architecture
"Using Dagger in a multi-module project" by Marcos Holgado
Последний тренд в архитектуре Android приложений - это модуляризация (разбиение на Gradle модули). Ее преимущества:
👉 изоляцию функционала друг от друга
👉 более высокая скорость инкрементальной сборки проекта
👉 возможность поддержки Instant Apps и Dynamic Features
👉 меньше конфликтов при работе нескольких разработчиков над проектом.
Преимущества этого подхода прекрасны, но проблема в том, что интеграция подхода в проект непроста, особенно если в уже существующий.
Одна из трудных задач при миграции в многомодульный проект - это разделение графа зависимостей Dagger. В статье вы найдете путеводитель, как пройти путь от одного модуля в множество и нигде не заплутать.
Хорошее видео о модуляризация вашего приложения от Денис Неклюдов — "Как не состариться во время сборки: Kapt и другие приключения"
"Using Dagger in a multi-module project" by Marcos Holgado
Последний тренд в архитектуре Android приложений - это модуляризация (разбиение на Gradle модули). Ее преимущества:
👉 изоляцию функционала друг от друга
👉 более высокая скорость инкрементальной сборки проекта
👉 возможность поддержки Instant Apps и Dynamic Features
👉 меньше конфликтов при работе нескольких разработчиков над проектом.
Преимущества этого подхода прекрасны, но проблема в том, что интеграция подхода в проект непроста, особенно если в уже существующий.
Одна из трудных задач при миграции в многомодульный проект - это разделение графа зависимостей Dagger. В статье вы найдете путеводитель, как пройти путь от одного модуля в множество и нигде не заплутать.
Хорошее видео о модуляризация вашего приложения от Денис Неклюдов — "Как не состариться во время сборки: Kapt и другие приключения"
Medium
Using Dagger in a multi-module project
Struggling to use dagger in a multi-module project? This article should help you a lot so you don’t waste the time I wasted a year ago.
#Dagger #Modularization #DynamicFeature
Dependency injection in a multi module project от Bew Weiss
Еще одна история о том как происходила модуляризация приложения на примере Plaid.
Dependency injection in a multi module project от Bew Weiss
Еще одна история о том как происходила модуляризация приложения на примере Plaid.
Medium
Dependency injection in a multi module project
How we introduced a DI framework into Plaid and what we learned
#Architecture #DynamicFeature #Modularization
Patterns for accessing code from Dynamic Feature Modules
Модуляризация и динамическая доставка модулей - это самый трендовые направления в архитектуре Android направлений. Проблема динамических модулей в том, что код основного приложения не знает о коде в динамическом модуле.
Решение проблемы в лоб - использование рефлексии. Но это решение влияет на производительность, особенно на старых устройствах. Какие решения можно использовать помимо рефлексии:
👉 ServiceLoader
👉 Интеграция с Dagger 2 или Koin 2
👉 Выделение интерфейса для взаимодействия c динамическим модулем из основного путем создания общего модуля. В основной модуль будет подключаться как
В статье рассматривается как реализовать эти подходы (все кроме последнего) и даются советы по модуляризации вашего приложения.
Patterns for accessing code from Dynamic Feature Modules
Модуляризация и динамическая доставка модулей - это самый трендовые направления в архитектуре Android направлений. Проблема динамических модулей в том, что код основного приложения не знает о коде в динамическом модуле.
Решение проблемы в лоб - использование рефлексии. Но это решение влияет на производительность, особенно на старых устройствах. Какие решения можно использовать помимо рефлексии:
👉 ServiceLoader
👉 Интеграция с Dagger 2 или Koin 2
👉 Выделение интерфейса для взаимодействия c динамическим модулем из основного путем создания общего модуля. В основной модуль будет подключаться как
compileOnly зависимость, а в динамический - implementation. В статье рассматривается как реализовать эти подходы (все кроме последнего) и даются советы по модуляризации вашего приложения.
Medium
Patterns for accessing code from Dynamic Feature Modules
In this post I am going to show you how to solve a common problem that arises when using dynamic feature modules in your project…