es
Feedback
Compose Broadcast

Compose Broadcast

Ir al canal en Telegram

Все о Jetpack Compose и Compose Multiplatform По сотрудничеству - @ab_manager

Mostrar más
5 890
Suscriptores
+124 horas
-77 días
-1330 días
Archivo de publicaciones

🤖 Instagram Direct (мессенджер внутри приложения) переписали на Compose и результаты ВАУ Meta с Google сделали мессенджер "A
🤖 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

⚡️⚡️Когда API недостаточно: хардкорные доклады на Mobius Mobius — профильная конференция по мобильной разработке: здесь встре
+4
⚡️⚡️Когда 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

🤖 Wear Compose 1.7.0: жесты одной рукой и айтемы, которые уезжают за край, а не фейдятся 👉 Одноручные жесты теперь официально через API: оснвое действие — double-pinch, отмена — поворот запястья. На кнопках, карточках, списках и пейджерах рисуются индикаторы, когда жест доступен. 👉 В TransformingLazyColumn уходящий айтем может сдвинуться за край вместо анимации fade. 👉 SwipeToReveal перестал ломаться на nested scroll и быстрых флингах. Тестировать надо на реальных часах, надетых на руку человека. #Compose #WearOS #JetpackCompose

👨🏻‍💻 ИИ в разработке: как выбрать модель и не сломать себе мозг? Подключить нейросеть к IDE — полдела. Сложнее — получать
👨🏻‍💻 ИИ в разработке: как выбрать модель и не сломать себе мозг? Подключить нейросеть к IDE — полдела. Сложнее — получать рабочий код, а не мусор. Всё решают выбор инструмента и чёткое ТЗ. 🗓 8 октября в 20:00 по мск встречаемся на открытом вебинаре курса «Android-разработчик. Продвинутый уровень». 💡Разберём: — Классы ИИ-моделей и задачи для делегирования. — Сравнение моделей под ваш стек. — Prompt Engineering: как ставить задачу без «галлюцинаций». — Интеграцию моделей в Android Studio: нюансы настройки. На примерах посмотрим, что учитывать при подключении и использовании ИИ в среде разработки. ❗️Кому полезно: Разработчикам с опытом, кто уже использует ИИ или только планирует — и хочет делать это осознанно. После вебинара вы поймёте, как выбрать модель и как ставить ей чёткие запросы, чтобы получать рабочий результат. 👉 Зарегистрироваться по ссылке Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

+1
⚙️ Эффект размытия и стекла для Compose Multiplaftom - вышел Haze 2.0 ```kotlin 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

🐱 SIGO (Should I go outside?) - самое правильное приложение про погоду, дающее важный ответ - стоит ли выходить на улицу. Ещ
+1
🐱 SIGO (Should I go outside?) - самое правильное приложение про погоду, дающее важный ответ - стоит ли выходить на улицу. Еще бы рассказала как стоит одеться или нет 😁 Из плюсов - всё open source и на современном стеке Compose Multiplatform и Kotlin Multiplatformс с поддержкой Android, iOS, Desktop 🔗 Можно поставить из 🛒 Google Play и App Store #Compose #Android #Desktop #iOS #Пример

⚙️ Вышел Compose Multiplatform 1.2.1, который принес фиксы #Compose #CMP #KMP
⚙️ Вышел Compose Multiplatform 1.2.1, который принес фиксы #Compose #CMP #KMP

В Compose 1.13 появится полноценный Blur для контента через Modifier #Compose

⚙️ Вышел Compose HotSwan 2.0.0 - Hot Reload для Android, iOS и Desktop. В новой версии прокачали движок определения изменений. Полезно как для людей, так и для разработки с AI агентами, так как не приходится прокликивать приложение до экрана при каждых изменениях, что экономит токены. 💰Решение платное - 5$/месяц, есть триал на 2 недели. 💬 Если кто уже пробовал - делитесь опытом в комментариях #Compose #CMP #Android #Desktop #iOS

⚙️ 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

Repost from Aurora Developers
🚀 Вышла новая альфа-версия адаптации CMP для ОС Аврора (v0.0.5) Прошёл квартал — а значит, вышла новая альфа-версия адаптаци
🚀 Вышла новая альфа-версия адаптации CMP для ОС Аврора (v0.0.5) Прошёл квартал — а значит, вышла новая альфа-версия адаптации CMP для ОС Аврора. Рассказываем, что изменилось. 🛠 Инструментарий разработчика - Плагин для IntelliJ IDEA для быстрого старта - Автопринятие разрешений при запуске приложений - Возможность указать дополнительные файлы при сборке RPM ✨ Расширение возможностей фреймворка - Создания обложек приложения используя Compose - Открытие URI с системным диалогом выбора приложения - Поддержка ориентаций приложения - Новая библиотека адаптивных иконок ОС Аврора - Полная поддержка экранной клавиатуры — предиктивный ввод и автокоррекция 🚗 Аврора автомобильная - Поддержка обложек/виджетов - Улучшена стабильность работы фреймворка 📱 Референсные приложения - Новое демо-приложение «Погода» - Темплейт для быстрого старта разработки - Обновление всех демострационных приложений ✅ Качество и стабильность - Исправления и общая стабилизация фреймворка Новая версия уже доступна для разработчиков. Пробуйте прямо сейчас — все примеры и API в документации. 👉 Документация Проект по адаптации CMP для ОС Аврора продолжает развиваться как открытый проект на mos.hub — присоединяйтесь к разработке, чтобы внести свой вклад и повлиять на будущее фреймворка. Мы открыты к вашему коду и экспертизе. Только #ВМЕСТЕ мы сможем сделать инструмент максимально полезным для всего сообщества. 👉 Репозиторий

🐱 compose-recomposition-highlighter - отслеживание статистики рекомпозиций в Android Следит за теми Composable где проведете
🐱 compose-recomposition-highlighter - отслеживание статистики рекомпозиций в Android Следит за теми Composable где проведете инициализацию
@Composable
fun AppContent() {
    Box(modifier = Modifier.fillMaxSize()) {
        YourMainNavigation()

        // Attach floating Recomposition HUD & Bottom Sheet
        ComposeRecompositionOverlay()
    }
}
#Compose

⚙️ Анимация смены чисел на Compose. Как сделали тут #Compose #Анимация

⚙️ 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

⚙️ Compose Remote добрался до первой Альфы. Это реализация BDUI (верстка приходит с сервера) на основе Compose от Google! 💬
⚙️ Compose Remote добрался до первой Альфы. Это реализация BDUI (верстка приходит с сервера) на основе Compose от Google! 💬 Нужно ли оно вам? #Compose #Android #Remote #BDUI

⚙️ Новый выбор текста 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 }}")
По умолчанию перевод фокуса сбрасывает выделение, поэтому интерактивные элементы, которые не должны это сделать, стоит помечать Modifier.disableSelectionClearOnTap().
@Composable
fun ProgrammaticSelectionExample() {
    val state = rememberSelectionState()

    Column {
        Button(
            onClick = { state.clear() },
            modifier = Modifier.disableSelectionClearOnTap()
        ) { Text("Clear") }

        SelectionContainer(state = state) {
            Text("Text content to be selected programmatically.")
        }

        Text("Selected: ${state.selectedTexts.joinToString { it.text }}")
    }
}
#Compose

⚙️ Compose Multiplatform 1.12.0: AI агент наконец видит, что написал Вышел стабильный CMP 1.12.0. Главное в релизе - MCP в Co
⚙️ 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

Vercel представил Agent Plugins 1.0.0 — открытый стандарт для плагинов, расширяющих AI-агентов Те, кто делал плагины для ИИ-кодинг-агентов, знают про неудобство с поддержкой плагинов для всех инструментов. Теперь должно стать легче! Agent Plugins — это общий, вендор-нейтральный стандарт упаковки Agent Skills (инструкции и ресурсы) и MCP-серверов (инструменты и сервисы) в единый дистрибутив. Как это работает? Плагин — это директория с манифестом plugin.json и фиксированной структурой:
my-plugin/
├── plugin.json
├── skills/
│   └── summarize/
│       ├── SKILL.md
│       ├── scripts/
│       └── references/
├── mcp.json
└── com.example.client/
Клиенты проверяют plugin.json, находят Skills в skills/, а конфигурацию MCP — в mcp.json. Компоненты валидируются независимо — ошибка в одном не ломает другие. Ключевые особенности: 📦 Один пакет для всех клиентов — больше не нужно переупаковывать компонент под каждый формат. 🎯 Small on purpose — стандарт определяет только контракт обнаружения и загрузки, оставляя клиентам свободу в UX, политиках и инновациях. 🔧 Гибкость для клиентов — через механизм неймспейсов можно добавлять клиент-специфичные расширения без загрязнения общего формата. 🏢 Открытый мультивендорный проект — инициатива Vercel, доработанная совместно с AWS, Anysphere (Cursor), GitHub, Microsoft и OpenAI. Технический комитет состоит из AWS, Cursor, Microsoft, OpenAI и Vercel. Где уже поддерживается: - ChatGPT и Codex - Cursor - GitHub Copilot - Kiro - VS Code Плагины, упакованные по этому стандарту, автоматически работают во всех перечисленных клиентах. Для авторов расширений (подключение) — документация и схемы JSON на agent-plugins.org. Для разработчиков AI-агентов (интеграция формата) — чеклист соответствия в репозитории спецификации. #AI