Android Broadcast
13.6K subscribers
2.92K photos
171 videos
9 files
5.06K links
Подборка новостей и статей для Android разработчиков.

Обсуждение @android_broadcast_talks
Наши медиа https://taplink.cc/android_broadcast
Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot
Download Telegram
#DI #Koin

Understanding Android Scopes with Koin

Разбор Scope в Koin:
👉 Что это такое
👉 Какие Scope есть в Koin Android
👉 Как работать со Scope

Пост является своеобразным ответом на статью про Scope в Dagger Hilt
#Dagger #DI

Вышел Dagger 2.34
👉 Исправление багов
👉 Улучшение производительности
👉 Новый флаг в Hilt -Adagger.hilt.shareTestComponents, который позволяет включить тесты без специфичных для тестов binding-ов чтобы переиспользовать одни и те же сгенерированные компоненты
👉 Удаление старого когда из Hilt
#Dagger #Hilt #DI

Вышел Dagger 2.35 в котором Hilt теперь стал стабильным и исправили баги. Не обошлось без breaking changes, но все детали смотрите в changelog
#DI #Koin

Koin — 3.0.1 Release & 2.x Redeploy

Вышла новая версия Koin для KMM в связи с чем произошло изменение именования артефактов, теперь поддерживается только AndroidX и можно работать с Jetpack Compose
#DI #Dagger #Hilt

Hilt is stable! Easier dependency injection on Android

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

Hilt - рекомендуемый DI подход для Android и Jetpack библиотек, работающий поверх Dagger.
#DI #KSP

Автор Koin начал работы над экспериментальным проектом - компилятором на основе KSP, который позволит аноттировать классы, чтобы автоматом генерировать для них добавление в модулях.
#dagger #hilt #di

Migrate from Dagger to Hilt — A Step by Step Guide

Для тех, кому жизнь усложняет Dagger, Koin не нравится отсутствием проверки графа во время компиляции, хорошим решением будет Dagger Hilt. Это настройка поверх Dagger для Android, которая упростила описание графа и зависимостей, оставив плюсы Dagger. Миграцию вам поможет выполнить статья
#архитектура #di #модуляризация

Модульность и DI в современном Android-приложении Яндекса

Автор рассказывает о реализации подхода работы с DI в Яндекс Картах, который отказывается от DI в Feature модулях и делает единую организацию с зависимостями из них. Рассматриваются подробно все случаи и навигация между фичами

🔗 Пример подхода модуляризации

Видео по теме от автора
📺 Как мы делаем Яндекс.Карты для Android: DI (~ 1 час)
📺 Школа мобильной разработк Яндекс. DI (~ 1 час)
#di

Вышел Dagger 2.41

Новый релиз улучшил процессор Dagger, исправили баги и больше никаких фичей. Основной приоритет команды — это работа над поддержкой KSP
Forwarded from Kotlin Broadcast
#di

Annotations for Koin (4 мин)

Первая бета-версия аннотаций для Koin, которая позволит аннотировать зависимости, а они будут добавляться в сгенерированный koin модуль. Работает на основе KSP

привязка к версии Kotlin
дольше компиляция
меньше кода
#di

Dagger + Anvil: Learning to Love Dependency Injection on Android (9 мин)

Автор статьи делится опытом использования Anvil + Dagger в Android проекте.

Anvil - подобное Hilt решения для упрощения работы с Dagger. Автор - Square
#compose #di

Dagger/Hilt vs Koin for Jetpack Compose Apps (8 мин)

Сравнение Hilt и Koin для приложений с Compose, где нет Fragment, а только функции с UI
Ребята из Klima решили уйти от Dagger и Hlit на Android в пользу чего-то мультиплатформенного. Отказались от Koin и выбрали Kotlin Inject, опытом миграции на который и делятся в статье.

#di
Kodein - одна из возможных альтернатив для Dagger. Разработчик из ДоДо делится опытом использования этого DI в Drinkit: плюсы и минусы, принципы, DSL, как пользоваться Kodein, скоупы, многомодульность и др.

Статья тут (11 мин)

#di #kotlin
Forwarded from Kotlin Broadcast (Кирилл Розов)
Быть в авангарде в разработке — жизненная необходимость. Поэтому многие проекты уже переходят на Jetpack Compose, а самые смелые и продвинутые даже выпускают приложения на KMP. Дринкит (проект ДоДо) тоже активно мигрирует на Jetpack Compose (без KMP).

На основе этого опыта рассказывают про DI, а именно Kodein, в статье (2 часть, 10 мин). Первая часть тут (11 мин)

#di #android #compose #kmp
Если вам интересно узнать как под капотом работает Dependency Injection библиотека, то вот вам статья (EN, 17 мин)! В рамках статьи еще показывается и как построить свой DI. Разбираются примеры Google Guice, Dagger 1 и 2

#di @android_broadcast
В Hilt 1.2.0 теперь можно делать такое c ViewModel

Для тех кто не знаком с Assisted Injection читайте документацию Dagger

#hilt #di #dagger
Статья (3м) с описанием как упростить inject параметров с помощью библиотеки автора Anvil Utils

#anvil #dagger #di
Forwarded from Kotlin Broadcast
Вышло обновление Koin Annotations 1.4
👉 Поддержка сканирования модулей сквозь Gradle модули. Раньше каждый работал отдельно
👉 Поддержка ViewModel в Compose с помощью аннотации @KoinViewModel
👉 Поддержка expect зависимостей из общего кода
👉 Объявление значений Koin Property через top level property в коде
👉 Улучшения проверки графа в момент компиляции кода
👉 Поддержка Kotlin WASM
👉 Поддержка модулей в object
👉 Поддержка Koin Type Qualifier

Пример с использованием свежей версии можно найти тут

Могу добавить что вот такое решение и сразу надо было нужно делать для DI на KMP, а не так много динамики давать. Объявление зависимостей в рантайме нужно не так много кому, зато можно повысить надежность работы с кодом.

Видео на тему косяков Koin я тоже уже готовлю 😁

#koin #di #ksp
Forwarded from Kotlin Broadcast
Нашел Cheat Sheet от Kotzilla и инструкцию по миграции с Dagger/Hilt. на Koin (можно использовать в KMP проектах)

Чтобы вам не регаться я нашел прямую ссылку

#koin #hilt #android #di