Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
#DependencyInjection #Dagger

Вышел Dagger 2.25

Вышла новая версия популярного DI фреймворка. В новой версии не произошло значимых изменений были сделаны следующие улучшения:
👉 Поддержка Kotlin: для модулей, которые являются object, больше не надо помечать каждый метод как @JvmStatic и квалификаторы теперь можно добавлять аннотациями на property
👉 Исправление багов
👉 Улучшение производительности

Посмотрел историю последних релизов. Dagger уже давно не показывал новых фич и задумался: "Dagger уже стал идеальным либо иссякли идеи у создателей?"
#DependencyInjection #Dagger #AssistedInject #Square

Brave New Android World with AssistedInject

Если вы активно используете Dagger, то скорее всего сталкивались с проблемой передачи зависимостей вне графа, например передать id в Presenter. Раньше это решалось те, что создавался новый Dagger компонента, куда этот параметр передается.

Решить эту проблему можно с использование Factory, но это множество boileplate кода. Исправляет это библиотека AssistedInject, а в статье разбирается как ее использовать и как ее применить в Android.
#DependencyInjection #Dagger #Fragment

Constructor injection into Fragments with respect of scopes

Android имеет одно неприятное ограничения - основные компоненты должны создаваться только через конструктор по умолчанию. Исключением стал Fragment в AndroidX.Fragment 1.1.0, который позволяет задать кастомную FragmentFactory в FragmentManager. Я уже ранее рассказывал как можно соединить Dagger и Inject в конструкторы Fragment.

В статье вы можете найти как решить проблему, когда у вас есть Dagger Scope и нужно делать inject зависимостей из них.
#Dagger #DependencyInjection

Вышел Dagger 2.26

Новая версия популярного DI фреймворка увидела свет. Она не привнесла значительных изменений, но постаралась сделать библиотеку лучше:
👉 Миграция dagger-android на AndroidX. Версия на Android Support Library также доступна
👉 Исправление багов инкрементальной компиляции
👉 Удаление использование не Android API из Guava
👉 Breaking changes: companion object больше нельзя объявлять как @Module для Dagger Component. Добавление аннотации необходимо только на внешнем классе.
#DependencyInjection

Koin – это Dependency Injection или Service Locator?

Можно ли Koin назвать Dependency Injection? В статье вы найдете разбор "по понятиям" для Koin.

Со своей стороны могу сказать одно - Koin упростил мне работу с DI и неважно к какому классу его отнесут.
#DependencyInjection

A Dependency Injection Showdown

Выбор Dependency Injection (DI) для вашего проекта важный вопрос, так как поменять его в будущем может быть непростой задачей. Сравнение популярных JVM DI: Dagger 2, Koin, Toothpick, Kodein

Мой личный выбор - Koin. Хотите узнать больше аргументов моего выбора - выбирайте 🎥 и если будет 20+ я сделаю видео разбор преимуществ, благодаря которым я выбрал Koin, и недостатков, которые меня волнуют при росте проекта.
#DependencyInjection

Вышел Koin 2.1.0

In this version:
🚀 Исправление багов и улучшение производительности
⚒️ Улучшения Scope API
🤖 Поддержка создания Fragment через Koin на основе FragmentFactory
🤖 Поддержка State ViewModel
🚒 Улучшения в API для тестов
🎁 Gradle plugin для проверки модулей (пока умеет не так много)
🎉 Много исправлений

Сейчас разработчик Koin активно работает над поддержкой Multiplatform
#AndroidAcademy #Minsk #DependencyInjection

Android Academy Minsk Advanced Topic #3 - Dependency Injection

Сразу после того как отгремит праздник 8 марта Android Academy Minsk собирает всех для обсуждения Dependency Injection в проектах. В планах рассказать вам что такое Dependency Injection и рассказать о ней на примере Dagger 2
#DependencyInjection #Video #AndroidBroadcast

Почему Koin?

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

В видео я осветил почему перешел на Koin, свои впечатления и чего я боюсь в будущем от использования этой библиотеки для DI.

Хотите больше видео и качественнее? Поддержите проект на Boosty
#Dagger #DependencyInjection

Вышел Dagger 2.27

Новая версия популярного DI фреймворка привнесла следующий улучшения:
👉 Экспериментальный формат сообщений об ошибках (подробнее ниже)
👉 Более оптимальная генерация кода в зависимости от того как в класс происходит inject зависимостей
👉 Поддержка конструкторов с layout id из AndroidX
👉 Убрали использование Guava API, которое недоступно для использования в Android
👉 Улучшена работа с Kotlin
👉 Исправление багов

Экспериментальный формат сообщений об ошибках
Позволяет улучшить читабельность сообщений об ошибке. Этот формат в будущем станет стандартным.
При включение нового режима поменяется:
👉 Сокращенные имена всех классов
👉 Ошибки для каждого компонента отображаются как одна
👉 Добавление цветов к тэгам ошибок для визуального разделения ошибок
👉 Уменьшен объем информации в некоторых сообщениях

Для включения надо использовать -Adagger.experimentalDaggerErrorMessages=enabled
#DependencyInjection

Unboxing Koin 2.1

Не так давно вышла следующая версия популярного DI фреймворка на чистом Kotlin - Koin 2.1.

Улучшения в новой версии:
🚀 Изменения во внутренней архитектуре и лучшая производительность
👉 Изменения в работе со Scope
👉 Koin Gradle plugin — проверка графа во время компиляции
👉 Inject зависимостей через setter (experimental)
👉 Новые JUnit правила, которые избавляют от зависимости на какую либо mock библиотеку
👉 Лучшая совместимость с Ktor

Обновления для Android:
👉 Android Lifecycle Scopes
👉 Поддержка SavedState для ViewModel
👉 Поддержка inject в конструкторы Fragment

Следующая версия будет 3.0, которая принесет поддержку Kotlin MPP 🔥🔥🔥