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

YouTubе канал: https://youtube.com/androidBroadcast
Android - @android_broadcast
iOS - @ios_broadcast
Kotlin - @kotlin_broadcast
Download Telegram
⚙️ Новые аннотации в Compose для повышения качества написания Compose

В Compose 1.9 появились новые аннотации на основе которых будут работать Android Lint проверки:

✔️ @RememberInComposition - помечает конструктор или функцию, что внутри composition их нельзя вызывать напрямую — только через remember.

📝 Когда использовать:
- Если API возвращает состояние или изменяемый объект, который нужно переиспользовать между composition.
- Если возвращается объект, чья идентичность важна (например, ключ для другой API).
- Если создание объекта дорого по ресурсам и нужно кешировать.


✔️ @FrequentlyChangingValue предупреждает, что получение значения (функции или геттера) может вызвать много перерисовок из-за частого обновления значения (например, при использовании положения скролла или анимаций).

📝 Как избежать лишних перерисовок:
- Используйте derivedStateOf — фильтруйте изменения состояния, реагируя только на нужные.
- Используйте snapshotFlow + LaunchedEffect — работайте с изменениями без рекомпозиции.
- В UI-компонентах читайте значение на стадии measure / layout / draw, чтобы вызывать только инвалидацию нужной фазы, а не всю рекомпозицию.
- Делайте анализ работы вашего кода, например через Layout Inspector


Всем рекомендую озаботится аннотированием общего API Compose кода ваших проектов и регулярно запускать Android Lint, чтобы предотвратить ошибки, негативно влияющие на скорость работы UI

#compose #ui #производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍356
⚙️ 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
👍36🔥9
🚀 Jetpack Navigation3 Multiplatform уже на подходе. Залили сборку в Core Multiplatform библиотеки. Артефакта нигде не нашел, так что ждем публикации

Jetpack Navigation3 - это новая библиотека Google для навигации, построенная специально для Compose, построенная вокруг состояния стека


Подробности в issue, а исходники на 🐱 GitHub

#compose #multiplatform
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42🤔2
🔥 Jetpack Navigation 3 теперь мультиплатформенная!

В релизе 1.0.0-alpha08 добавили поддержку множества новых KMP-таргетов для runtime-артефакта. Теперь библиотека работает на:
👉 JVM → Android и Desktop
👉 Native → Linux, iOS, watchOS, macOS, MinGW
👉 Web → JavaScript и WasmJS

Для UI-артефакта (где лежат Composable-функции) пока поддержка осталась только у Jetpack Compose.
Ждём появления отдельного артефакта для ⚙️ Compose Multiplatform от JetBrains

#compose #kmp #navigation
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥44👍8🤔41