Kotlin Multiplatform Broadcast
9.48K subscribers
838 photos
52 videos
1.13K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
加入频道
Релиза Koin 3.6 не будет 🤯 Вместо этого сразу будет Koin 4.0 🥳 Автор библиотеки описал всё это в статье (EN, 3м). Решение принято из-за большого количества улучшений:
🔥Стабилизация поддержки Compose
🚀 Оптимизации ядра
😞 Интеграция асинхронного inject через Coroutines пока еще unstable
👩‍💻 Поддержка WASM
👩‍💻 Поддержка Compose MP и ViewModel
👩‍💻 Kotlin 2.0

#koin #di #wasm #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍86👎10👏3🔥2
Одна из классных возможностей Koin - возможность динамически (во время работы приложения) добавлять и выгружать зависимости. Это конечно приводит к тому что никакой строгой валидации графа во время компиляции не сделать, но зато гибкость вашего кода повышается значительно! Подробнее в статье (EN, 9м)

#koin #архитектура #di
34👍13👎2
Вышло обновление 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
🔥30👍8👎2🤬1
kotlin-inject - DI для KMP с API Dagger и полной валидацией графа во время компиляции

#di
👍58👎3
Нашел Cheat Sheet от Kotzilla и инструкцию по миграции с Dagger/Hilt. на Koin (можно использовать в KMP проектах)

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

#koin #hilt #android #di
👍32👎3👏3
Forwarded from Android Broadcast
Media is too big
VIEW IN TELEGRAM
📱 За что я ненавижу Koin или чего стоит избегать при его использовании (20 мин)

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

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

#AndroidBroadcast #koin #di #kmp #android
Please open Telegram to view this post
VIEW IN TELEGRAM
👎58👍24🔥3🤔1
Помните про kotlin-inject ? Это DI для KMP аналогичный Dagger с проверкой графа во время компиляции, так вот для него сделали Anvil подобные расширения 😂 - kotlin-inject-anvil.

Вот почему сразу нельзя сделать из коробки оригинальной библиотеки всё ? Тем более она даже не вышла в версию в 1.0, а из моего опыта с ней ей реально нужны API улучшения

#di #kmp #ksp
👎16👍7
"Koin: как сделать свой DI за 10 минут" - очень полезная статья с разбором того как сделать Koin подобный DI самостоятельно, что позволит понять как работает популярное решение

#di #koin #подкапотом
🔥24👍5
Уже на протяжении нескольких недель с перерывами пытаюсь завести Kotlin Inject вместо Koin. Использовать решение с KMP в многомодульном проекте совсем не получается. В чем причина так и не могу разобраться. Может в KSP, может в самом процессоре библиотеки, но любые попытки я пока оставляю. Если у кого-то это уже получалось - пишите в комментариях.

Исходный код моей попытки можно посмотреть тут

#kmp #di
8👍6
Вышел Koin Annotations 1.4.0 Stable
👉 Создание модулей на старте
👉 Поддержка WASM
👉 Поддержка Qualifier
👉 Поддержка object модулей
👉 Сканирование множества модулей для поиска объявление зависимостей
👉 Обновили документацию для KMP
👉 Улучшили валидацию объявлений во время компиляции
👉 Рефакторинг кодогенерации для KMP проектов для решения багов и улучшения скорости работы

#koin #di #wasm
🔥18👍9