Compose Broadcast
5.42K subscribers
305 photos
84 videos
508 links
Все о Jetpack Compose и Compose Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Android - @android_broadcast
iOS - @ios_broadcast
Kotlin - @kotlin_broadcast
Download Telegram
Вышел Compose Material3 Adaptive 1.1.0

👉 ListDetailPaneScaffold и SupportingPaneScaffold добавили поддержку изменения разделителя между панелям жестом в UI и программистом из кода
👉 NavigableListDetailPaneScaffold и NavigableSupportingPaneScaffold теперь поддерживают predictive back. Также можно использовать ThreePaneScaffoldPredictiveBackHandler для поддержки predictive back с вашей собственной реализацией scaffold
👉 AnimatedPane теперь позволит задать разные движения для переключения панелей

#compose #jetpack
👍16
Channel photo updated
Какое решение для навигации вы используете в приложениях с Compose? В комментариях пишите почему выбрали именно его
Anonymous Poll
61%
Jetpack Navigation for Compose
18%
Decompose
9%
Voyager
0%
Appyx
1%
PreCompose
0%
Circuit
0%
Odyssey
11%
Собственное решение
2%
Другое (делитесь в комментариях)
13%
Не участвую в опросе
👍3
Media is too big
VIEW IN TELEGRAM
📹 Кастомные лейауты в Jetpack Compose (42м)

В процессе написания компонентов дизайн-системы на Compose спикер столкнулся с нехваткой качественных материалов и скудностью документации по такой важной теме, как кастомные лейауты. Цель доклада — предоставить полноценный обзор средств для кастомизации лейаутов на Compose.

Александр разобрал механизм работы layout-фазы в Compose и рассказал о ее ограничениях. Как работают стандартные лейауты, а также какие возможности существуют для написания кастомных. Рассмотрел нюансы и хаки, о которых не написано в документации. Продемонстрировал все на примерах, включая компоненты дизайн-системы Авито.

Будет полезно всем разработчикам, пишущим UI на Jetpack Compose.

Скачать презентацию с сайта Mobius
📹 Также можно посмотреть в VK Video

#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40
🏝 Обновления Compose в Kotlin 2.1.20

Вышла новая версия Kotlin, а с ней и новый Compose Compiler, что влияет на работу Compose:

👉 Появилась поддержка аргемнтов по умолчанию для Composable функций

👉 open и abstract функции теперь могут быть restartable или skipped, при условии что будут использовать из классов, которые final или сама функция final

👉 Теперь по умолчанию на всех платформах компилятор включает информацию о месте в коде на основе которого был сгенерирован Compose код. (раньше было только на Android)

👉 ComposableSingletons убрали из публичного API

#kotlin #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25
⚙️ Вышла первая бета Compose Multiplatform 1.8.0

#compose #multiplatform #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39
⚙️ Вышел Jetpack Compose 1.8.0 RC2 с исправлениями ошибок

// Подключайте BOM для обновления до актуальных версиях
implementation("androidx.compose:compose-bom-beta:2025.03.01")


#compose #jetpack #android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
Forwarded from Kotlin Adept Notes (Alex Panov)
This media is not supported in your browser
VIEW IN TELEGRAM
Bottom Sheet починили! ⚪️

У нас в проектах уже давно нет зависимости от Material, так как используется своя дизайн-система. Это круто, но несёт одну главную проблему: ты перестаёшь следить за обновлениями в Material и исправлениями различных багов. До вчерашнего дня я был уверен, что Bottom Sheet в Material 3 всё ещё отвратительно работает и никакие проблемы там не исправили. Но оказалось, что это не так — все старые болячки там пофиксили 🤩

На видео можно заметить существенную разницу между старой и новой версией Bottom Sheet в Material 3.

P.S. Так что, видимо, надо начинать отдельный квест по копированию исходного кода этого компонента в нашу дизайн-систему 🙃
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍64
⚙️ Как работать с Custom Layout в Jetpack Compose (21м)

В этой статье вы найдете:
👉 как работают layout-ы в Compose;
👉 изменение layout-а отдельного компонента;
👉 создание кастомных Layout и LazyLayout;
👉 отложенную композицию.

Всё это на примерах, в том числе из дизайн-системы Авито.

#compose #android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29
⚙️ Как в RuStore сделали дизайн-систему для мобильных устройств и TV (16м)

Разработчик RuStore рассказывает про разработанной концепции дизайн системы.

Содержание статьи:
👉 Что такое дизайн-система
👉 Почем не подойдет готовое
👉 Архитектура дизайн системы RuStore
👉 Демо приложение для дизайн системы
👉 Реализация дизайн системы в коде на Compose

#compose #android #rustore #ui
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20
This media is not supported in your browser
VIEW IN TELEGRAM
Статья(EN,5м) с тем как реализовать подобную анимацию на Compose с помощью PagerState

🔗 Альтернативная ссылка на статью

#compose #анимация
👍36
⚙️ Вышла первая бета-версия Compose MP 1.8.0

Что нового:
🏝 Полный переход на компилятор K2
👉 Поддержка вариативных шрифтов
👉 Поддержка ARM64 для Windows в Compose Desktop

iOS
👉 Экспериментальная поддержка Drag-and-drop на iOS
👉 Улучшение доступности на iOS
👉 Экспериментальный рендеринг на фоновом потоке
👉 Поддержка жеста "Назад" в Jetpack Navigation в версии 2.9.0-alpha15 для iOS

Web
👉 Экспериментальная предзагрузка ресурсов: шрифтов и изображений для веб-таргета
👉 Kotlin/Wasm и Kotlin/JS теперь корректно работают с базовыми элементами управления в браузере

#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39
‼️ Compose Multiplatform 1.8.0 будет полностью работать только с Kotlin 2.1.0 и выше из-за перехода на K2 компилятор. Часть возможностей может быть недоступна на старых версиях языка, например работа с klib артефактами проекта с Compose MP

#kotlin #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26
🔨 Вышла вторая RC новой версии Android Studio - Meerkat Feature Drop 2024.3.2

#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
⚙️ Demeter — новый инструмент для анализа производительности Compose-приложений в Android

Demeter создан для тех, кто пишет на Compose и задается вопросом «почему всё лагает?» Библиотека, разработанная командой мобильной разработки Яндекса, уже лежит в опенсорсе.

Что умеет:
👉 Показывает частоту и причины рекомпозиций
👉 Помогает понять, где и почему UI перестраивается
👉 Показывает время выполнения методов прямо во время работы
👉 Считает время переходов между экранами
👉 Анализирует создание объектов и потоки выполнения

🛠 Всё это — без ручного обвешивания кода и пересборок. Demeter внедряется на этапе компиляции. Используются Kotlin Compiler Plugin (анализ Compose до компиляции) и модификация байткода (в том числе для сторонних библиотек).

Я попробовал — выглядит как must-have инструмент для любого, кто пилит что-то серьёзное на Compose

Подробнее на Хабре 🐱
Исходники на GitHub

#compose #инструменты #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
👍431
📹 Полный обзор 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 Multiplatform, но снова я бы так не делал (10 мин)

Лидер команды Яндекса делится опытом и рассказывает, какие трудности возникли при реализации кроссплатформенного проекта, а также чего лучше избегать в современной мобильной разработке.

#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🔥 На конференции по Аврора ОС объявили о поддержки 🏝 Kotlin Multiplatform и в скоро будущем будет работать и ⚙️ Compose Multiplatform

Как только станет доступно попробовать - подключу в свой проект Frame.io

Источник - @AuroraDevelopers

#kmp #аврораос
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33