Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Рассказали про ближайшее будущее Kotlin Multipaltform в 2024
Compose Multiplatform
🔥 Главный фокус - вывести Compose for iOS в Beta
👉 Сделать все Compose Core API доступными на всех платформах
👉 Интеграция Accessibility API с iOS и Desktop
🔥 Мультиплатформенная навигационная библиотека
👉 Вывод Compose for Web в Альфа
👉 Команда активно изучает возможность Compose for Web для Wasm (Web Assemble)
Инструментарии
👉 Миграция IDE на K2 компилятор
👉 Fleet - это и будет KMP IDE, так чтобы писать и отлаживать весь код в ней
👉 Расширенная поддержка Compose Multiplatform в Fleet (live preview и отладка UI)
Прочее
👉 Экпорт кода из Kotlin в Swift, минуя Objective-C
👉 Ускорение компиляции Kotlin/Native
👉 Улучшение интеграции CocoaPods
👉 Поддержка SwiftPM
👉 Улучшения опыта разработки библиотеки и удобства их распространения
#kotlin #compose #kmp
Compose Multiplatform
🔥 Главный фокус - вывести Compose for iOS в Beta
👉 Сделать все Compose Core API доступными на всех платформах
👉 Интеграция Accessibility API с iOS и Desktop
🔥 Мультиплатформенная навигационная библиотека
👉 Вывод Compose for Web в Альфа
👉 Команда активно изучает возможность Compose for Web для Wasm (Web Assemble)
Инструментарии
👉 Миграция IDE на K2 компилятор
👉 Fleet - это и будет KMP IDE, так чтобы писать и отлаживать весь код в ней
👉 Расширенная поддержка Compose Multiplatform в Fleet (live preview и отладка UI)
Прочее
👉 Экпорт кода из Kotlin в Swift, минуя Objective-C
👉 Ускорение компиляции Kotlin/Native
👉 Улучшение интеграции CocoaPods
👉 Поддержка SwiftPM
👉 Улучшения опыта разработки библиотеки и удобства их распространения
#kotlin #compose #kmp
👍37
vkcompose - сборник утилит от VK для Compose. Самые интересные из них:
👉 Подборка Detekt правил
👉 Плагин для IDEA с подсветкой нестабильных классов, маркер для генерации значений тестовых тегов
👉 Плагин Kotlin компилятора с проверка качества Compose кода и генерации тестовых тегов, а также другими утилитами
#tooling #compose @compose_broadcast
👉 Подборка Detekt правил
👉 Плагин для IDEA с подсветкой нестабильных классов, маркер для генерации значений тестовых тегов
👉 Плагин Kotlin компилятора с проверка качества Compose кода и генерации тестовых тегов, а также другими утилитами
#tooling #compose @compose_broadcast
🔥46
Точнее это случится с релизом Kotlin 2.0. Это значит что вместе с релизом новой версии Kotlin сразу будет релизится Compose компилятор и не придется ждать обновлений из Jetpack.
androidx.compose.compiler:compiler
заменят на org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable
📦 Новый Compose Compiler Gradle плагин (раньше был частью Android Gradle Plugin) позволит быстро настроить фреймворк в вашем проекте. Пример миграции тут
Больше подробностей в обновленной документации
#compose #kotlin #k2
Больше про Compose в @compose_broadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥46👍10❤2
Так как Compose Compiler стал частью Kotlin, то встречайте версию 2.0.20
👩💻 Исправили баг с лишними рекомпозициями, который появился в версии 2.0.0
👩💻 Strong skipping режим теперь включен по умолчанию. Что это такое читайте тут
👩💻 Теперь включать выключать разные фичи Compose Compiler можно будет через Gradle DSL с помощью нормального API, а не текстовых флагов
👩💻 абстрактные Composable функции теперь поддерживают значения параметров по умолчанию
👩💻 Экспериментальная оптимизация "Non-skipping group" - отключает генерацию группы вокруг тела Composable
#kotlin #compose
#kotlin #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29
👉 Несколько файлов конфигурации стабильных типов
👉 Приостанавливаемая композиция.Экспериментальная функция.
👉 Изменение поведения open, abstract и overriden Composable функций. Они больше не будут restartable. Теперь всегда будут приводить к рекомпозиции родителя.
👉 Ускорение компиляции
#kotlin #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤3
Вышла новая версия 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
#kotlin #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26
Обзор фреймворка 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.me/ultron_framework
🔗 Каналы "Android Broadcast"…
🔗 Код из видео https://github.com/open-tool/ultron/tree/demo
🔗 Ultron GitHub https://github.com/open-tool/ultron
🔗 Ultron Telegram группа https://t.me/ultron_framework
🔗 Каналы "Android Broadcast"…
👍16
This media is not supported in your browser
VIEW IN TELEGRAM
Приложения с 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
🔥33
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🔥4