Android Broadcast
14.2K subscribers
3.52K photos
338 videos
11 files
5.89K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @ab_manager

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#Dagger #Modularization #Architecture

"Using Dagger in a multi-module project" by Marcos Holgado

Последний тренд в архитектуре Android приложений - это модуляризация (разбиение на Gradle модули). Ее преимущества:
👉 изоляцию функционала друг от друга
👉 более высокая скорость инкрементальной сборки проекта
👉 возможность поддержки Instant Apps и Dynamic Features
👉 меньше конфликтов при работе нескольких разработчиков над проектом.

Преимущества этого подхода прекрасны, но проблема в том, что интеграция подхода в проект непроста, особенно если в уже существующий.

Одна из трудных задач при миграции в многомодульный проект - это разделение графа зависимостей Dagger. В статье вы найдете путеводитель, как пройти путь от одного модуля в множество и нигде не заплутать.

Хорошее видео о модуляризация вашего приложения от Денис Неклюдов — "Как не состариться во время сборки: Kapt и другие приключения"
#Architecture #DynamicFeature #Modularization

Patterns for accessing code from Dynamic Feature Modules

Модуляризация и динамическая доставка модулей - это самый трендовые направления в архитектуре Android направлений. Проблема динамических модулей в том, что код основного приложения не знает о коде в динамическом модуле.

Решение проблемы в лоб - использование рефлексии. Но это решение влияет на производительность, особенно на старых устройствах. Какие решения можно использовать помимо рефлексии:
👉 ServiceLoader
👉 Интеграция с Dagger 2 или Koin 2
👉 Выделение интерфейса для взаимодействия c динамическим модулем из основного путем создания общего модуля. В основной модуль будет подключаться как compileOnly зависимость, а в динамический - implementation.

В статье рассматривается как реализовать эти подходы (все кроме последнего) и даются советы по модуляризации вашего приложения.
#Architecture #Modularization

Глубокое погружение в модуляризацию

Android проекты активно растут в своих размерах, мы используем все больше технологий, затягиваем новые библиотеки, стараемся следовать лучшим практикам и реализовать Clean Architecture.

Что все это было качественно реализовано и вы могли эффективно масштабироваться, рекомендуется использовать многомодульную архитектуру.

Jeroen Mols сделал серию статей на тему многомодульности. В них вы можете найти ответы на свои вопросы и увидеть реальные примеры:

1️⃣ Why you should care?
2️⃣ A successful architecture
3️⃣ Real-life example
4️⃣ How to approach
5️⃣ Lessons learned
#Modularization #Architecture

Inverting the Dependency — Independent Features in Android Applications

Подход к разбиению приложения на модули по принципу "Feature-спутник". Архитектура строилась чтобы удовлетворять требованиям:
1️⃣ Feature может не добавляться в buildVariant
2️⃣ Feature может быть загружена во время работы приложения
3️⃣ Может быть несколько feature, реализующих один и тот же функционал

Как это реализовывали и что из этого получилось вы можете узнать из статьи
#Architecture #Modularization #ArchitectureComponents

Modularization by Feature and Layer with Android Architecture Components

Команда Android в последние 2 года активно стала решать трудности, связанные с разработкой эффективной архитектуры для Android приложений. Результат этого - Android Architecture Components.

Трендом текущей Android разработки является модуляризация. Она дает плюсы в архитектуре, более высокую скорость сборки проектов и возможность использовать Dynamic Features.

Как позволяет это реализовать текущий стек Architecture Components вы найдете в статье
#Architecture #Modularization

Дзен изолированных компонентов в Android-архитектуре

Продолжение серии статей (раз и два) от Badoo об MVI в их приложении. В третей части вы найдете разбор рекомендаций:
👉 Нe останавливайтесь на слабой связности компонентов
👉 Компоненты в виде чёрных ящиков
👉 Переходим к однонаправленности
👉 Соединяйте входные и выходные данные разных компонентов
👉 и прочие интересные вопросы
#DependencyInjection #Koin #Modularization

Setting Up Android Modules with Koin

Dependency Injection - стандарт для современных приложений и как самое популярное решение для этого Dagger 2 на Android. С некотор пор я предпочитаю Koin, так как она более простая и pure Kotlin 😍.

Пригоден ли Koin для модуляризации проект? Сможет ли он поддерживать Dynamic Features? В статье рассматривается как это сделать
#DependencyInjection #Modularization

Setting Up Android Modules With Kodein

Руководство как осуществлять модуляризацию при использовании Kodein
#ArchitectureComponents #Architecture #Modularization

Android Components Architecture in a Modular Word

Хорошая статья в которой происходит разбор модуляризации Android приложения:
👉 Принципы осуществления модуляризации
👉 Модули и их роли
👉 Множество других полезный статей и примеров
👉 Проблемы со сторонними библиотеками
👉 Собственный пример
#Git #Tests #Modularization

Selectively running Android modularized unit tests on your CI server

Рецепт как запускать тесты только в тех модулях, в которых произошли изменения в вашем ПР. Это позволит уменьшить количество применяемых тестов и быстрее проверять ПР.
#Gradle #Performance #Modularization

O(1) Android build time at Tiki

Разработчики подходят с разных сторон в попытке оптимизировать Gradle сборку и сделать работу быстрее. В Tiki сделал довольно интересно решение - подключение только одного feature модуля с которым сейчас работает разработчик, что позволил сократить время разработки.

Как это реализовать и каким образом должны подключаться модули вы можете найти в статье.
#Dagger #Modularization

Using Dagger in multi-module apps

Официальное руководство по использованию Dagger в многомодульных проектах. Руководство также покрывает использование Dynamic Feature. Ну и как же без лучших практик.
Иерархия модулей: как выстроить связи между модулями в Android

Разработчик HH делится процессом разбиения на модули в их приложениях, какие типы модулей выделили, как настраивать между ними связи и пример разделения большой фичи на несколько модулей.

#architecture #modularization
👍50👎21🤯15🤔21
📺 By layer or feature? Why not both?! Guide to Android app modularization (5 мин)

Прекрасное короткое видео, которое показывает разные подходы к модуляризации, как лучше организовывать связи и какие характеристики модульной архитектуры надо учитывать

#architecture #modularization #androiddevsummit
👍20🤯4😁2🔥1