Вышел Compose Material3 Adaptive 1.1.0
👉 ListDetailPaneScaffold и SupportingPaneScaffold добавили поддержку изменения разделителя между панелям жестом в UI и программистом из кода
👉 NavigableListDetailPaneScaffold и NavigableSupportingPaneScaffold теперь поддерживают predictive back. Также можно использовать ThreePaneScaffoldPredictiveBackHandler для поддержки predictive back с вашей собственной реализацией scaffold
👉 AnimatedPane теперь позволит задать разные движения для переключения панелей
#compose #jetpack
👉 ListDetailPaneScaffold и SupportingPaneScaffold добавили поддержку изменения разделителя между панелям жестом в UI и программистом из кода
👉 NavigableListDetailPaneScaffold и NavigableSupportingPaneScaffold теперь поддерживают predictive back. Также можно использовать ThreePaneScaffoldPredictiveBackHandler для поддержки predictive back с вашей собственной реализацией scaffold
👉 AnimatedPane теперь позволит задать разные движения для переключения панелей
#compose #jetpack
👍16
Какое решение для навигации вы используете в приложениях с 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
В процессе написания компонентов дизайн-системы на Compose спикер столкнулся с нехваткой качественных материалов и скудностью документации по такой важной теме, как кастомные лейауты. Цель доклада — предоставить полноценный обзор средств для кастомизации лейаутов на Compose.
Александр разобрал механизм работы layout-фазы в Compose и рассказал о ее ограничениях. Как работают стандартные лейауты, а также какие возможности существуют для написания кастомных. Рассмотрел нюансы и хаки, о которых не написано в документации. Продемонстрировал все на примерах, включая компоненты дизайн-системы Авито.
Будет полезно всем разработчикам, пишущим UI на Jetpack Compose.
Скачать презентацию с сайта Mobius
📹 Также можно посмотреть в VK Video
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40
Вышла новая версия 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
// Подключайте 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. Так что, видимо, надо начинать отдельный квест по копированию исходного кода этого компонента в нашу дизайн-систему🙃
У нас в проектах уже давно нет зависимости от Material, так как используется своя дизайн-система. Это круто, но несёт одну главную проблему: ты перестаёшь следить за обновлениями в Material и исправлениями различных багов. До вчерашнего дня я был уверен, что Bottom Sheet в Material 3 всё ещё отвратительно работает и никакие проблемы там не исправили. Но оказалось, что это не так — все старые болячки там пофиксили
На видео можно заметить существенную разницу между старой и новой версией Bottom Sheet в Material 3.
P.S. Так что, видимо, надо начинать отдельный квест по копированию исходного кода этого компонента в нашу дизайн-систему
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍64
При найме в вашу компанию Android или KMP разработчика какие требования по знаниям Compose?
Anonymous Poll
33%
Надо знать Compose обязательно
25%
Необязательно, но хорошо чтобы было знание Compose
9%
Не требуем знания Compose
5%
Не знаю требования для вакансий компании
1%
Другой вариант
26%
Не участвую в опросе
👍3
В этой статье вы найдете:
👉 как работают layout-ы в Compose;
👉 изменение layout-а отдельного компонента;
👉 создание кастомных Layout и LazyLayout;
👉 отложенную композицию.
Всё это на примерах, в том числе из дизайн-системы Авито.
#compose #android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29
Разработчик 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 #анимация
🔗 Альтернативная ссылка на статью
#compose #анимация
👍36
Что нового:
👉 Поддержка вариативных шрифтов
👉 Поддержка 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
#kotlin #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26
#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
Demeter создан для тех, кто пишет на Compose и задается вопросом «почему всё лагает?» Библиотека, разработанная командой мобильной разработки Яндекса, уже лежит в опенсорсе.
Что умеет:
👉 Показывает частоту и причины рекомпозиций
👉 Помогает понять, где и почему UI перестраивается
👉 Показывает время выполнения методов прямо во время работы
👉 Считает время переходов между экранами
👉 Анализирует создание объектов и потоки выполнения
🛠 Всё это — без ручного обвешивания кода и пересборок. Demeter внедряется на этапе компиляции. Используются Kotlin Compiler Plugin (анализ Compose до компиляции) и модификация байткода (в том числе для сторонних библиотек).
Я попробовал — выглядит как must-have инструмент для любого, кто пилит что-то серьёзное на Compose
Подробнее на Хабре
Исходники на GitHub
#compose #инструменты #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43❤1
Обзор фреймворка 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
YouTube
Ultron - фреймворк для тестирования Android UI и Compose. Демо возможностей
Обзор фреймворка Ultron для написания UI тестов на Android
🔗 Код из видео https://github.com/open-tool/ultron/tree/demo
🔗 Ultron GitHub https://github.com/open-tool/ultron
🔗 Ultron Telegram группа https://t.iss.one/ultron_framework
🔗 Каналы "Android Broadcast"…
🔗 Код из видео https://github.com/open-tool/ultron/tree/demo
🔗 Ultron GitHub https://github.com/open-tool/ultron
🔗 Ultron Telegram группа https://t.iss.one/ultron_framework
🔗 Каналы "Android Broadcast"…
👍16
Лидер команды Яндекса делится опытом и рассказывает, какие трудности возникли при реализации кроссплатформенного проекта, а также чего лучше избегать в современной мобильной разработке.
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Forwarded from Kotlin Multiplatform Broadcast
🔥 На конференции по Аврора ОС объявили о поддержки 🏝 Kotlin Multiplatform и в скоро будущем будет работать и ⚙️ Compose Multiplatform
Как только станет доступно попробовать - подключу в свой проект Frame.io
Источник - @AuroraDevelopers
#kmp #аврораос
Как только станет доступно попробовать - подключу в свой проект 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