Релиза Koin 3.6 не будет 🤯 Вместо этого сразу будет Koin 4.0 🥳 Автор библиотеки описал всё это в статье (EN, 3м). Решение принято из-за большого количества улучшений:
🔥Стабилизация поддержки Compose
🚀 Оптимизации ядра
😞 Интеграция асинхронного inject через Coroutines пока еще unstable
👩💻 Поддержка WASM
👩💻 Поддержка Compose MP и ViewModel
👩💻 Kotlin 2.0
#koin #di #wasm #compose
🔥Стабилизация поддержки Compose
🚀 Оптимизации ядра
😞 Интеграция асинхронного inject через Coroutines пока еще unstable
#koin #di #wasm #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍86👎10👏3🔥2
Одна из классных возможностей Koin - возможность динамически (во время работы приложения) добавлять и выгружать зависимости. Это конечно приводит к тому что никакой строгой валидации графа во время компиляции не сделать, но зато гибкость вашего кода повышается значительно! Подробнее в статье (EN, 9м)
#koin #архитектура #di
#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
👉 Поддержка сканирования модулей сквозь 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
Нашел Cheat Sheet от Kotzilla и инструкцию по миграции с Dagger/Hilt. на Koin (можно использовать в KMP проектах)
Чтобы вам не регаться я нашел прямую ссылку
#koin #hilt #android #di
Чтобы вам не регаться я нашел прямую ссылку
#koin #hilt #android #di
👍32👎3👏3
Forwarded from Android Broadcast
Media is too big
VIEW IN TELEGRAM
Я использую 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
Вот почему сразу нельзя сделать из коробки оригинальной библиотеки всё ? Тем более она даже не вышла в версию в 1.0, а из моего опыта с ней ей реально нужны API улучшения
#di #kmp #ksp
👎16👍7
"Koin: как сделать свой DI за 10 минут" - очень полезная статья с разбором того как сделать Koin подобный DI самостоятельно, что позволит понять как работает популярное решение
#di #koin #подкапотом
#di #koin #подкапотом
🔥24👍5
Уже на протяжении нескольких недель с перерывами пытаюсь завести Kotlin Inject вместо Koin. Использовать решение с KMP в многомодульном проекте совсем не получается. В чем причина так и не могу разобраться. Может в KSP, может в самом процессоре библиотеки, но любые попытки я пока оставляю. Если у кого-то это уже получалось - пишите в комментариях.
Исходный код моей попытки можно посмотреть тут
#kmp #di
Исходный код моей попытки можно посмотреть тут
#kmp #di
❤8👍6
Вышел Koin Annotations 1.4.0 Stable
👉 Создание модулей на старте
👉 Поддержка WASM
👉 Поддержка Qualifier
👉 Поддержка object модулей
👉 Сканирование множества модулей для поиска объявление зависимостей
👉 Обновили документацию для KMP
👉 Улучшили валидацию объявлений во время компиляции
👉 Рефакторинг кодогенерации для KMP проектов для решения багов и улучшения скорости работы
#koin #di #wasm
👉 Создание модулей на старте
👉 Поддержка WASM
👉 Поддержка Qualifier
👉 Поддержка object модулей
👉 Сканирование множества модулей для поиска объявление зависимостей
👉 Обновили документацию для KMP
👉 Улучшили валидацию объявлений во время компиляции
👉 Рефакторинг кодогенерации для KMP проектов для решения багов и улучшения скорости работы
#koin #di #wasm
🔥18👍9