Forwarded from Kotlin Adept Notes (Alex Panov)
Наткнулся на статью "38 ошибок в Compose" и возникло строгое ощущение, что статью писало ChatGPT, ибо ошибок и неточностей там огромное количество, даже начиная с самых первых пунктов.
1. Нам предлагают написать такой код за место обычной лямбды:
При том, что rememberUpdatedState в целом используется для другого, в примере с обычной лямбдой было бы все окей, так как Compose умеет мемеизировать лямбды со стабильным типами.
В большинстве случаев вам не нужно ничего оптимизировать – это задача команды Compose. Но если все же нужно:
🔵 оберните лямбды с нестабильными типами в remember
🔵 передавайте часто меняющиеся параметры как Sate или лямбду
2. Далее нам предлагают заменить вложенные layout на Box или ConstraintLayout🤡
Тут даже комментировать не хочется, ибо в Compose есть правило одного прохода, вьюшки не меряются два раза, соответственно проблем с производительностью не будет.
Разумеется это не все проблемы в статье, так что не верьте всему, что написано в интернете (мне тоже), а лучше читайте официальную документацию🗿
1. Нам предлагают написать такой код за место обычной лямбды:
@Composable
fun MyComponent() {
var counter by remember { mutableStateOf(0) }
val clickAction = rememberUpdatedState { counter++ }
Button(onClick = { clickAction.value.invoke() }) {
Text("Clicked $counter times")
}
}
При том, что rememberUpdatedState в целом используется для другого, в примере с обычной лямбдой было бы все окей, так как Compose умеет мемеизировать лямбды со стабильным типами.
В большинстве случаев вам не нужно ничего оптимизировать – это задача команды Compose. Но если все же нужно:
2. Далее нам предлагают заменить вложенные layout на Box или ConstraintLayout
Тут даже комментировать не хочется, ибо в Compose есть правило одного прохода, вьюшки не меряются два раза, соответственно проблем с производительностью не будет.
Разумеется это не все проблемы в статье, так что не верьте всему, что написано в интернете (мне тоже), а лучше читайте официальную документацию
Please open Telegram to view this post
VIEW IN TELEGRAM
👍48👌3🏆1
Вышел Material Design 3 для Compose версии 1.2
👉 Новые экспериментальный компоненты - PullToRefreshContainer и PullToRefreshState
👉 Новый экспериментальный тип кнопок - Segmented Button
👉 Автоматическое скрытие/появление BottomBar при скролле
👉 Рефакторинг
👉
👉
👉 Больше цветов в палитре цветов для большой кастомизации приложения, а также теперь она стала работать лучше
👉 Разные типы
Больше подробностей в release notes
#material #design #android @compose_broadcast
👉 Новые экспериментальный компоненты - PullToRefreshContainer и PullToRefreshState
👉 Новый экспериментальный тип кнопок - Segmented Button
👉 Автоматическое скрытие/появление BottomBar при скролле
👉 Рефакторинг
SwipeToDismiss
👉
Badge
и BadgedBox
теперь стабильные👉
Сhip
тоже стабильные👉 Больше цветов в палитре цветов для большой кастомизации приложения, а также теперь она стала работать лучше
👉 Разные типы
Surface
Больше подробностей в release notes
#material #design #android @compose_broadcast
❤21👍10🔥2
Руководство по использованию Slack Circuit архитектуры в KMP проекта с UI на Compose (EN, 5 мин, ссылка без VPN). Происходит демонстрация пример. Presenter не тот Presenter что в MVP
#architecture
#architecture
🔥6👍2
🔥24👍3
Mobius опубликовали в публичный доступ доклад про дизайн-систему на Jetpack Compose.
Из доклада вы узнаете:
👉 Как разработчики из Тинькофф создавали свою дизайн систему и с какими проблемами столкнулись
👉 Как расположить бейдж с помощью Alignment Lines
👉 Как реализовать кастомные тени
👉 Какие проблемы есть c ContentAlpha из MaterialTheme
@compose_broadcast
Из доклада вы узнаете:
👉 Как разработчики из Тинькофф создавали свою дизайн систему и с какими проблемами столкнулись
👉 Как расположить бейдж с помощью Alignment Lines
👉 Как реализовать кастомные тени
👉 Какие проблемы есть c ContentAlpha из MaterialTheme
@compose_broadcast
🔥11👍4❤1
Understanding Nested Scrolling in Jetpack Compose (10 мин, ссылка без VPN)
Реализация Nested Scrolling в Compose (например, эффекта паралакса)
@compose_broadcast
Реализация Nested Scrolling в Compose (например, эффекта паралакса)
@compose_broadcast
👍23
Одна из важных задач при реализации UI на одной технологии под несколько платформ является сделать так чтобы UI чувствовался и выглядил нативно.
В статье (EN, 5 мин, ссылка без VPN) рассказывается про Compose Cupertino - библиотека для стиля и поведения виджетов как на iOS
#ios
В статье (EN, 5 мин, ссылка без VPN) рассказывается про Compose Cupertino - библиотека для стиля и поведения виджетов как на iOS
#ios
❤26👍6🎉1🏆1
This media is not supported in your browser
VIEW IN TELEGRAM
Демо с демонстрацией работы Compose Cupertino
👍53🔥20❤7
Вышел Compose 1.6.2 с исправлением багов
👉 Animation 1.6.2
👉 Foundation 1.6.2
👉 Material 1.6.2
👉 Runtime 1.6.2
#compose @compose_broadcast
👉 Animation 1.6.2
👉 Foundation 1.6.2
👉 Material 1.6.2
👉 Runtime 1.6.2
#compose @compose_broadcast
👍24❤4🎉4
🎉20❤2
Forwarded from Android Broadcast (Кирилл Розов)
Стартует интересный опыт - разработчик написал одно и тоже приложения 15 раз на разных стеках UIKit, SwiftUI, XML, Compose и Compose Multiplatform и меняя другие технологии.
🔗 Часть 1 (EN, 12 мин). Методология (Ссылка без VPN)
🔗 Часть 2 (EN, 21 мин). Результаты производительности (Ссылка без VPN)
🔗 Часть 3 (EN, 10 мин). Подведение итогов (Ссылка без VPN)
#performance @android_broadcast
🔗 Часть 1 (EN, 12 мин). Методология (Ссылка без VPN)
🔗 Часть 2 (EN, 21 мин). Результаты производительности (Ссылка без VPN)
🔗 Часть 3 (EN, 10 мин). Подведение итогов (Ссылка без VPN)
#performance @android_broadcast
🏆21👍2
Refining Compose API for design systems (EN, 9 мин, ссылка без VPN) - статья с описанием использования Sloе API вместе со Scope при разработки дизайн системы
👍9
Forwarded from Android Broadcast (Кирилл Розов)
В официальной документации вышло руководство по использованию библиотеки graphics-shapes, которая позволяет работать с различными фигурами, анимировать им между собой, делать маски в виде форм и др.
#compose
#compose
🔥24
Вот какие штуки можно делать
❤26👍17🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Тут сразу вышла статья (EN, 7 мин) с примером как сделать такой бесконечный градиентный прогресс
🔗 Ссылка без VPN
🔗 Ссылка без VPN
🔥38👍6❤2