Вышла первая стабильная версия приложения 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
🔥17🤔9👍5❤2