Kotlin Multiplatform Broadcast
9.47K subscribers
821 photos
48 videos
1.09K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
JetBrains проводит опрос по документации Kotlin на оф сайте

#kotlin #опрос
🏝 Используйте build функции коллекций вместо наполнения объектами

Зачастую вижу код
val list: MutableList<Value> = mutableListOf()
list.add(value0)
if(...) list.add(value1)


Вместо этого рекомендую использовать buildList
val list: List<Value> = buildList {
add(value0)
if(...) add(value1)
}

Плюсом такого подхода - отсутствие работы с мутируемой коллекцией

Есть аналоги для других типов коллекций: buildSet и buildMap

#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
ExoQuery - Kotlin DSL для работы с базой данных. Есть поддержка разных БД. Больше про возможности смотрит в видео

// Пример запроса
capture.select {
val p: Person = from(people)
val a: Address = join(addresses) { a -> a.personId == p.id }
Data(p.name, a.city)
}


#kotlin #sql #dsl
🏝 Вышел Kotlin 2.1.21

Что нового:
🐘 Поддержка Gradle 8.12
👉 Исправление работы с XCode 16.3
🛠 Исправление багов

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

#kotlin #ksp
Please open Telegram to view this post
VIEW IN TELEGRAM
🏝 Kotlin 2.2.0 уже совсем скоро - вышла Release Candidate версия

#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
🏝 Вышел SqlDelight 2.1.0

👉 Очень много улучшений для PostgreSql
👉 Поддержка WASM/JS
🏝 Поддержка K2
🛠 Множество исправлений и улучшений

#kotlin #kmp #sqlite #k2
Please open Telegram to view this post
VIEW IN TELEGRAM
🏝 KStorage — единый подход к key-value хранилищам на Kotlin Multiplatform. Работает как обертка над другими хранилищами. Из коробки готовых оберток не предоставляется, что является минусом

Подробнее можно почитать в статье (РУ, 5м)

// пример использования библиотеки
class SuspendSettingsApi(private val intSettingsMap: MutableMap<String, Int>) {
val suspendMutableKrate: SuspendMutableKrate<Int> = DefaultSuspendMutableKrate(
factory = { 0 },
loader = { intSettingsMap["INT_KEY"] },
saver = { value -> intSettingsMap["INT_KEY"] = value }
)

val stateFlowSuspendMutableKrate: StateFlowSuspendMutableKrate<Int> = DefaultStateFlowSuspendMutableKrate(
factory = { 0 },
loader = { intSettingsMap["INT_KEY"] },
saver = { value -> intSettingsMap["INT_KEY"] = value }
)
}


#kotlin #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🏝 Обновление KMP плагина в IDEA и Android Studio (EN)

JetBrains ранее отказалась от разработки отдельной IDE для Kotlin Multiplatform и активного расширения возможностей KMP во Fleet в пользу улучшения поддержки в уже привычных для разработчиков продуктах

Вышла версия KMP плагина 0.9.0 в которой появилась новые возможности

🪄 Новый визард для создания нового проекта: поддержка всех таргетов, настройки использования Compose или нативного UI

💊 Проверка настройка окружения на компьютере: фактически интегрировали KDoctor.

🦢 Поддержка платформенных языков: для Kotlin и Swift будет поддерживаться навигация, подсветка синтаксиса, быстрая документация и дебаг из IDEA и Android Studio

⚙️ Поддержка Compose Multiplatform: будет поддержка ресурсов, превью из common кода, конечно же автокомплит, навигация, рефакторинг и всё всё всё

⚙️ Compose Hot Reload для JVM Desktop - обновление Compose UI без перезапуска приложения и с сохранением состояния. Отлаживать на Desktop удобно, даже если вы разрабатываете только под мобилку, то добавьте таргет чтобы писать удобнее.

Для использование фичей нужны самые свежие версии IDE, а то и вовсе Canary версия Android Studio. Уже сейчас доступна версия плагина 0.9 и ждем Stable

#kotlin #kmp #androidstudio #idea #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Команда плагина будет работать над улучшениями инструментов для KMP разработки

💻 Поддержка Windows и Linux: появится возможность использования KMP плаигна на Windows и Linux, но запуск iOS приложений останется пререгативой macOS

🦢 Расширенная поддержка Swift: текущий плагин имеет базовую поддержку Swift, но будет добавляться поддержка фичей сложнее: поиск использований, навигации по иерархии типов и др.

🏝 Создание KMP модулей в проекте: создание KMP модулей с использованием стандартного KMP визарда

🛠 Лучшая поддержка инструментов для Web и Desktop: после стабилизации поддержки мобильных платформ, будет фокус на улучшение поддержки таргетов Web и Desktop.

#kotlin #kmp #idea #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM