Forwarded from Compose Broadcast (Кирилл Розов)
Вышел Compose Multiplatform 1.5.0
👉 Dialog, Popup и WindowInsets API теперь часть common кода
👉 Улучшено работа UI на iOS и теперь чувствуется как нативная (скролл и поддержка 120 Гц дисплеев)
👉 iOS: Динамические шрифты, управление ресурсами стало проще, улучшен TextField
👉 Обновление до core библиотек Jetpack Compose 1.5.0
👉 Desktop: Стабилизация тестового фреймворка
👉 Desktop: Улучшен интероп со Swing
#multiplatform #ios #desktop @compose_broadcast
👉 Dialog, Popup и WindowInsets API теперь часть common кода
👉 Улучшено работа UI на iOS и теперь чувствуется как нативная (скролл и поддержка 120 Гц дисплеев)
👉 iOS: Динамические шрифты, управление ресурсами стало проще, улучшен TextField
👉 Обновление до core библиотек Jetpack Compose 1.5.0
👉 Desktop: Стабилизация тестового фреймворка
👉 Desktop: Улучшен интероп со Swing
#multiplatform #ios #desktop @compose_broadcast
👍41
Опыт использования Alpha версии Jetpack Datastore, которая уже вышла за пределы Android и поддерживает iOS и JVM Desktop
#android #ios #desktop #jetpack
#android #ios #desktop #jetpack
🔥21
ChaKt - Chat with AI - пример использования Kotlin Multiplatform для приложения Generative AI. Поддержка Android, iOS, Desktop (JVM) и WebAssembly
#sample #android #ios #desktop #wasm #compose @kotlin_broadcast
#sample #android #ios #desktop #wasm #compose @kotlin_broadcast
🔥39👍1👏1
Note Delight - open source приложение на Kotlin Multiplatform и Compose Multiplatform с поддержкой Android, iOS, Desktop. Автор один из подписчиков и уверен что ответит на ваши комментарии
#sample #android #ios #desktop @kotlin_broadcast
#sample #android #ios #desktop @kotlin_broadcast
👍29🔥4❤3👏2
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
Неофициальное опенсорс SDK для Firebase на Kotlin с поддержкой Android, iOS, Desktop и Web. Какие особенности реализации:
👉 Не брали за основу Java SDK
🔥 Все на корутинах (suspend и Flow)
🔥 KotlinX Serialization для сохранения/записи данных в Firebase
🔥 Аргументы по умолчанию там где это возможно
👉 Инфиксная нотация для API
👉 Перегруженные операции
#firebase #android #ios #desktop #web @kotlin_broadcast
👉 Не брали за основу Java SDK
🔥 Все на корутинах (suspend и Flow)
🔥 KotlinX Serialization для сохранения/записи данных в Firebase
🔥 Аргументы по умолчанию там где это возможно
👉 Инфиксная нотация для API
👉 Перегруженные операции
#firebase #android #ios #desktop #web @kotlin_broadcast
👍26🔥9❤3
На developers.android.com появилась страница с документацией по использованию SQLite артефакт в Kotlin Multiplatform
#android #ios #desktop #sqlite #документация
#android #ios #desktop #sqlite #документация
🎉13🤯2
Вышла первая стабильная версия приложения TiVi. Важным является что это пример KMP проекта для Android, Desktop (JVM) и iOS с применением Compose Multiplatform. Автор Chris Banes - работал в Google, а теперь в Twitter.
Все исходники открыты на GitHub.
Само приложение можно скачать в Google Play и AppStore
#kmp #compose #android #desktop #jvm #ios #пример
Все исходники открыты на GitHub.
Само приложение можно скачать в Google Play и AppStore
#kmp #compose #android #desktop #jvm #ios #пример
🔥13🤬4👍1
ADB GUI Desktop - KMP Desktop приложения для выполнения ADB с открытым исходным кодом. Дистрибутива нету, запуск только из исходников
#kmp #desktop
#kmp #desktop
👍25
Для работы Viewer надо добавить зависимость в проект и провести простую интеграцию с вашей БД
Автор решения также написал статью (4м) на русском с демонстрацией возможностей
#kotlin #kmp #sqlite #android #ios #desktop
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38❤2
Forwarded from Android Broadcast
🔥 Главное нововведение этой версии Room — рефакторинг библиотеки для поддержки нескольких платформ через KMP: Android, iOS, JVM (Desktop), native Mac и native Linux. Документацию о том, как начать, можно найти здесь. В рамках поддержки KMP было выделено SQLiteDriver.
#android #kmp #jetpack #ios #desktop #mac #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28
Концепция строится вокруг модульной структуры для разделения API и реализации. Для DI по умолчанию используется kotlin-inject-anvil, для Presenter - Molecule, но можно заменить. UI слой может быть написан на удобном для вас UI фреймворке.
Для настройки требуется подключение Gradle плагина
На момент написания поста доступна версия 0.0.1
#kotlin #kmp #android #ios #web #desktop #jvm #native
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25
// Пример OrbitMVI
class CalculatorViewModel: ContainerHost<CalculatorState, CalculatorSideEffect>, ViewModel() {
// Include `orbit-viewmodel` for the factory function
override val container = container<CalculatorState, CalculatorSideEffect>(CalculatorState())
fun add(number: Int) = intent {
postSideEffect(CalculatorSideEffect.Toast("Adding $number to ${state.total}!"))
reduce {
state.copy(total = state.total + number)
}
}
}
#kmp #mvi #android #ios #desktop
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4🤔3❤1