Forwarded from Android Broadcast (Кирилл Розов)
Команда Ozon стоклнулась с проблемой скорости работы Jetpack Compose. Все это они решили, выработали практики и теперь делятся ими в статье (28 мин):
👉 Разберитесь как работает отрисовка и обновление UI в Compose
👉 Правильно выставляйте аннотации @Stable и @Immutable
👉 Правильно готовьте лямбды (не ссылку на метод) через remember
👉 Оптимизируйте функции, так чтобы они были пропускаемые в рекомпозиции
👉 Уменьшайте область рекомпозиции
👉 Быстрые вычисления при смене состояния
👉 Оптимально реализуйте собственные layout
👉 Не менять состояние, которое только что обновилось
👉 Занимайтесь отладкой и профилированием
#compose #performance
👉 Разберитесь как работает отрисовка и обновление UI в Compose
👉 Правильно выставляйте аннотации @Stable и @Immutable
👉 Правильно готовьте лямбды (не ссылку на метод) через remember
👉 Оптимизируйте функции, так чтобы они были пропускаемые в рекомпозиции
👉 Уменьшайте область рекомпозиции
👉 Быстрые вычисления при смене состояния
👉 Оптимально реализуйте собственные layout
👉 Не менять состояние, которое только что обновилось
👉 Занимайтесь отладкой и профилированием
#compose #performance
👍23🤮14💩4🤡3❤1
Forwarded from Android Broadcast (Кирилл Розов)
Обновление Android Jetpack от 28 июня 2023
👉 Compose Compiler 1.4.8 - target Koltin подняли до 1.8.22
👉 Вторая Beta Navigation 2.7.0
👉 Compose 1.5.0 стремится в стадию RC
#jetpack #jetpackupdate
👉 Compose Compiler 1.4.8 - target Koltin подняли до 1.8.22
👉 Вторая Beta Navigation 2.7.0
👉 Compose 1.5.0 стремится в стадию RC
#jetpack #jetpackupdate
👍25🤮11💩10🤡4
Build a custom Staggered Flow Layout with Jetpack Compose (6 мин)
В статье разбирается создание собственного Compose Layout для динамического расположения элементов по строкам и переносом
#android
В статье разбирается создание собственного Compose Layout для динамического расположения элементов по строкам и переносом
#android
👍32🤮17👎4
Стало доступно FoldAwareColumn - часть Accompanist Adaptive для складных устройств. Позволяет понять что устройство сложено/разложено и расположить контент вертикально относительно изгиба
Подробности тут
#foldable #compose
Подробности тут
#foldable #compose
👍22👎11
Руководство с нуля (EN, 7 мин) по интеграции Lottie в UI на Jetpack Compose - от добавления зависимостей до показа и управлениями анимациями
#animation
#animation
👍26👎4
This media is not supported in your browser
VIEW IN TELEGRAM
Compose Sensors - библиотека с оберткой работы с сенсорами из Android SDK для Jetpack Compose
👍31👎4
This media is not supported in your browser
VIEW IN TELEGRAM
Разбор (8 мин, EN) реализации отображения текста как на табло в аэропортах только все это на Jetpack Compose
#animation
#animation
👍40👎5
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
CashApp (бывшие Square) выпустили beta версию библиотеки Redwood для построения реактивного Android, iOS и Web UI с помощью Kotlin. Идея заключается в описании в Kotlin common коде элементов дизайн системы и последующей их реализации в платформенном модуле и все это потом собирается через мультиплатформенный Compose
#compose #jakewharton #kmm
#compose #jakewharton #kmm
👍43👎7
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Во всю идет разработка следующей версии (3.0) популярной библиотеки - Coil. Самое важное - появится поддержка Compose Multiplatform (Android, iOS, Web, Desktop). До релиза ещё не скоро, но занимается этим CashApp (бывшая Square)
Coil - библиотека для загрузки изображений, которая полностью сделана на Kotlin Coroutines. Версии 2.X работают только на Android
Источник новости тут
#kmp #compose
Coil - библиотека для загрузки изображений, которая полностью сделана на Kotlin Coroutines. Версии 2.X работают только на Android
Источник новости тут
#kmp #compose
👍25👎3
Статья с подходами как можно улучшить доступность (accessibility) в Jetpack Compose с помощью различных Modifier:
👉 toggleable(role = Role.Switch)
👉 selectable(role = Role.RadioButton)
👉 clickable(role = Role.Button)
👉 magnifier - стандартная фича увеличения интерфейса
#accessibility
👉 toggleable(role = Role.Switch)
👉 selectable(role = Role.RadioButton)
👉 clickable(role = Role.Button)
👉 magnifier - стандартная фича увеличения интерфейса
#accessibility
👍12👎2