Mobile Compose
Ir al canal en Telegram
Твой главный путеводитель в мир Jetpack Compose и Compose Multiplatform. Android XR: @android_xr Личный блог: @grigorievdy_blog Автор: @grigorievdy Поддержать канал: https://t.me/mobile_compose?boost
Mostrar más2 942
Suscriptores
-124 horas
-47 días
-1130 días
Archivo de publicaciones
2 942
#Release #Compose #Changelog
😇 Релиз Compose библиотек (23.09.2026)
▫Remote 1.0.0-alpha20
▫Remote Foundation 1.0.0-alpha03
▫Material 3 1.5.0-alpha29
▫Navigation3 1.2.0/1.3.0-alpha01
▫Wear Compose 1.7.0
▫XR Compose 1.0.0-beta01
🎨 Список всех изменений
🎨 Mobile Compose 💬 Чат канала
♾
2 942
⚡️⚡️AI-агент съел токены и потерял контекст. Что делать? Разберемся на Mobius 2026 Autumn.
Когда AI становится частью рабочего процесса, появляются вполне инженерные вопросы: сколько токенов уходит на задачу, где агент теряет контекст, оправдан ли MCP, как поделиться рабочими практиками внутри команды и где автоматизация начинает создавать больше проблем, чем решает.
Этим вопросам посвятят отдельный блок на Mobius 2026 Autumn — конференции по мобильной разработке. Восемь докладов, где AI-разработку рассмотрят с разных сторон: от оптимизации агентов и оркестрации до юридических ограничений и локальных моделей.
Подробности — в карточках и на сайте.
Конференция пройдет 21–22 октября в Санкт-Петербурге + онлайн.
🔥С промокодом
mobilecompose персональные билеты дешевле
Купить билет
Реклама. ООО «Джуг Ру Груп». ИНН 78013414462 942
#Release #Compose #Changelog
😇 Релиз Compose библиотек (09.09.2026)
🔵 Animation 1.12.1/1.13.0-alpha03
🔵 Foundation 1.12.1/1.13.0-alpha03
🔵 Material 1.12.1/1.13.0-alpha03
🔵 Runtime 1.12.1/1.13.0-alpha03
🔵 UI 1.12.1/1.13.0-alpha03
▫Remote 1.0.0-alpha19
▫Remote Foundation 1.0.0-alpha02
▫Material 3 1.5.0-alpha28
▫Material3 Adaptive 1.4.0-alpha02
▫Navigation3 1.2.0-rc01
▫Wear Compose 1.7.0-rc01
▫Wear Compose Remote 1.0.0-alpha11
🎨 Список всех изменений
🎨 Mobile Compose 💬 Чат канала
♾
2 942
#Release #Compose #Changelog
😇 Релиз Compose библиотек (26.08.2026)
🔵 Animation 1.13.0-alpha02
🔵 Foundation 1.13.0-alpha02
🔵 Material 1.13.0-alpha02
🔵 Runtime 1.13.0-alpha02
🔵 UI 1.13.0-alpha02
▫Remote 1.0.0-alpha18
▫Remote Foundation 1.0.0-alpha01
▫Material 3 1.5.0-alpha27
▫Material3 Adaptive 1.4.0-alpha01
▫Navigation3 1.1.7/1.2.0-beta01
▫Wear Compose 1.7.0-beta02
▫Wear Compose Remote 1.0.0-alpha10
🎨 Список всех изменений
🎨 Mobile Compose 💬 Чат канала
♾
2 942
#Article #Habr #UI #Compose
🎨 Почему баннер Yandex Ads мигает в LazyColumn — и при чём здесь AndroidView.onReset
Возвращаем канал из отпуска — да ещё и с каким контентом! Статьёй от подписчика канала.
В материале автор разбирается, почему баннеры Yandex Ads мерцают при прокрутке в LazyColumn и как можно подойти к решению этой проблемы.
Спасибо подписчику канала @ozodrukh за статью 👍
📖 Читать статью
😼 Репозиторий с демо кодом
🎨 Mobile Compose 💬 Чат канала
♾
2 942
#Release #Compose #Changelog
😇 Релиз Compose библиотек (19.05.2026)
🔵 Animation 1.11.2/1.12.0-alpha03
🔵 Foundation 1.11.2/1.12.0-alpha03
🔵 Material 1.11.2/1.12.0-alpha03
🔵 Runtime 1.11.2/1.12.0-alpha03
🔵 UI 1.11.2/1.12.0-alpha03
▫Remote 1.0.0-alpha11
▫Material 3 1.5.0-alpha20
▫Material3 Adaptive 1.3.0-beta02
▫Navigation3 1.1.2/1.2.0-alpha03
▫Wear Compose 1.6.2/1.7.0-alpha03
▫Wear Compose Remote 1.0.0-alpha04
▫XR Compose 1.0.0-alpha14
▫XR Material3 Compose 1.0.0-alpha17
🎨 Список всех изменений
🎨 Mobile Compose 💬 Чат канала
♾
2 942
🎨 Король умер — да здравствует король!
Google официально объявила о переходе к стратегии "Compose-first", а Android View при этом переводится в режим поддержки без дальнейшего активного развития.
Помимо Views, изменения коснулись и некоторых Jetpack-библиотек — их развитие также переводится в maintenance mode.
😇 Подробнее об изменениях
🎨 Mobile Compose 💬 Чат канала
♾
2 942
#Article #Medium #Internals #Performance #Compose
🎨 Mission Impossible: How to Achieve 0 Recompositions in a Complex Custom UI
Статья разбирает способ достижения "нулевой" рекомпозиции в сложных кастомных компонентах. Обычных аннотаций Stable и Immutable для таких экстремальных задач часто оказывается недостаточно.
Решение кроется в отложенном чтении состояния через лямбды и переносе логики напрямую в фазы Layout или Draw. Это полностью исключает лишние циклы композиции, гарантируя идеальную плавность даже в нагруженном UI.
Спасибо подписчику канала @ShamilRtc за статью 👍
📖 Читать статью
🎨 Mobile Compose 💬 Чат канала
♾
2 942
🎉 Результаты розыгрыша:
🏆 Победители:
1. Mikhail (@zykloned)
2. Олег (@manwoodt)
✔️Проверить результаты
2 942
#Compose #Performance #UI
🎨 Compose 1.11.0 — MediaQuery API
Представлен новый экспериментальный MediaQuery API. Это попытка стандартизировать адаптивную верстку без нагромождения проверок WindowSizeClass.
Ключевые фичи:
▫️Отслеживание не только размера окна, но и типа клавиатуры, точности указателя (перо vs палец) и положения складных устройств.
▫️derivedMediaQuery: Специальный механизм для оптимизации обновлений при высокой частоте изменения сигналов.
До MediaQuery API:
@Composable
fun isTabletopPosture(
context: Context = LocalContext.current
): Boolean {
val windowLayoutInfo by
WindowInfoTracker
.getOrCreate(context)
.windowLayoutInfo(context)
.collectAsStateWithLifecycle(null)
return windowLayoutInfo.displayFeatures.any { displayFeature ->
displayFeature is FoldingFeature &&
displayFeature.state == FoldingFeature.State.HALF_OPENED &&
displayFeature.orientation == FoldingFeature.Orientation.HORIZONTAL
}
}
@Composable
fun VideoPlayer() {
if(isTabletopPosture()) {
TabletopLayout()
} else {
FlatLayout()
}
}
С MediaQuery API:
@OptIn(ExperimentalMediaQueryApi::class)
@Composable
fun VideoPlayer() {
if (mediaQuery { windowPosture == UiMediaScope.Posture.Tabletop }) {
TabletopLayout()
} else {
FlatLayout()
}
}
🎨 Mobile Compose 💬 Чат канала
♾2 942
#Compose #Performance #Recomposition
🎨 Compose 1.11.0 — Новая реализация SlotTable
В Runtime Compose завезли новую экспериментальную реализацию SlotTable на базе LinkBuffer. Новая реализация теперь эффективнее обрабатывает точечные правки в дереве компонентов (random edits). Как итог — более шустрый динамический UI и меньший расход ресурсов памяти
Как потестить?
На данный момент новая реализация выключена по умолчанию. Если вы готовы к экспериментам и хотите проверить профит на своем проекте, её можно активировать вручную через специальный флаг:
ComposeRuntimeFlags.isLinkBufferComposerEnabled = true🎨 Mobile Compose 💬 Чат канала ♾
2 942
📣 Розыгрыш 2 билетов на Mobius 🎨
😀 До старта весеннего Mobius 2026 осталось совсем немного, а значит пришло время по традиции разыграть 2 билета на конференцию.
Условия просты — необходимо быть подписанным на @mobile_compose и @grigorievdy_blog
Результаты подведем 8 мая в 10:00 (GMT+3)
2 942
#Compose #UI #Tooling
🎨 Compose 1.11.0 — Preview wrappers
Compose 1.11.0 делает шаг навстречу ментальному здоровью разработчиков и добавляет PreviewWrappers. В чем суть: раньше для каждого превью приходилось вручную писать обертку вроде
AppTheme { ... }. Теперь можно создать один универсальный класс-обертку.
Как это работает:
▫️Реализуете интерфейс PreviewWrapper, где в методе Wrap описываете нужный контекст (тему, CompositionLocals и т.д.).
▫️Вешаете аннотацию @PreviewWrapperProvider на функцию превью.
class ThemeWrapper: PreviewWrapper {
@Composable
override fun Wrap(content: @Composable (() -> Unit)) {
JetsnackTheme {
content()
}
}
}
@PreviewWrapperProvider(ThemeWrapper::class)
@Preview
@Composable
private fun ButtonPreview() {
Button(onClick = {}) {
Text(text = "Demo")
}
}
Плюсы:
▫️Чистый код: Превью-функции содержат только код самого компонента.
▫️Масштабируемость: Отлично работает с MultiPreview. Можно один раз настроить обертку для темной/светлой темы или разных локалей.
▫️Единообразие: Весь дизайн-код превью теперь живет в одном месте, а не размазан по проекту.
Важно — чтобы это заработало, помимо версии Compose, необходимо обновить и Android Studio до актуальной версии.
🎨 Mobile Compose 💬 Чат канала
♾2 942
Пример использования:
LookaheadAnimationVisualDebugging(
overlayColor = Color(0x4AE91E63),
isEnabled = true,
multipleMatchesColor = Color.Green,
isShowKeylabelEnabled = false,
unmatchedElementColor = Color.Red,
) {
SharedTransitionLayout {
CompositionLocalProvider(
LocalSharedTransitionScope provides this,
) {
// your content
}
}
}2 942
#Compose #UI #Animation #Debugging
🎨 Compose 1.11.0 — Визуальная отладка анимаций
Shared Elements анимации и работа с Modifier.animatedBounds стали прозрачнее благодаря инструменту LookaheadAnimationVisualDebugging.
Ключевые возможности:
▫️Прямо в Runtime можно увидеть траектории движения объектов и их целевые границы (target bounds).
▫️Визуализация помогает понять, почему элемент «прыгает» или обрезается при переходе между экранами.
Инструмент полезен в первую очередь для сложных UI-переходов, где раньше приходилось полагаться только на логи и интуицию.
🎨 Mobile Compose 💬 Чат канала
♾
2 942
#Release #Compose #Changelog
😇 Релиз Compose библиотек (22.04.2026)
🔵 Animation 1.11.0/1.12.0-alpha01
🔵 Foundation 1.11.0/1.12.0-alpha01
🔵 Material 1.11.0/1.12.0-alpha01
🔵 Runtime 1.11.0/1.12.0-alpha01
🔵 UI 1.11.0/1.12.0-alpha01
▫Remote 1.0.0-alpha09
▫Material 3 1.5.0-alpha18
▫Navigation3 1.1.1/1.2.0-alpha02
🎨 Список всех изменений
🎨 Mobile Compose 💬 Чат канала
♾
2 942
#Release #Compose #Changelog
😇 Релиз Compose библиотек (08.04.2026)
🔵 Animation 1.11.0-rc01
🔵 Foundation 1.11.0-rc01
🔵 Material 1.11.0-rc01
🔵 Runtime 1.11.0-rc01
🔵 UI 1.11.0-rc01
▫Remote 1.0.0-alpha08
▫Material 3 1.5.0-alpha17
▫Material3 Adaptive 1.3.0-alpha10
▫Wear Compose 1.6.1/1.7.0-alpha01
▫Navigation3 1.1.0/1.2.0-alpha01
🎨 Список всех изменений
🎨 Mobile Compose 💬 Чат канала
♾
