Больше мультиплатформы в Jetpack - артефакт lifecycle-viewmodel-compose обзавелся поддержкой всех платформ в дополнении к Android
#jetpack #compose
#jetpack #compose
🔥30👍3🤯3
This media is not supported in your browser
VIEW IN TELEGRAM
Запустили Ktor Plugin Registry - сайт с плагинами для Ktor. Доступен во время создания нового проекта через сайт
Если хотите что-то туда опубликовать - читайте руководство
#ktor
Если хотите что-то туда опубликовать - читайте руководство
#ktor
🔥27👍7
Kotlin (не) против Java: особенности компиляции в байткод (6м) - статья со сравнением языков. Тема скорее кликбейтная и холиварная, чем по-настоящему содержательная: сегодня существенных различий между Java и Kotlin нет.
❤19👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥163🤯26🎉8❤3
Статья (EN, 21м) с описанием подходов безопасного обновления состояния из нескольких потоков. Полезно всем тем кто использует MVI и пишет на Compose
#архитектура @kotlin_broadcast
#архитектура @kotlin_broadcast
👍11❤4
Костя Цховребов сделал Gradle плагин для анализа структуры KMP проектов и визуализации в виде картинки.
Репозиторий с кодом тут
#gradle @kotlin_broadcast
Репозиторий с кодом тут
#gradle @kotlin_broadcast
🔥38🤯10👍9
KStore - простая KMP библиотека, которая помогает сохранять и восстанавливать объекты с/на диск с использованием kotlinx.coroutines, kotlinx.serialization and Okio
#android #ios #desktop #jvm #js
// Описываем сериализуемый объект
@Serializable data class Pet(val name: String, val age: Int)
// Создаёте хранилище
val store: KStore<Pet> = storeOf(file = "path/to/my_cats.json".toPath())
// Делаем операции
val mylo: Pet? = store.get()
store.set(mylo)
store.update { pet: Pet? ->
pet?.copy(age = pet.age + 1)
}
store.delete()
// Получаем обновления
val pets: Flow<Pet?> = store.updates
#android #ios #desktop #jvm #js
🔥30👍4
Kotlin 2.0 уже совсем скоро выйдет и JetBrains во всю готовится к анонсу стабильной версии. Выпустили руководство по миграции на K2 компилятор и изменения в работе языка:
👉 open val свойства с backieng field должны быть сразу же при объявление, раньше можно было сделать в init блоке
👉 Объявление set методы для свойства теперь будет приводить к ошибке
👉 Поменялись требования к подключение типов из модулей
👉 Улучшения интеропа с Java
👉 Исправлено много багов из Kotlin 1.*
#k2
👉 open val свойства с backieng field должны быть сразу же при объявление, раньше можно было сделать в init блоке
👉 Объявление set методы для свойства теперь будет приводить к ошибке
👉 Поменялись требования к подключение типов из модулей
👉 Улучшения интеропа с Java
👉 Исправлено много багов из Kotlin 1.*
#k2
👍37