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
加入频道
Forwarded from Android Broadcast (Кирилл Broadcast)
Показали первую превью KSP2 . Основные фичи:
👉 Использует K2 компилятор (нужно включать K2 компилятор в Kotlin)
👉 Новый отдельный генератор кода, который дает больше свободы и фичей по сравнению с текущим плагином Kotlin компилятора

Чтобы попробовать вам надо использовать KSP 1.0.14 или выше. Затем в gradle.properties добавить
ksp.useKSP2=true


В новой версии есть изменения в поведении API

#ksp #k2 #kotlin
👍13
Вышло обновление 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 аналогичный Dagger с проверкой графа во время компиляции, так вот для него сделали Anvil подобные расширения 😂 - kotlin-inject-anvil.

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

#di #kmp #ksp
👎16👍7
Kotlin Multiplatform Broadcast
KSP2 (нужен Kotlin 2.1)
Что еще за KSP2? Скорее всего сейчас вы используете KSP версии 1. Это переход на новую архитектуры для устранения моментов, который не способна закрыть первая реализация. Подробнее рассказал в посте на @android_broadcast

Kotlin 2.1 выйдет (ориентировочно конец 2024) уже с поддержкой KSP2, а первая версия будет deprecated и больше не поддерживается.

#Ksp
👍26
Пример (EN,8М) автоматизации генерации классов UI модели на основе параметров Composable функциb. Используется KSP для генерации кода

🔗 Ссылка без VPN

#kotlin #compose #ksp
👍10
🏝 Вышла KSP для Kotlin 2.1.20. Обновляйте версию до 2.1.20-1.0.31

#kotlin #ksp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
Metro - Новый DI фреймворк на чистом Kotlin (ещё в разработке)

@DependencyGraph
interface AppGraph {
val httpClient: HttpClient

@Provides
private fun provideFileSystem(): FileSystem = FileSystem.SYSTEM
}

@Inject
class HttpClient(private val fileSystem: FileSystem)

@Inject
@Composable
fun App(circuit: Circuit)


#kotlin #di #ksp
👍35
Вышел KSP 2.0, который теперь работает на KSP2 по умолчанию. Теперь работает на K2 и отдельный генератор исходников с большей гибкостью

#kotlin #ksp
👍21
🏝 Вышел KSP 2.0.1 для Kotlin 2.1.20 Исправили баги в работе KSP2

#kotlin #ksp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
🏝 Вышел KSP 2.1.21-2.0.1 с поддержкой Kotlin 2.1.21

#kotlin #ksp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Пока вы спали Google выпустила версию KSP, совместимую с Kotlin 2.2.10. Обновляйтесь до версии 2.2.10-2.0.2 и свежий Kotlin

#kotlin #ksp
🎉36👍3