Mobile Compose
Відкрити в Telegram
Твой главный путеводитель в мир Jetpack Compose и Compose Multiplatform. Android XR: @android_xr Личный блог: @grigorievdy_blog Автор: @grigorievdy Поддержать канал: https://t.me/mobile_compose?boost
Показати більше2 993
Підписники
+324 години
+57 днів
+1830 день
Триває завантаження даних...
Схожі канали
Хмара тегів
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
червень '26
червень '26
+6
в 0 каналах
травень '26
+44
в 1 каналах
Get PRO
квітень '26
+33
в 0 каналах
Get PRO
березень '26
+14
в 0 каналах
Get PRO
лютий '26
+18
в 0 каналах
Get PRO
січень '26
+125
в 0 каналах
Get PRO
грудень '25
+24
в 0 каналах
Get PRO
листопад '25
+52
в 1 каналах
Get PRO
жовтень '25
+38
в 0 каналах
Get PRO
вересень '25
+33
в 0 каналах
Get PRO
серпень '25
+21
в 0 каналах
Get PRO
липень '25
+41
в 0 каналах
Get PRO
червень '25
+47
в 1 каналах
Get PRO
травень '25
+90
в 1 каналах
Get PRO
квітень '25
+42
в 0 каналах
Get PRO
березень '25
+51
в 0 каналах
Get PRO
лютий '25
+34
в 0 каналах
Get PRO
січень '25
+55
в 0 каналах
Get PRO
грудень '24
+129
в 2 каналах
Get PRO
листопад '24
+72
в 0 каналах
Get PRO
жовтень '24
+75
в 0 каналах
Get PRO
вересень '24
+64
в 0 каналах
Get PRO
серпень '24
+124
в 2 каналах
Get PRO
липень '24
+84
в 1 каналах
Get PRO
червень '24
+56
в 0 каналах
Get PRO
травень '24
+71
в 1 каналах
Get PRO
квітень '24
+69
в 2 каналах
Get PRO
березень '24
+66
в 1 каналах
Get PRO
лютий '24
+95
в 3 каналах
Get PRO
січень '24
+124
в 0 каналах
Get PRO
грудень '23
+110
в 1 каналах
Get PRO
листопад '23
+89
в 1 каналах
Get PRO
жовтень '23
+87
в 3 каналах
Get PRO
вересень '23
+54
в 0 каналах
Get PRO
серпень '23
+78
в 0 каналах
Get PRO
липень '23
+69
в 0 каналах
Get PRO
червень '23
+120
в 0 каналах
Get PRO
травень '23
+521
в 0 каналах
Get PRO
квітень '23
+72
в 0 каналах
Get PRO
березень '23
+25
в 0 каналах
Get PRO
лютий '23
+24
в 0 каналах
Get PRO
січень '23
+15
в 0 каналах
Get PRO
грудень '22
+25
в 0 каналах
Get PRO
листопад '22
+63
в 0 каналах
Get PRO
жовтень '22
+225
в 0 каналах
Get PRO
вересень '22
+28
в 0 каналах
Get PRO
серпень '22
+29
в 0 каналах
Get PRO
липень '22
+55
в 0 каналах
Get PRO
червень '22
+11
в 0 каналах
Get PRO
травень '22
+58
в 0 каналах
Get PRO
квітень '22
+12
в 0 каналах
Get PRO
березень '22
+2
в 0 каналах
Get PRO
лютий '22
+11
в 0 каналах
Get PRO
січень '22
+11
в 0 каналах
Get PRO
грудень '21
+7
в 0 каналах
Get PRO
листопад '21
+12
в 0 каналах
Get PRO
жовтень '21
+4
в 0 каналах
Get PRO
вересень '21
+14
в 0 каналах
Get PRO
серпень '21
+9
в 0 каналах
Get PRO
липень '21
+5
в 0 каналах
Get PRO
червень '21
+25
в 0 каналах
Get PRO
травень '21
+16
в 0 каналах
Get PRO
квітень '21
+23
в 0 каналах
Get PRO
березень '21
+26
в 0 каналах
Get PRO
лютий '21
+149
в 0 каналах
Get PRO
січень '21
+403
в 0 каналах
| Дата | Залучення підписників | Згадування | Канали | |
| 04 червня | +3 | |||
| 03 червня | +1 | |||
| 02 червня | +1 | |||
| 01 червня | +1 |
Дописи каналу
#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 | 🎨 Король умер — да здравствует король!
Google официально объявила о переходе к стратегии "Compose-first", а Android View при этом переводится в режим поддержки без дальнейшего активного развития.
Помимо Views, изменения коснулись и некоторых Jetpack-библиотек — их развитие также переводится в maintenance mode.
😇 Подробнее об изменениях
🎨 Mobile Compose 💬 Чат канала
♾ | 1 797 |
| 3 | #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 277 |
| 4 | 🎉 Результаты розыгрыша:
🏆 Победители:
1. Mikhail (@zykloned)
2. Олег (@manwoodt)
✔️Проверить результаты | 2 309 |
| 5 | 😀 🔠🔠🔠🔠➖🔠🔠🔠🔠 ☝ | 2 277 |
| 6 | #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 290 |
| 7 | #Compose #Performance #Recomposition
🎨 Compose 1.11.0 — Новая реализация SlotTable
В Runtime Compose завезли новую экспериментальную реализацию SlotTable на базе LinkBuffer. Новая реализация теперь эффективнее обрабатывает точечные правки в дереве компонентов (random edits). Как итог — более шустрый динамический UI и меньший расход ресурсов памяти
Как потестить?
На данный момент новая реализация выключена по умолчанию. Если вы готовы к экспериментам и хотите проверить профит на своем проекте, её можно активировать вручную через специальный флаг:
ComposeRuntimeFlags.isLinkBufferComposerEnabled = true
🎨 Mobile Compose 💬 Чат канала
♾ | 1 472 |
| 8 | 📣 Розыгрыш 2 билетов на Mobius 🎨
😀 До старта весеннего Mobius 2026 осталось совсем немного, а значит пришло время по традиции разыграть 2 билета на конференцию.
Условия просты — необходимо быть подписанным на @mobile_compose и @grigorievdy_blog
Результаты подведем 8 мая в 10:00 (GMT+3) | 2 115 |
| 9 | #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 💬 Чат канала
♾ | 1 890 |
| 10 | Пример использования:
LookaheadAnimationVisualDebugging(
overlayColor = Color(0x4AE91E63),
isEnabled = true,
multipleMatchesColor = Color.Green,
isShowKeylabelEnabled = false,
unmatchedElementColor = Color.Red,
) {
SharedTransitionLayout {
CompositionLocalProvider(
LocalSharedTransitionScope provides this,
) {
// your content
}
}
} | 1 499 |
| 11 | #Compose #UI #Animation #Debugging
🎨 Compose 1.11.0 — Визуальная отладка анимаций
Shared Elements анимации и работа с Modifier.animatedBounds стали прозрачнее благодаря инструменту LookaheadAnimationVisualDebugging.
Ключевые возможности:
▫️Прямо в Runtime можно увидеть траектории движения объектов и их целевые границы (target bounds).
▫️Визуализация помогает понять, почему элемент «прыгает» или обрезается при переходе между экранами.
Инструмент полезен в первую очередь для сложных UI-переходов, где раньше приходилось полагаться только на логи и интуицию.
🎨 Mobile Compose 💬 Чат канала
♾ | 1 415 |
| 12 | #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 💬 Чат канала
♾ | 1 281 |
| 13 | #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 💬 Чат канала
♾ | 0 |
| 14 | #Release #Compose #Changelog
😇 Релиз Compose библиотек (25.03.2026)
🔵 Animation 1.10.6/1.11.0-beta02
🔵 Foundation 1.10.6/1.11.0-beta02
🔵 Material 1.10.6/1.11.0-beta02
🔵 Runtime 1.10.6/1.11.0-beta02
🔵 UI 1.10.6/1.11.0-beta02
▫️Remote 1.0.0-alpha07
▫Material 3 1.5.0-alpha16
▫️Wear Compose 1.6.0
▫Navigation3 1.1.0-rc01
▫XR Compose 1.0.0-alpha12
▫XR Material3 Compose 1.0.0-alpha16
🎨 Список всех изменений
🎨 Mobile Compose 💬 Чат канала
♾ | 0 |
| 15 | Maxимальные замедления
Судя по последним новостям, в ближайшее время Telegram в РФ может начать работать ещё хуже — либо перестать работать вовсе. Однако мы все взрослые и понимаем, что на любое действие рано или поздно находится противодействие.
Поэтому как оно появится — возвращайтесь, буду ждать вас тут с новой пачкой новостей о Compose.😉
Канал никуда переезжать не будет.
© Григорьев Дмитрий
#Offtop | 0 |
| 16 | #Article #UI #Animation
😇 Two-dimensional scrolling: scrollable2D, draggable2D
В документации Android появились подробности про 2D-скроллинг в Jetpack Compose. Если раньше для перемещения контента по обеим осям приходилось комбинировать verticalScroll и horizontalScroll (что не всегда работало гладко), то теперь есть нативные модификаторы scrollable2D и draggable2D.
Если коротко:
▫️Modifier.scrollable2D: Идеален для контейнеров с контентом, который больше экрана (карты, таблицы, фото). Главная фишка — поддержка fling (инерции) и нативного вложенного скроллинга. То есть, если вы доскроллили до края карты, скролл может бесшовно передаться родителю.
▫️Modifier.draggable2D: Более легковесный вариант для перемещения конкретных UI-элементов. В отличие от первого, здесь нет инерции — элемент останавливается ровно там, где вы оторвали палец. Подойдет для кастомных drag-n-drop анимаций.
Важный нюанс: в отличие от высокоуровневых LazyColumn, эти модификаторы не двигают контент за вас «из коробки». Они лишь отдают дельту смещения, которую нужно вручную применять через graphicsLayer или offset.
😇 Читать статью
🎨 Mobile Compose 💬 Чат канала
♾ | 0 |
| 17 | #Release #Compose #Changelog
😇 Релиз Compose библиотек (11.03.2026)
🔵 Animation 1.10.5/1.11.0-beta01
🔵 Foundation 1.10.5/1.11.0-beta01
🔵 Material 1.10.5/1.11.0-beta01
🔵 Runtime 1.10.5/1.11.0-beta01
🔵 UI 1.10.5/1.11.0-beta01
▫️Remote 1.0.0-alpha06
▫️Wear Compose 1.6.0-rc01
▫Navigation3 1.1.0-beta01
🎨 Список всех изменений
🎨 Mobile Compose 💬 Чат канала
♾ | 0 |
| 18 | Немає тексту... | 0 |
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
