ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

Mobile Compose

Mobile Compose

Открыть в Telegram

Твой главный путеводитель в мир Jetpack Compose и Compose Multiplatform. Android XR: @android_xr Личный блог: @grigorievdy_blog Автор: @grigorievdy Поддержать канал: https://t.me/mobile_compose?boost

Больше
2 942
Подписчики
-124 часа
-47 дней
-1130 дней
Архив постов
😀 🔠🔠🔠🔠➖🔠🔠🔠🔠 ☝

#Release #Compose #Changelog 😇 Релиз Compose библиотек (23.09.2026) ▫Remote 1.0.0-alpha20 ▫Remote Foundation 1.0.0-alpha03 ▫
#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 💬 Чат канала ♾

⚡️⚡️AI-агент съел токены и потерял контекст. Что делать? Разберемся на Mobius 2026 Autumn. Когда AI становится частью рабочег
+4
⚡️⚡️AI-агент съел токены и потерял контекст. Что делать? Разберемся на Mobius 2026 Autumn. Когда AI становится частью рабочего процесса, появляются вполне инженерные вопросы: сколько токенов уходит на задачу, где агент теряет контекст, оправдан ли MCP, как поделиться рабочими практиками внутри команды и где автоматизация начинает создавать больше проблем, чем решает. Этим вопросам посвятят отдельный блок на Mobius 2026 Autumn — конференции по мобильной разработке. Восемь докладов, где AI-разработку рассмотрят с разных сторон: от оптимизации агентов и оркестрации до юридических ограничений и локальных моделей. Подробности — в карточках и на сайте. Конференция пройдет 21–22 октября в Санкт-Петербурге + онлайн.  🔥С промокодом mobilecompose персональные билеты дешевле Купить билет Реклама. ООО «Джуг Ру Груп». ИНН 7801341446

#Release #Compose #Changelog 😇 Релиз Compose библиотек (09.09.2026) 🔵 Animation 1.12.1/1.13.0-alpha03 🔵 Foundation 1.12.1/
#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 💬 Чат канала ♾

#Release #Compose #Changelog 😇 Релиз Compose библиотек (26.08.2026) 🔵 Animation 1.13.0-alpha02 🔵 Foundation 1.13.0-alpha02
#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 💬 Чат канала ♾

#Article #Habr #UI #Compose 🎨 Почему баннер Yandex Ads мигает в LazyColumn — и при чём здесь AndroidView.onReset Возвращаем канал из отпуска — да ещё и с каким контентом! Статьёй от подписчика канала. В материале автор разбирается, почему баннеры Yandex Ads мерцают при прокрутке в LazyColumn и как можно подойти к решению этой проблемы. Спасибо подписчику канала @ozodrukh за статью 👍 📖 Читать статью 😼 Репозиторий с демо кодом 🎨 Mobile Compose 💬 Чат канала ♾

#Release #Compose #Changelog 😇 Релиз Compose библиотек (19.05.2026) 🔵 Animation 1.11.2/1.12.0-alpha03 🔵 Foundation 1.11.2/
#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 💬 Чат канала ♾

🎨 Король умер — да здравствует король! Google официально объявила о переходе к стратегии "Compose-first", а Android View при
🎨 Король умер — да здравствует король! Google официально объявила о переходе к стратегии "Compose-first", а Android View при этом переводится в режим поддержки без дальнейшего активного развития. Помимо Views, изменения коснулись и некоторых Jetpack-библиотек — их развитие также переводится в maintenance mode. 😇 Подробнее об изменениях 🎨 Mobile Compose 💬 Чат канала ♾

#Article #Medium #Internals #Performance #Compose 🎨 Mission Impossible: How to Achieve 0 Recompositions in a Complex Custom
#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 💬 Чат канала ♾

🎉 Результаты розыгрыша: 🏆 Победители: 1. Mikhail (@zykloned) 2. Олег (@manwoodt) ✔️Проверить результаты

😀 🔠🔠🔠🔠➖🔠🔠🔠🔠 ☝

#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 💬 Чат канала ♾

#Compose #Performance #Recomposition 🎨 Compose 1.11.0 — Новая реализация SlotTable В Runtime Compose завезли новую экспериментальную реализацию SlotTable на базе LinkBuffer. Новая реализация теперь эффективнее обрабатывает точечные правки в дереве компонентов (random edits). Как итог — более шустрый динамический UI и меньший расход ресурсов памяти Как потестить? На данный момент новая реализация выключена по умолчанию. Если вы готовы к экспериментам и хотите проверить профит на своем проекте, её можно активировать вручную через специальный флаг:
ComposeRuntimeFlags.isLinkBufferComposerEnabled = true
🎨 Mobile Compose 💬 Чат канала ♾

📣 Розыгрыш 2 билетов на Mobius 🎨 😀 До старта весеннего Mobius 2026 осталось совсем немного, а значит пришло время по тради
📣 Розыгрыш 2 билетов на Mobius 🎨 😀 До старта весеннего Mobius 2026 осталось совсем немного, а значит пришло время по традиции разыграть 2 билета на конференцию. Условия просты — необходимо быть подписанным на @mobile_compose и @grigorievdy_blog Результаты подведем 8 мая в 10:00 (GMT+3)

#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 💬 Чат канала ♾

Пример использования:
LookaheadAnimationVisualDebugging(
    overlayColor = Color(0x4AE91E63),
    isEnabled = true,
    multipleMatchesColor = Color.Green,
    isShowKeylabelEnabled = false,
    unmatchedElementColor = Color.Red,
) {
    SharedTransitionLayout {
        CompositionLocalProvider(
            LocalSharedTransitionScope provides this,
        ) {
            // your content
        }
    }
}

#Compose #UI #Animation #Debugging 🎨 Compose 1.11.0 — Визуальная отладка анимаций Shared Elements анимации и работа с Modifier.animatedBounds стали прозрачнее благодаря инструменту LookaheadAnimationVisualDebugging. Ключевые возможности: ▫️Прямо в Runtime можно увидеть траектории движения объектов и их целевые границы (target bounds). ▫️Визуализация помогает понять, почему элемент «прыгает» или обрезается при переходе между экранами. Инструмент полезен в первую очередь для сложных UI-переходов, где раньше приходилось полагаться только на логи и интуицию. 🎨 Mobile Compose 💬 Чат канала ♾

#Release #Compose #Changelog 😇 Релиз Compose библиотек (22.04.2026) 🔵 Animation 1.11.0/1.12.0-alpha01 🔵 Foundation 1.11.0/
#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 💬 Чат канала ♾

#Release #Compose #Changelog 😇 Релиз Compose библиотек (08.04.2026) 🔵 Animation 1.11.0-rc01 🔵 Foundation 1.11.0-rc01 🔵 Ma
#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 💬 Чат канала ♾