Android Broadcast
13.8K subscribers
3.13K photos
225 videos
9 files
5.31K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot
Download Telegram
#архитектура #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
Выпустили Anvil-KSP - форк Anvil, но работающий на основе KSP. Автор решения подробнее рассказывает о нем в статье(EN, 4м)

#ksp #di #dagger #sqaure
Media is too big
VIEW IN TELEGRAM
📱 За что я ненавижу Koin или чего стоит избегать при его использовании (12 мин)

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

Видео доступно
на Boosty и по подписке в Telegram.

#AndroidBroadcast #koin #di #kmp #android
Please open Telegram to view this post
VIEW IN TELEGRAM
Разбор(9м) как под капотом работает Dagger, Koin, Hilt и как написать свой простой DI

#di #underthehood
Media is too big
VIEW IN TELEGRAM
📺 Обзор Kotlin Inject (27 мин) или как будет выглядеть Dagger на Kotlin Multiplatform

Обзор библиотеки Kotlin Inject - DI для KMP, API которого аналогично Dagger. В видео происходит демонстрация возможностей, сравнение с другими DI и личное мнение о том стоит ли использовать эту библиотеку в проде.

Видео доступно платным подписчикам на Boosty и через Tribute бота в Telegram

#видео #kmp #dagger #di #koin
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Kotlin Broadcast
Вышел Koin Annotations 1.4.0 Stable
👉 Создание модулей на старте
👉 Поддержка WASM
👉 Поддержка Qualifier
👉 Поддержка object модулей
👉 Сканирование множества модулей для поиска объявление зависимостей
👉 Обновили документацию для KMP
👉 Улучшили валидацию объявлений во время компиляции
👉 Рефакторинг кодогенерации для KMP проектов для решения багов и улучшения скорости работы

#koin #di #wasm