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
加入频道
#ksp #kapt

KSP: Fact or kapt?

Kotlin Symbol Processing - это новый генератор кода, работающий поверх плагина Kotlin компилятора, и призванный заменить kapt с его минусами в генерации стабов и работе на основе Java механизмов.

В статье найдёте руководство по старту с KSP и впечатления автора от скорости работы
#DI #KSP

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

So, how do I write a Kotlin Symbol Processor (KSP)?

Инструкция по написанию процессора аннотаций на основе KSP
#KSP

So, how do I write a Kotlin Symbol Processor (KSP)?

Не так давно Google представила своё собственное решение Kotlin Symbol Processing, которая призвана стать заменой KAPT и ускорить процессинг аннотаций на 30-50%. Автор статьи делится своим опытом написания процессора на новой технологии.
#kapt #ksp

Accelerated Kotlin build times with Kotlin Symbol Processing 1.0

Kotlin Symbol Processing - замена KAPT, которая быстрее и поддерживает не только JVM, но и Kotlin/JS и Kotlin/Native. Moshi и Room уже поддерживают KSP, очень жду когда Dagger подтянется
#ksp

Вышел Kotlinpoet 1.10.0 с поддержкой KSP и интеропом с JavaPoet
#kapt #ksp

Kotlin Symbol Processors (KSP)

KSP уже вышел в stable и вот JetBrains решила рассказать своё мнение. Говорят что он лучше, понимает синтаксис Kotlin и не нужно выполнять лишние шаги по сравнению с KAPT.

Главная новость - KAPT больше не будет развиваться и переходит в режим поддержки. Новые фичи будут только в KSP и других плагинах Kotlin компилятора. Про поддержку в IDE пока ничего не говорят.
#ksp

Android KSP guide for dummies by a Dummy: Part 1

Руководство по интеграции KSP вместо KAPT
👍11🔥1
Довольно хороший разбор Kotlin Symbol Processing (KSP) на русском:
👉 ограничения
👉 принципы работы
👉 запуск
👉 как происходит генерация кода
👉 инкрементальная генерация
👉 несколько раундов
👉 пример реализации собственного генератора кода

#ksp
👍33
Media is too big
VIEW IN TELEGRAM
🌩 Миграция с kapt на ksp 🌩

В новом выпуске "Охэхэнных историй" делимся нашим опытом отказа от kapt в пользу ksp для обработки аннотаций и ускорения скорости сборки в большом проекте.

Спойлер: было много боли, но у нас получилось ускорить сборку на 10%.

Внутри:

➡️ Что такое ksp
➡️ Почему мы решились на переход
➡️ Как проводили исследование
➡️ Что из этого получилось


👓 СМОТРЕТЬ

#Android
#Kotlin #KSP #KAPT
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19👎3
Статья с тестами Dagger c KSP. Стало лучше, но не значительно. Интересно еще увидеть картину по расходы оперативной памяти во время сборки

#ksp
👍17👎1
Вышел Jetpack Hilt 1.1.0 с поддержкой KSP

#ksp
👍63👎1
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