В версии Jetpack Lifecycle 2.9.2 добавили поддержку WasmJS тартега, а это значит что библиотека теперь может работать на всех KMP таргетах: JVM (Android, Desktop), Native (Linux, iOS, watchOS, macOS, MinGW) и Web (JavaScript, WasmJS)
#android #kmp #wasmjs #jetpackupdate
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥6❤1🎉1
Jetpack SavedState 1.3.1 закончила разработку поддержку KMP. Теперь все существующие таргеты добавлены: JVM (Android, Desktop), Native (Linux, iOS, watchOS, macOS, MinGW) и Web (JavaScript, WasmJS)
Jetpack SavedState - это библиотека для сохранения состояния ViewModel при смерте процесса приложения
class SavedStateViewModel(
private val savedStateHandle: SavedStateHandle,
) : ViewModel() {
val filteredData: StateFlow<List<String>> =
savedStateHandle.getStateFlow<String>("query")
.flatMapLatest { query ->
repository.getFilteredData(query)
}
fun setQuery(query: String) {
savedStateHandle["query"] = query
}
}
#android #kmp #wasmjs #jetpackupdate
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉25👍9🔥3
#kmp #sqlite #jetpackupdate
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🎉2
🤯 Команда Anvil решила прекратить развитие проекта в пользу другого решения
Anvil - Kotlin плагина для расширения возможностей Dagger 2 и упрощения работы с ним решили прекратить развивать. Коллега автором решения сделал Metro и компания будет переходить на него и участвовать в его развитии.
#di #kmp
Anvil - Kotlin плагина для расширения возможностей Dagger 2 и упрощения работы с ним решили прекратить развивать. Коллега автором решения сделал Metro и компания будет переходить на него и участвовать в его развитии.
Metro - это compile-time DI фреймворк с поддержкой KMP, который вдохновлялся Dagger, Anvil, Kotlin-Inject.
#di #kmp
🏆27🤔14🔥3👍1
В Jetpack 2.10.0-alpha01 появилась новая Composable функция LifecycleOwner для создания дочернего Lifecycle. Изменение нужно для Navigation3.
@Composable
fun MyComposable() {
LifecycleOwner(
maxLifecycle = RESUMED,
parentLifecycleOwner = LocalLifecycleOwner.current,
) {
val childLifecycleOwner = LocalLifecycleOwner.current
}
}
#compose #jetpack #android #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔23❤6👍4🔥4
#jetpack #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Статья с громким названием "Динамические обновления без релизов и BDUI". "Ну вот она инновация", осторожно подумал я перед прочтением
Да, ребята не используются подход BDUI, но фактически вся динамика работает на JS. Как мне показалось, получился некий аналог ReactNative, но специфичный под задачи приложения.
Даже не знаю, лучше или хуже будет BDUI, но можно ли сильно оптимизировать выполнение JS?. JavaScript еще и однопоточный и требует работы между виртуальной машиной для выполнения Java кода и JS
#android #bdui #kmp
Да, ребята не используются подход BDUI, но фактически вся динамика работает на JS. Как мне показалось, получился некий аналог ReactNative, но специфичный под задачи приложения.
Даже не знаю, лучше или хуже будет BDUI, но можно ли сильно оптимизировать выполнение JS?. JavaScript еще и однопоточный и требует работы между виртуальной машиной для выполнения Java кода и JS
#android #bdui #kmp
👍17🤯11❤5🤔1🤝1
Media is too big
VIEW IN TELEGRAM
🎙 Проводит — Алексей Панов @kotlin_adept
🗓 Понедельник, 20 октября, 19:00 (GMT+3)
Kotlin Multiplatform (KMP) набирает всё большую популярность — растёт количество вакансий и интерес со стороны компаний.
Я давно хотел провести реальное собеседование, где Android-разработчика с опытом в KMP будут спрашивать на позицию, где придётся писать на KMP каждый день:
иногда с использованием Compose, а иногда — только шаря логику между платформами.
Будет жарко 🔥
Алексей — один из самых опытных разработчиков, кто давно пишет KMP в проде и отлично понимает экосистему.
Кстати, у него классный Telegram-канал @kotlin_adept — там много полезных инсайтов про KMP.
❗️Запись собеседования появится на канале после эфира.
#AndroidBroadcast #kmp #compose #собеседование #android
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥46👍14❤4
🤯 А что вообще считать маленьким проектом в 2025 году?
В закрытом чате обсуждали, какого ноутбука хватит под «маленький KMP-проект» — но вот с тем, что считать маленьким, договориться не смогли.
Приложение с тремя экранами, но двенадцатью Gradle-модулями — это ещё маленькое?
KMP, но «только чуть-чуть под iOS» — считается?
Или когда просто хотел попробовать Compose, а закончил с DI, Router и UseCase на одну строчку логики?
В чём вообще измерять размер проекта — в строках кода, количестве модулей, экранах, фичах или времени сборки?
У меня есть мнение, но интересно, где проходит грань у вас 😏
Комментарии открыты — давайте поругаемся конструктивно.
#архитектура #android #kmp
В закрытом чате обсуждали, какого ноутбука хватит под «маленький KMP-проект» — но вот с тем, что считать маленьким, договориться не смогли.
Приложение с тремя экранами, но двенадцатью Gradle-модулями — это ещё маленькое?
KMP, но «только чуть-чуть под iOS» — считается?
Или когда просто хотел попробовать Compose, а закончил с DI, Router и UseCase на одну строчку логики?
В чём вообще измерять размер проекта — в строках кода, количестве модулей, экранах, фичах или времени сборки?
У меня есть мнение, но интересно, где проходит грань у вас 😏
Комментарии открыты — давайте поругаемся конструктивно.
#архитектура #android #kmp
🤯21👍12❤4
Android Broadcast
#kmp #swift #native
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤6🔥5🤔1