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

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

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

Patterns for accessing code from Dynamic Feature Modules

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

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

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

Navigation with Dynamic Feature Modules

Android Architecture Components - набор библиотек, который решил много проблем Android разработчиков и дал множество простых решений, одним из который является Navigation, который упрощает переходы между экранами в Android приложениях.

В свою очередь Google до сих пор не представила стабильного решения (пока есть только SNAPSHOT сборки) для навигации по приложению, когда вы используете Dynamic Delivery.

В статье описывается способ как с помощью Deep Link и Activity медиатора для обработки все таких ссылок достигается зен Navigation + Dynamic Delivery.
#DynamicFeature #GooglePlay

Exploring Dynamic Feature Modules at Swiggy

Google Play предоставляет хорошую возможность для ваших приложения - Dynamic Delivery. Эта функция, которая позволяет вам загрузить модуль вашего приложения, отложено. Когда это может быть полезно? Например в вашем приложение есть объемная по размеру функция, но пользуется ей небольшое количество пользователей или она специфична для определенных регионов.

Как сделать динамическую загрузку? Ваше приложение должно быть модулизировано (на основе Gradle модулей/проектов). дальше дело техники, которое описывается в статье
#GooglePlay #DynamicFeature

Developing your own Dynamic Feature

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

В статье вы найдёте руководство как реализовать feature модуль и загружать его отложено
#AppBundle #DynamicFeature

Local development and testing with on-demand modules

Возможность загрузки модулей вашего приложения динамически - прекрасная возможность Google Play, но тестировать ее можно было только через публикацию App Bundle через Google Play Console ☹️.

В утилите bundletool 0.13.0 появилась возможность тестировать эту фичу локально. Все подробности в статье
#GooglePlay #DynamicFeature #DynamicDelivery

Dynamic Delivery в многомодульных проектах (часть 2)

Продолжение статей о возможности загрузки функционала вашего приложения динамически на основе Dynamic Delivery.

В новой части статьи рассказывает об:
👉 организации архитектуры в приложения с учетом Dynamic Delivery
👉 как настроить проект в Gradle
👉 как тестировать приложения с таким функционалом

Первая часть статьи здесь
#DynamicFeature

Exploring Dynamic Feature Navigation on Android

Navigation Component дал не только способ для реализации навигации в Android стандартным путем, но визуальный редактор.

Решение все же еще выглядит сырым т.к. не решен вопрос с возвращением результата (Activity.startActivityForResult) и навигацией в многомодульном приложение, когда у вас есть Dynamic Feature модуль. Обе этих функции будут поддерживаться в следующей версии библиотеки - Navigation 2.3.0.

В статье разбирается реализация работы с Dynamic Feature модулями в Navigation Component