Сталкивались ли вы с проблема производительности UI на Compose?
Anonymous Poll
44%
Да (делитесь в комментариях и как решали)
29%
Нет
13%
Не пишу на Compose
0%
Не пишу код
14%
Не участвую в опросе
Вышел первый Release Candidate Compose Multiplatform 1.6.10
👉 Поддержка Kotlin 2.0 (нужна миграция на новый Gradle плагин)
🛠 Исправление багов из Beta версий
⬆️ Обновление зависимостей
#k2 #kotlin2
👉 Поддержка Kotlin 2.0 (нужна миграция на новый Gradle плагин)
🛠 Исправление багов из Beta версий
⬆️ Обновление зависимостей
#k2 #kotlin2
Forwarded from Kotlin Adept Notes (Alex Panov)
В докладе много всего интересного про подкапотную магию работы Compose, а именно:
Приятного просмотра
Please open Telegram to view this post
VIEW IN TELEGRAM
Разбор (EN, 7м) сложностей тестирования UI на Compose со стандартным решением от Google.
Сделал автор библиотеки для тестирования Ultron и показывает как можно делать их удобнее
#автотесты #ui #compose #ultron #тестирование
Сделал автор библиотеки для тестирования Ultron и показывает как можно делать их удобнее
#автотесты #ui #compose #ultron #тестирование
Forwarded from Android Broadcast
На канале Android Broadcast есть большой разбор (таймкоды присутствуют) всех возможностей библиотеки Ultron от автора и сравнение с Kaspresso.
Telegram
Android Broadcast
📺 Полный разбор Ultron (3 часа кодинга) - фреймворка для UI тестов View и Compose. Сравнение с Google UI Test Framework и Kaspresso
Автор проделал огромную работу и заслуживает вашего лайка под видео и звезды на GitHub
1:49 О демо
4:59 Ultron Github
8:13…
Автор проделал огромную работу и заслуживает вашего лайка под видео и звезды на GitHub
1:49 О демо
4:59 Ultron Github
8:13…
Forwarded from Kotlin Multiplatform Broadcast
Мы строили, строили и построили первый оффлайн митап сообщества Mobile Broadcast в Минске!
Вас ждет 2 доклада по актуальным темам:
✔️ Асинхронное управление состоянием и как сделать просто. Узнаете важность правильной работы с состоянием, к чему приводит некорректная работа с ним и как избежать этих ошибок!
✔️ Как выбрать навигацию для Compose в современном мире (и нет Jetpack Compose не является лучшей даже с выходом версии 2.8.0). Автор поделиться своей историей выбора навигации, сравнит популярные решения и сделаем выводы вместе
Участие бесплатное по предварительной регистрации, а обсудить все детали и не пропускать встречи минского сообщества поможет чат Mobile Broadcast Минск
#минск #митап #анонс
Вас ждет 2 доклада по актуальным темам:
Участие бесплатное по предварительной регистрации, а обсудить все детали и не пропускать встречи минского сообщества поможет чат Mobile Broadcast Минск
#минск #митап #анонс
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Android Broadcast
Forwarded from Kotlin Multiplatform Broadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышел Compose Multiplatform 1.6.10:
👉 Экспериментальная поддержка Lifecycle и ViewModel. Подробности тут
👉 Экспериментальная поддержка Jetpack Navigation (версия 2.7.0). Пример тут
👉 Compose ресурсы стали поддерживать многомодульные проекты и публикацию библиотек, но надо использовать Kotlin 2.0.0
👉 При миграции на Kotlin 2.0 надо использовать дополнительный Gradle плагин
👉 Локализовали строки в модулях
Изменения в каждой платформе отдельными постами в @compose_broadcast
#compose #jetpack
👉 Экспериментальная поддержка Lifecycle и ViewModel. Подробности тут
👉 Экспериментальная поддержка Jetpack Navigation (версия 2.7.0). Пример тут
👉 Compose ресурсы стали поддерживать многомодульные проекты и публикацию библиотек, но надо использовать Kotlin 2.0.0
👉 При миграции на Kotlin 2.0 надо использовать дополнительный Gradle плагин
org.jetbrains.kotlin.plugin.compose. Руководство по миграции тут👉 Локализовали строки в модулях
ui, material и material3Изменения в каждой платформе отдельными постами в @compose_broadcast
#compose #jetpack
Изменения в в Compose iOS 1.6.10:
👉 Magnifier для текста (увеличения при ведение курсора) на iOS 17+
👉 Dialog стал поддерживать отступы при показе софтовой клавиатуры
👉 a11y из iOS работает с диалогами и попапами
👉 Логирование из ОС интегрировано с trace
👉 Поддержка accessibility скролла
👉 Поддержка интеропа с UIKitView и UIKitViewController
👉 Поддержка HapticFeedback на iOS
👉 Поддержка семантики LiveRegion в a11y
#compose #ios
👉 Magnifier для текста (увеличения при ведение курсора) на iOS 17+
👉 Dialog стал поддерживать отступы при показе софтовой клавиатуры
👉 a11y из iOS работает с диалогами и попапами
👉 Логирование из ОС интегрировано с trace
👉 Поддержка accessibility скролла
👉 Поддержка интеропа с UIKitView и UIKitViewController
👉 Поддержка HapticFeedback на iOS
👉 Поддержка семантики LiveRegion в a11y
#compose #ios
Обновления ресурсов в Compose 1.6.10:
👉 Поддержка трехсимвольных локалей
👉 Kotlin DSL для объявления ресурсов
👉 Поддержка plural string
👉 Добавлена опция для отключения генерация Compose ресурсов
👉 Оптимизация работы XML ресурсов
👉 Возможность получения ресурсов по Uri
👉 Поддержка source set для Compose ресурсов
👉 Поддержка SVG за пределами Android
👉 API для получения байтов из Drawable и Шрифтов
👉 Удалён статус экспериментального API
#compose
👉 Поддержка трехсимвольных локалей
👉 Kotlin DSL для объявления ресурсов
👉 Поддержка plural string
👉 Добавлена опция для отключения генерация Compose ресурсов
👉 Оптимизация работы XML ресурсов
👉 Возможность получения ресурсов по Uri
👉 Поддержка source set для Compose ресурсов
👉 Поддержка SVG за пределами Android
👉 API для получения байтов из Drawable и Шрифтов
👉 Удалён статус экспериментального API
#compose
Знаете что плохо в этой Composable функции ? Рассказываю что не так по моей версии в новой статье Базы Знаний и привожу ее шаг за шагом в порядок.
#БазаЗнаний #compose #AndroidBroadcast
#БазаЗнаний #compose #AndroidBroadcast
Forwarded from Kotlin Multiplatform Broadcast
Улучшения Gradle в Kotlin 2.0:
👉 Новое Gradle DSL для конфигурации опций компиляции для всех тасков мультиплатформенных проектов
👉 Compose Runtime теперь часть Kotlin репозитория и теперь всегда будет с актуальными версиями. Из-за этого появился отдельный Gradle Compose плагин для Jetpack и Multiplatform Compose
👉 Теперь в аттрибутах при публикации будет указываться для какой JVМ варианта сделана бибилотека: Android, Standrat JVM или NO JVM
👉 Улучшена работа с зависимостями в Kotlin/Native
👉 Разграничение какие API можно вызывать в разных уровнях DSL
👉 Kotlin/Native компилятор будет загружать только когда он нужен для сборки, а не только если Kotlin/Native используется в проекте
👉 Минимальная поддерживаемая версия Android Gradle Plugin поднята до 7.1.3
👉 Gradle опция
👉 Вывод отчета сборки в JSON формате
👉 kapt наследует конфигурацию из родителського Gradle проекта
#gradle #kotlin2
👉 Новое Gradle DSL для конфигурации опций компиляции для всех тасков мультиплатформенных проектов
👉 Compose Runtime теперь часть Kotlin репозитория и теперь всегда будет с актуальными версиями. Из-за этого появился отдельный Gradle Compose плагин для Jetpack и Multiplatform Compose
👉 Теперь в аттрибутах при публикации будет указываться для какой JVМ варианта сделана бибилотека: Android, Standrat JVM или NO JVM
👉 Улучшена работа с зависимостями в Kotlin/Native
👉 Разграничение какие API можно вызывать в разных уровнях DSL
👉 Kotlin/Native компилятор будет загружать только когда он нужен для сборки, а не только если Kotlin/Native используется в проекте
👉 Минимальная поддерживаемая версия Android Gradle Plugin поднята до 7.1.3
👉 Gradle опция
kotlin.experimental.tryNext для использования следующей dev версией Kotlin за текущей👉 Вывод отчета сборки в JSON формате
👉 kapt наследует конфигурацию из родителського Gradle проекта
#gradle #kotlin2
This media is not supported in your browser
VIEW IN TELEGRAM
История(13м) реализации кнопки со свайпом в Compose
Compose Compiler 1.5.14
👉 Поддержка Kotlin 1.9.24
👉 Исправление багов
Для поддержки Kotlin 2.0 надо будет использовать отдельный Gradle Plugin
#compiler #compose
👉 Поддержка Kotlin 1.9.24
👉 Исправление багов
Для поддержки Kotlin 2.0 надо будет использовать отдельный Gradle Plugin
#compiler #compose
Обзор того что будет релизнуто в Compose 1.7.0
👉 Shared element transitions
👉 Анимации элементов в LazyColumn и LazyRow
👉 AnnotatedString.fromHtml() - конвертирование Html в AnnotatedString
👉 ContextualFlowRow и ContextualFlowColumn - layout с композицей только видимого на экране контента, а для контента что не вместилось показываете индикатор элементов что не влезли
👉 Улучшение производительности
👉 Больше стабильного API
👉 Strong skipping mode будет включен по умолчанию в Compiler 2.0.20 и чаще будет пропускать рекомпозицию. Нужно будет ставить меньше аннотаций
Что еще
👉 Типобезопасная навигация в Navigation Compose 2.8.0
👉 Поддержка Compose в Jetpack CameraX
#compose #kotlin2 #навигация #jetpack #анимация
👉 Shared element transitions
👉 Анимации элементов в LazyColumn и LazyRow
👉 AnnotatedString.fromHtml() - конвертирование Html в AnnotatedString
👉 ContextualFlowRow и ContextualFlowColumn - layout с композицей только видимого на экране контента, а для контента что не вместилось показываете индикатор элементов что не влезли
👉 Улучшение производительности
👉 Больше стабильного API
👉 Strong skipping mode будет включен по умолчанию в Compiler 2.0.20 и чаще будет пропускать рекомпозицию. Нужно будет ставить меньше аннотаций
Stable и ImmutableЧто еще
👉 Типобезопасная навигация в Navigation Compose 2.8.0
👉 Поддержка Compose в Jetpack CameraX
#compose #kotlin2 #навигация #jetpack #анимация
Разработчикам под Android TV рекомендуют переходить с Leanback на Compose. Руководство по миграции
#androidtv #compose
#androidtv #compose