Compose Broadcast
5.92K subscribers
368 photos
94 videos
601 links
Все о Jetpack Compose и Compose Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Android - @android_broadcast
iOS - @ios_broadcast
Kotlin - @kotlin_broadcast
Download Telegram
Aspecto - компонент для расположения элементов UI по сетке для Compose Multiplatform под Android и iOS

Что умеет:
👉 Сохранять соотношение сторон элементов
👉 Умное распределение элементов
👉 Адаптивность к разным размерам экранов

#compose #android #ios
🔥43👍2
Carbon Compose Multiplatform (CMP) - опенсорс реализация дизайн системы IBM на CMP с поддержкой Android, Dekstop, iOS, Web WASM

#compose #uikit #android #ios #desktop #wasm
👍27🔥7
Пример(EN,6м) реализации онбординга (рассказ про новые элементы приложения) пользователю на Compose Multiplatform. Решается задача определения положения Compose элемента на экране, затемнение фона и показ подсказки, где есть свободное место на экране

🔗 Ссылка без VPN

#compose #kmp #andorid #ios #desktop
21👍7🔥1
Coil и Yandex MapKit KMP: рисуем аватарки на карте. Часть 3 (6м)

Как с помощью библиотеки от сообщества Yandex MapKit KMP Compose для Android и iOS, показывают аватары пользователей с сервера.

#kmp #compose #android #ios #карты
👍20
📹 Полный обзор Ultron - UI тесты для Compose Multiplatform (3 часа) и версия на 📹 VK Video

Обзор фреймворка Ultron для написания UI тестов на Android. Если пишите чисто нативно под Android на Kaspresso, то переход дело вкуса, но вот именно на Compose Multiplatform открывается вся мощь!

🔗 Обсуждение технологии в чате @ultron_framework

8:13 Стандартный фреймворк для UI тестов
16:00 Kaspresso
18:48 Тесты на Ultron
24:28 Сравнение с Google и Kaspresso
25:25 Интеграционные Compose тесты
28:10 Пример 1. Тест на разных ферймворках
40:46 2 интеграционный тест
41:35 useUnmergedTree в Google framework
44:41 Пример 2. Тест на разных ферймворкахю
1:00:56 Ultron, индексы по всему LazyList
1:07:36 Ultron, testTag - 2 способ поиска в LazyList
1:11:41 Allure report, Ultron и Kaspresso
1:23:15 Разница в allure report между ними(Ultron и Kaspresso)
1:31:07 1 тест RecyclerView на других фреймворках, Page Object
1:35:40 Ultron, 1 тест RecyclerView, Page Object
1:39:00 2 тест RecyclerView на других фреймворках, Page Object
1:42:38 Ultron, 2 тест RecyclerView, Page Object
1:53:00 Ultron, Сравнение тестов LazyList и RecyclerView
1:54:11 Ultron, RecyclerView features
2:01:50 Ultron, UI automator, сравнение с Google
2:06:15 Ultron, тест WebView
2:11:04 Ultron listeners (и далее внутрянка)
2:14:43 Ultron extensions
2:19:55 Ultron withAssertion extension
2:23:43 Ultron performOnViewForcibly
2:26:11 Ultron, View custom extensions
2:34:04 Ultron, Compose custom extensions
2:41:16 Ultron, Rules management
2:50:48 Ultron, test data for single test

#compose #тестирование #anroid #ios #desktop
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
🔥⚙️ Compose iOS теперь Stable

Самый громкий и важный анонс в истории Compose Multiplatform с выходом версии 1.8.0

Что именно готово для продакшен применения
👉 Все основные фичи из Jetpack Compose работают на iOS
👉 Типобезопасная навигация с поддержкой deep link
👉 Гибкое управление ресурсами
👉 Поддержка iOS Accessibility API
👉 Ощущения от UI приложения как нативного (скрол, редактирование текста, drag-and-drop, адаптивный UI, навигация жестами и пр)
👉 Производительность UI на Compose близка к SwiftUI, но пока немного уступает

Новая эра мобильной разработки уже тут!

#compose #ios
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍84🔥26🤯6
This media is not supported in your browser
VIEW IN TELEGRAM
compose-table - Compose Multiplatform библиотека с поддержкой Android, iOS, JVM Desktop, WASM для показа таблиц

Можно попробовать онлайн версию

#compose #android #ios #jvm #desktop #wasm
👍411
⚙️ Compose Unstyled - набор основных компонентов для построения дизайн систем для Compose Multiplatform с поддержкой Desktop, Android, iOS, JS, WASM

Плюсы решения
👉 Компоненты без стилизации
👉 Поддержка доступности и навигации клавиатурой
👉 Простое API
👉 Одинаковое поведение на всех платформах
👉 Хорошая документация
👉 Все компоненты поддерживают все KMP таргеты Compose

#compose #kmp #composemp #android #ios #desktop #wasm #js
Please open Telegram to view this post
VIEW IN TELEGRAM
👍462
This media is not supported in your browser
VIEW IN TELEGRAM
🐱 WikWok - красивое и удобное приложения, которое из статей Wikipedia делает просмотр в стиле TikTok.

Приложения с KMP и Compose Multiplatform для Android, iOS, Desktop, Web. Стек: Kotlin Inject, KStore, KotlinX библиотеки, Ktor, Coil, KMP Settings, Compose Desktop JVM Hot Reload

Автор - Константин Цховребов из JB команды KMP.

Скачать можно в Google Play, а вот в App Store не выкладывали.

#compose #kmp #kotlin #пример #android #desktop #ios #web #wasm
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥34
🐱 OpenAnimationApp - демо приложение с демонстрацией работы разных Lottie анимаций на Android, iOS, Desktop/JVM и Web с использованием Kotlin Multiplatform. Демо сделано на основе Compottie - Compose Multiplatform обертки Lottie

#compose #анимация #android #desktop #ios #wasm #js #web
Please open Telegram to view this post
VIEW IN TELEGRAM
31👍10🔥4
⚙️ XCalendar - Google Calendar, переписанный на Compose Multiplatform для Android и iOS. Есть все основные фичи, но самое интересное - как сделали виджеты для отображения календаря.

#kotlin #compose #android #ios #пример
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38🔥11
⚙️ KMP Wheel Picker - крутелка c выбором в iOS стиле на Compose

// Пример использования
WheelPicker(
state = state,
bufferSize = 3,
window = { ... },
) { index ->
Text(
"Item ${index + 1}",
Modifier.padding(16.dp, 8.dp),
)
}


#compose #cmp #ios
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍3🤯1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯32👍13🔥2👏1
🐱 Heron - open source клиент для соц сети Bluesky. Приложения на Jetpack Compose Multiplatform для Android, iOS и Desktop

Тех стек:
👉 Многомодульная архитектура
👉 Metro DI
👉 Coil для показа картинок
👉 Kotlin Coroutines и SerlializationX
👉 Ktor
👉 Jetpack Room

#compose #cmp #kmp #android #ios #desktop #пример #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥63
⚙️ Вышел Compose Multiplatform 1.10.0 Beta 1

Что нового:
🔨 @Preview аннотация работает в Common коде
🚀 Поддержка Jetpack Navigation 3

Compose iOS
❗️ Поддержка WIndowsInsetsRulers - API дял расположения элементов относительно системного UI
👉 Прокачали работу с софт клавиатурой

Compose Desktop:
👉 Compose Hot Reload теперь теперь часть Compose. Больше не нужна отдельная зависимость
👉 SwingPanel теперь автоматически подстраивает свой размер на основе размеров контента в ней

Gradle плагин:
👉 Алиасы для Compose зависимостей в Gradle теперь не рекомендуютя к использованию. Подключаем артефакты как и все другие
👉 Поддержка Android Gradle Plugin 9.0.0

#compose #cmp #gradle #ios #desktop
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥3👏1
🤯 Liquid Glass в iOS 26 — удар по кроссплатформенным UI: Compose и Flutter

В iOS 26 Apple полностью обновила визуальный язык всех своих систем — от iPhone до Mac — на основе эффекта Liquid Glass.
Это не просто редизайн: весь интерфейс теперь основан на динамическом материале, который выглядит как живое стекло — с прозрачностью, преломлением, отражениями и адаптацией к фону и движению.

🧩 Всё это работает на уровне системного UI-стека, а не через отдельные шейдеры в приложении.
Apple интегрировала эффект прямо в UIKit и SwiftUI — стандартные контролы (панели, навигация, вкладки, кнопки и т.д.) автоматически наследуют материал без изменений в коде.
Для кастомных интерфейсов появились обновлённые API, управляющие степенью «стеклянности» и размытия.
Рендеринг выполняется через Metal с аппаратным ускорением и оптимизацией под энергопотребление.

⚙️ Compose Multiplatform и Flutter рендерят интерфейс поверх собственного движка — Skia и Impeller соотвественно, который полностью берёт на себя отрисовку.
Это значит, что системные визуальные эффекты, вроде динамического стекла, не будут работать «из коробки».
Возможна имитация Liquid Glass силами движка, но тогда нужно в реальном времени искажать фон под элементом — а это серьёзная нагрузка на CPU/GPU и батарею.

😯 На iOS Skia действительно работает поверх Metal, но использует лишь его базовый 2D-функционал, без доступа к системным шейдерам, материалам и эффектам среды.
Теоретически Skia может эволюционировать в эту сторону, но пока она изолирована от системного рендеринга.

🤖 На Android у Jetpack Compose ситуация лучше: он использует не отдельный движок, а системный рендер Android View, поэтому интеграция системных эффектов возможна нативно.
На iOS же для Compose Multiplatform всё зависит от будущих решений JetBrains — если появится рендер поверх UIKit/Metal, тогда можно будет подключать нативные материалы.
Пока же оптимальный вариант — использовать SwiftUI для UI и KMP-модули для бизнес-логики.

🎯 Apple подняла планку того, что значит «feels like native».
Теперь визуальное и интерактивное поведение невозможно подделать одной лишь кастомной отрисовкой — нужна полная интеграция с системным стеком.

#apple #ios #compose #flutter
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯34👍121🔥1🤔1
⚙️ Compose Multiplatform 1.10.0 — крупнейший релиз года! (ну он пока единственный)

Привет! Вышла стабильная версия Compose Multiplatform 1.10.0 с революционными изменениями для кроссплатформенной разработки. Давайте разберём главные фичи, которые изменят ваш подход к KMP.

🔥 Главная фишки релиз - Preview аннотация теперь работает в коде из commonMain — наконец-то!

// Работает в commonMain!
@Preview
@Composable
fun MyComponentPreview() {
MyTheme {
MyComponent()
}
}


МИГРАЦИЯ! Депрекейт org.jetbrains.compose.ui.tooling.preview.Preview → переходите на androidx.compose.ui.tooling.preview.Preview

👉 Compose Hot Reload встроен в Compose плагин и подключать отдельно больше не нужно
⚙️ Базовая поддержка библиотеки navigation3 и публикация adaptive-navigation3
🍎 iOS: Поддержка Liquid Glass и полная поддержка WindowInsets
⚙️ Улучшили производительность Compose Desktop

⚠️ Breaking Changes & Миграция

Требования к версиям Kotlin
- Kotlin 2.1.20+ (обязательно из-за Hot Reload)
- Kotlin 2.2+ для native и web платформ

🐘 Депрекейт dependency aliases в Gradle plugin → используйте координаты артефактов из Maven
// build.gradle.kts
kotlin {
sourceSets {
commonMain.dependencies {
implementation(compose.ui)
// Заменяем на
implementation("org.jetbrains.compose.ui:ui:1.10.0")
}
}
}


Кто уже обновился? Какие впечатления от Preview в commonMain? Делитесь в комментариях!

#compose #gradle #kmp #android #ios #desktop
Please open Telegram to view this post
VIEW IN TELEGRAM
37🔥27👍3👎2
⚙️ Новинка Compose 1.11: неленивый Grid

До сих пор для сеток у нас были только ленивые LazyVerticalGrid / LazyHorizontalGrid. Но если все элементы уже в памяти (небольшое количество) и нужен точный контроль над расположением ячеек — пригождается новый экспериментальный Grid.

// Пример
Grid(config = {
column(100.dp)
column(1.fr) // забирает остаток строки
row(50.dp)
row(80.dp)
gap(8.dp)
}) {
Box(Modifier.gridItem().fillMaxSize()) { ... }
Box(Modifier.gridItem().fillMaxSize()) { ... }
Box(Modifier.gridItem().fillMaxSize()) { ... }
Box(Modifier.gridItem().fillMaxSize()) { ... }
}


Работает на Android и KMP (iOS, Desktop, Web) – общий API

🔗 Документация по Grid

#Compose #KMP #Android #iOS #Desktop #Web #CMP
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33👎2
Протестировал новый ввод на iOS из Compose 1.11.0. Становится нативнее по поведению, но вот надо проверять на iOS смартфоне тем кто им регулярно пользуется

#Compose #iOS
👍19👎5
⚙️ JetBrains выкатили статью в документации как использовать Liquid Glass эффект из iOS 26 и Compose на iOS.

Всё сводится к более точечному встраиванию Compose экранов в iOS Controller и перекладывание навигации на нативные элементы.

#Compose #iOS #iOS26 #LiquidGlass
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎8