Веб-версияОткрыть в Telegram
CCompose Broadcast

Compose Broadcast

✅ Высокое доверие
@compose_broadcast · канал · Технологии · в индексе с 2026-04-15
5 890подписчиков+2 за неделю
3 394средний охват поста
57.6%ER — охват к подписчикам
17постов за 30 дней
C
Compose Broadcast
⚙️ mediaQuery в Compose: один вызов вместо кучи WindowSizeClass + posture + input Официально появился mediaQuery — лямбда, которая смотрит на текущий UiMediaScope и возвращает boolean. Внутри можно проверять: 👉 windowWidth / windowHeight 👉 windowPosture (Tabletop, Book, Flat) 👉 pointerPrecision (Fine → Coarse → Blunt → None) 👉 keyboardKind (Physical / Virtual / None) 👉 hasCamera / hasMicrophone 👉 viewingDistance (Near / Medium / Far) Включается одним флагом при запуске приложения: ComposeUiFlags.isMediaQueryIntegrationEnabled = true Для размеров, которые дёргаются часто, лучше использовать derivedMediaQuery (обёртка над derivedStateOf): // Composable code val narrowerThanMedium by derivedMediaQuery { windowWidth < WindowSizeClass.WIDTH_DP_MEDIUM_LOWER_BOUND.dp } val narrowerThanExpanded by derivedMediaQuery { windowWidth < WindowSizeClass.WIDTH_DP_EXPANDED_LOWER_BOUND.dp } when { narrowerThanMedium -> SinglePaneLayout() narrowerThanExpanded -> TwoPaneLayout() else -> ThreePaneLayout() } Самый чистый кейс — foldable в tabletop: // Composable code if (mediaQuery { windowPosture == UiMediaScope.Posture.Tabletop }) { TabletopLayout() } else { FlatLayout() } Это API не замена WindowSizeClass, но удобный единый вход для всего, что меняется в рантайме. Если пишете адаптив под foldable / desktop / TV — возьмите на заметку. Пока не перенесли в Compose Multiplatform. Документация Media Query API #Compose #JetpackCompose #Adaptive #UI #Android
54 · 10.4K ·
C
Compose Broadcast
Фотография
нажмите — покажем
🐱 Адаптивный UI в Compose Multiplatform через набор простый функций KitFlow — небольшая KMP-либа, которая показывает, как можно держать адаптив в одном месте. Главная идея — Adaptive.value(): val padding = Adaptive.value( sm = 12.dp, md = 16.dp, lg = 20.dp, tab = 24.dp, desktop = 28.dp ) То же самое для высоты кнопки, ширины карточки, scale шрифта, Boolean, цветов, любых кастомных значений. Есть Adaptive.layoutValue() (по текущей ширине, включая split-screen и resize) и Adaptive.onOrientationChange для портрета/ландшафта. Подключать как зависимость я не рекомендую. Всё, что там есть, легко реализовать самому, и тогда получаешь полную гибкость под свой дизайн-систем и breakpoints. А вот разобрать реализацию и вдохновиться будет полезно, особенно если пишешь shared UI под Android + iOS + Desktop + Web. Я еще для себя делал расширение в зависимости от таргет платформы. #Compose #CMP #Adaptive #UI
45 · 6.1K ·
C
Compose Broadcast
Фотография
нажмите — покажем
⚙️ Compose Multiplatform 1.12.0: AI агент наконец видит, что написал Вышел стабильный CMP 1.12.0. Главное в релизе - MCP в Compose Desktop Hot Reload 1.2.0. Раньше агент правил @Composable вслепую: не знал, прошёл ли reload, что на экране, не упало ли. Теперь есть сервер с нормальными тулами. Поднимается таской, в .mcp.json достаточно hotMcpServer: { "mcpServers": { "compose-hot-reload": { "command": "./gradlew", "args": ["--no-daemon", "--quiet", "--console=plain", "hotMcpServer"] } } } Много фиксов и улучшений для Desktop, Web, iOS. Еще отдельно расскажу постами в @compose_broadcast 🔗 Полный список изменений #Compose #CMP #Desktop #AI
50 · 5.8K ·
C
Compose Broadcast
⚙️ Новый выбор текста Compose 1.12 — SelectionContainer и SelectionState API В Compose 1.12 у SelectionContainer появился hoisted-state: SelectionState. Раньше весь механизм выделения был спрятан внутри текстовых полей. Теперь же стало возможно: 👉 читать выбранный текст реактивно 👉 выделять программно: всё / диапазон / по словам 👉 сбрасывать выделение 👉 искать цитату по всему контейнеру, даже если она размазана по нескольким Text // Один SelectionState нельзя шарить между несколькими SelectionContainer val state = rememberSelectionState() SelectionContainer(state = state) { Text("Text to be selected...") } val selectedTexts : List<AnnotatedString> = state.selectedTexts Text("Выбрано символов: ${selectedTexts.sumOf { it.text.length }}") #Compose
17 · 5.1K ·
C
Compose Broadcast
Фотография
нажмите — покажем
⚙️ Compose Remote добрался до первой Альфы. Это реализация BDUI (верстка приходит с сервера) на основе Compose от Google! 💬 Нужно ли оно вам? #Compose #Android #Remote #BDUI
37 · 4.8K ·
Compose Broadcast
⚙️ Compose Multiplatform 1.12.0 вышел, а tvOS в списке поддерживаемых платформ как не было, так и нет: Android, iOS, macOS, Windows, Linux, веб. Дыру закрывает compose-tvos, и интересен он не столько самим tvOS, сколько приёмом. Плагин через ComponentMetadataRule подвешивает available-at вариант с tvOS-klib к официальному org.jetbrains.compose.*. Дальше решает штатный variant resolution Gradle: tvOS-таргет забирает форк, а iOS/Android/Desktop продолжают резолвить артефакт JetBrains. Отдельно перехватывается маркер плагина через pluginManagement.resolutionStrategy.eachPlugin, чтобы работала упаковка Compose Resources. // settings.gradle.kts plugins { id("dev.sajidali.compose-tvos") version "1.3.0" } Всё, dependencies {} не меняешь. Приём годится далеко за пределами tvOS: так же можно подсунуть свою пересборку любой чужой библиотеки, у которой не хватает таргета. ⚠️ Под капотом форк 15 групп библиотек Compose и AndroidX, опубликованный одним человеком. Автор прямо пишет, что тянет его ровно настолько, насколько нужно для собственного приложения: ни обязательств, ни расписания релизов. Держать compose.runtime и compose.ui в проде из такого источника решение уровня «мы понимаем, на что подписались». Форк сейчас держит линию 1.12, но догонять апстрим ему придётся руками Смотреть стоит ради механики. Тащить в прод - явным фанатам поддержки tvOS из CMP. #Compose #ComposeMultiplatform #KMP #Gradle
5 · 4.2K ·
GIF
demo.mp4 · 1.7 МБ · нажмите — покажем
⚙️ Анимация смены чисел на Compose. Как сделали тут #Compose #Анимация
57 · 4.4K ·
C
Фотография
нажмите — покажем
🐱 compose-recomposition-highlighter - отслеживание статистики рекомпозиций в Android Следит за теми Composable где проведете инициализацию @Composable fun UserProfileCard(user: User) { Card( modifier = Modifier .fillMaxWidth() // Attach highlighter .recompositionHighlighter("UserProfileCard") ) { Text(text = user.name) } } #Compose
75 · 4.6K ·
C
Compose Broadcast
Фотография
нажмите — покажем
🚀 Вышла новая альфа-версия адаптации CMP для ОС Аврора (v0.0.5) Прошёл квартал — а значит, вышла новая альфа-версия адаптации CMP для ОС Аврора. Рассказываем, что изменилось. 🛠 Инструментарий разработчика - Плагин для IntelliJ IDEA для быстрого старта - Автопринятие разрешений при запуске приложений - Возможность указать дополнительные файлы при сборке RPM ✨ Расширение возможностей фреймворка - Создания обложек приложения используя Compose - Открытие URI с системным диалогом выбора приложения - Поддержка ориентаций приложения - Новая библиотека адаптивных иконок ОС Аврора - Полная поддержка экранной клавиатуры — предиктивный ввод и автокоррекция 🚗 Аврора автомобильная - Поддержка обложек/виджетов - Улучшена стабильность работы фреймворка 📱 Референсные приложения - Новое демо-приложение «Погода» - Темплейт для быстрого старта разработки - Обновление всех демострационных приложений ✅ Качество и стабильность - Исправления и общая стабилизация фреймворка Новая версия уже доступна для разработчиков. Пробуйте прямо сейчас — все примеры и API в документации. 👉 Документация Проект по адаптации CMP для ОС Аврора продолжает развиваться как открытый проект на mos.hub — присоединяйтесь к разработке, чтобы внести свой вклад и повлиять на будущее фреймворка. Мы открыты к вашему коду и экспертизе. Только #ВМЕСТЕ мы сможем сделать инструмент максимально полезным для всего сообщества. 👉 Репозиторий
8 · 4.8K ·
Compose Broadcast
⚙️ Compose Web можно выложить как офлайн-приложение В Issue CMP-10781 в официальном баг-трекере CMP Константин Цховребов расписал рецепт офлайн-приложения Compose Web: после Gradle-задачи wasmJsBrowserDistribution отдельная задача (исходный код в issue) копирует статику, вычисляет SHA-256 по путям и содержимому и генерирует service-worker.js. Что получается на практике: 👉 index.html, JS, Wasm и Compose Resources кладутся в Cache Storage 👉 SW перехватывает только эти файлы 👉 запросы к API идут в сеть как обычно 👉 новая сборка меняет версию кэша и удаляет старый Ограничения: 👉 cache.addAll() падает, если не скачался хотя бы один файл из списка 👉 source maps тоже попадают в кэш, если не отфильтровать 👉 новая версия подхватится только при следующем запуске Это не официальная задача в плагине CMP и не «PWA из коробки», а лишь рецепт, который вполне может стать частью официального плагина в будущем. #Compose #CMP #Wasm
9 · 4.9K ·
C
GIF
v2-launch.mp4 · 3.4 МБ · нажмите — покажем
⚙️ Вышел Compose HotSwan 2.0.0 - Hot Reload для Android, iOS и Desktop. В новой версии прокачали движок определения изменений. Полезно как для людей, так и для разработки с AI агентами, так как не приходится прокликивать приложение до экрана при каждых изменениях, что экономит токены. 💰Решение платное - 5$/месяц, есть триал на 2 недели. 💬 Если кто уже пробовал - делитесь опытом в комментариях #Compose #CMP #Android #Desktop #iOS
22 · 5.5K ·
C
Compose Broadcast
GIF
Rebecca_Franks_We_ve_heard_you_want_better_blur_support_in_C · 368 КБ · нажмите — покажем
В Compose 1.13 появится полноценный Blur для контента через Modifier #Compose
76 · 5.8K ·
C
Compose Broadcast
Фотография
нажмите — покажем
⚙️ Вышел Compose Multiplatform 1.2.1, который принес фиксы #Compose #CMP #KMP
8 · 3.7K ·
Compose Broadcast
Фотография
нажмите — покажем
Фотография
нажмите — покажем
🐱 SIGO (Should I go outside?) - самое правильное приложение про погоду, дающее важный ответ - стоит ли выходить на улицу. Еще бы рассказала как стоит одеться или нет 😁 Из плюсов - всё open source и на современном стеке Compose Multiplatform и Kotlin Multiplatform с с поддержкой Android, iOS, Desktop 🔗 Можно поставить из 🛒 Google Play и App Store #Compose #Android #Desktop #iOS #Пример
30 · 3.8K ·
C
Видео
Screen Recording 2026-09-23 at 20.27.11.mp4 · 22.0 МБ · нажмите — покажем
Видео
desktop-small.mp4 · 1.8 МБ · нажмите — покажем
⚙️ Эффект размытия и стекла для Compose Multiplaftom - вышел Haze 2.0 Modifier.hazeGlass( input = HazeInput.Sources(hazeState), style = GlassStyle.regular.then { shape(RoundedCornerShape(20.dp)) tint(Color.White.copy(alpha = 0.16f)) }, ) 🔗 Документация библиотеки 🔗 Бенчмарки как работают эффекты 🔗 Миграция с Haze 1.0 на 2.0 #Compose #CMP
72 · 4K ·
C
Compose Broadcast
🤖 Wear Compose 1.7.0: жесты одной рукой и айтемы, которые уезжают за край, а не фейдятся 👉 Одноручные жесты теперь официально через API: оснвое действие — double-pinch, отмена — поворот запястья. На кнопках, карточках, списках и пейджерах рисуются индикаторы, когда жест доступен. 👉 В TransformingLazyColumn уходящий айтем может сдвинуться за край вместо анимации fade. 👉 SwipeToReveal перестал ломаться на nested scroll и быстрых флингах. Тестировать надо на реальных часах, надетых на руку человека. #Compose #WearOS #JetpackCompose
4 · 2.4K ·
Compose Broadcast
Фотография
нажмите — покажем
Фотография
нажмите — покажем
Фотография
нажмите — покажем
Фотография
нажмите — покажем
Фотография
нажмите — покажем
⚡️⚡️Когда API недостаточно: хардкорные доклады на Mobius Mobius — профильная конференция по мобильной разработке: здесь встречаются разработчики, архитекторы, DevOps-инженеры, тестировщики и тимлиды, чтобы разбирать технологии iOS, Android, Аврора ОС, Flutter и Kotlin Multiplatform. 📅21–22 октября, Санкт-Петербург + online Собрали в карточках несколько докладов для тех, кому интересно заглянуть глубже готовых API и библиотек. Внутри — внутреннее устройство Kotlin Flow, NFC internals в Android, Liquid Glass и Metal, шейдеры, портирование KMP-приложения на Аврора ОС и инструмент для AI-агентов. Это только небольшая часть программы Mobius — в ней еще десятки докладов и разные форматы для мобильных разработчиков. Листайте карточки и переходите на сайт, чтобы посмотреть полное расписание. 🌟По промокоду composebroadcast персональные билеты дешевле [Купить билет] Реклама. ООО «Джуг Ру Груп». ИНН 7801341446
3 · 2.2K ·
C
Фотография
нажмите — покажем
🤖 Instagram Direct (мессенджер внутри приложения) переписали на Compose и результаты ВАУ Meta с Google сделали мессенджер "AI native" на Compose. Это значит что теперь агенты лучше пишут код и тратят на это меньше времени и токенов. Ключ - меньше способов агенту давать смешивать императивное (XML/View) с декларативным (Compose) и нагенерить багов. Какие заявленные итоги: 👉 UI-кода стало меньше примерно наполовину меньше 👉 После перехода статистика: расход токенов сократился на 33%, время на выполнение задач сократилось на −35% (очень спорная метрика), инженеры стали меньше вмешиваться в сессии на −32% 👉 Заявляют об улучшение производительности UI На самом деле - это всё мифы! Там не просто переход на Compose помог, а еще оптимизация кода вокруг него, но вот "AI native" - это кажется новый подход к коду, чтобы с ним эффективно работали агент. Сюда же идут Quality Gate и контроль качества через CI/CD 🔗 Источник - официальный блог Android Developers #Compose #AndroidDev #AI
28 · 2.2K ·

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем