Пример использования корутин в Compose для блокировки перехода на другой экран с цель ожидания проверки подтверждения от пользователя
Читайте полную статью на канале Леши Панова @adept_notes
#compose #coroutines
Читайте полную статью на канале Леши Панова @adept_notes
#compose #coroutines
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👉 Несколько файлов конфигурации стабильных типов
👉 Приостанавливаемая композиция.Экспериментальная функция.
👉 Изменение поведения open, abstract и overriden Composable функций. Они больше не будут restartable. Теперь всегда будут приводить к рекомпозиции родителя.
👉 Ускорение компиляции
#kotlin #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
Опыт миграции приложения Дринкит с View на Compose. Рассказывается про значительное увеличение время первого открытия экрана и причину этого - поставка Compose отдельно от системы.
Ребята боролись с медленными запусками через оптимизации и лайфхаки, особенно интересным показался прогрев ComposeView через ContentProvider, чтобы сделать максимально рано на старте приложения, вплоть до запуска экрана во время splash 🤯.
Одной из причин тормозов - приложение было частью на View, часть на Compose и первым экраном user flow был View экран, а вот при старте с Compose экрана становится лучше. Полный Compose убирает многие тормоза из-за раннего "прогрева" кода
Лучший способ поддержать Макса, автора статьи, - подписку на его блог @mobilefiction
#compose #android
Please open Telegram to view this post
VIEW IN TELEGRAM
Серия статей как работает анимация Compose под капотом
1️⃣ API анимации в Compose
2️⃣ Как на основе кадров рассчитывается значение элементов во время анимации
#анимация #compose
#анимация #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
Пройдите тест по Compose Modifier от KtAcademy и проверьте свои знания
В комментариях делитесь вопросами что у вызвали непонимание, а также результатами теста
#квиз #compose
В комментариях делитесь вопросами что у вызвали непонимание, а также результатами теста
#квиз #compose
Рекомендую всем настроить правила статического анализа кода с Compose. Позволит избежать ошибок и подскажет полезное. Набор правил можно подключить к Detekt или KtLint.
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
SemanticsPropertyReceiver.invisibleToUser() и другие#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышел Compose Multiplatform 1.7.3
Что нового
⚙️ Поддержка K2 режима для Compose плагина в IDEA
🛠 Исправленив в iOS
⬆️ Обновление до Jetpack Compose 1.7.6 и других свежих версий Jetpack библиотек
#compose
Что нового
🛠 Исправленив в iOS
⬆️ Обновление до Jetpack Compose 1.7.6 и других свежих версий Jetpack библиотек
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🎉 Compose Hot Reload уже скоро появится
Если вы не знали, то JetBrains во всю делает прототип решения и уже есть рабочее решение. Пока только для Desktop, но будем ждать лучше. В статье (EN,10м) происходит демонстрация возможностей и рассказывается про принципы работы.
Кажется, что Flutter останется без одного своего преимущества перед Compose
#compose #desktop
Если вы не знали, то JetBrains во всю делает прототип решения и уже есть рабочее решение. Пока только для Desktop, но будем ждать лучше. В статье (EN,10м) происходит демонстрация возможностей и рассказывается про принципы работы.
Кажется, что Flutter останется без одного своего преимущества перед Compose
#compose #desktop
Чтобы ваш LazyColumn работал эффективно, используйте ключ для идентификации элемента в ячейки списка
Это позволит получить повышение скорости работы списка, лучшее сохранение состояния, а UI плавнее. Подробности в статье (EN,3м)
#compose #производительность
val yourList: List<Item> = ...
LazyColumn {
items(items = yourList, key = { it.id }) { item ->
ItemUI(item)
}
}
Это позволит получить повышение скорости работы списка, лучшее сохранение состояния, а UI плавнее. Подробности в статье (EN,3м)
#compose #производительность
Руководство (EN,10М) по интеграция Navigation Rail для компактных экранов (смартфоны) и больших (планшеты, десктопы)
#compose
#compose
This media is not supported in your browser
VIEW IN TELEGRAM
Shimmer Animation in Jetpack Compose Without Recomposition (EN,5м)
Очень хорошая статья с демонстрацией как рабочие решения, взятые из интернета, стоит проверять через инструменты и оптимизировать. Замена передачи Brush как экземпляра на получение Brush через лямбду позволило повысить производительность!
#compose #оптимизация
Очень хорошая статья с демонстрацией как рабочие решения, взятые из интернета, стоит проверять через инструменты и оптимизировать. Замена передачи Brush как экземпляра на получение Brush через лямбду позволило повысить производительность!
#compose #оптимизация