Compose Broadcast – Telegram
Compose Broadcast
5.81K subscribers
340 photos
88 videos
556 links
Все о Jetpack Compose и Compose Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Android - @android_broadcast
iOS - @ios_broadcast
Kotlin - @kotlin_broadcast
Download Telegram
Интересная статья (EN, 14 мин, ссылка без VPN) с разбором возможностей анимаций в Jetpack Compose:
👉 Перемещения персонажа по экрану
👉 Синхронизация анимаций нескольких элементов
👉 Интерактивный скролл таймлайна
👉 Анимации на основе реальной физки
👉 Анимации на основе жестов
👉 Анимации на основе изменения состояния
👉 Трансформация фигур
👉 Снегопад

#animation @compose_broadcast
🔥47👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Статья (6 мин, EN, ссылка без VPN) как сделать такую анимацию в Jetpack Compose

#animation @compose_broadcast
👍16
This media is not supported in your browser
VIEW IN TELEGRAM
Автор крутого доклада про компиляторные плагины для Compose с предыдущего Mobius опубликовал исходники плагинов на GitHub.

Там очень много всего интересного и полезного:
👉 Анализ стабильности параметров Composable функции
👉 Подсветка рекомпозиций в UI
👉 Автоматическая генерация и удаление testTag
👉 Логирование причин рекомпозиции и другое

Эти плагины наконец-то решают извечную проблему анализа лишних рекомпозиций и оптимизаций вашего кода в Compose, теперь делать высокопроизводительные приложения стало гораздо проще!

#compose #plugins
27🔥17👍5
Вы могли заметить, что в канале появился новый автор - Алексей Панов, который будет вести @compose_broadcast вместе с Кириллом, а также участвовать в дискуссиях в комментариях

Алексей Панов — техлид инфраструктурной команды в Контуре, действующий Mobile Broadcast Expert по Android и Kotlin. У Алексея очень богатый опыт работы с Compose, он использует его в продакшене с 2021 года и за это время успел сделать немало материалов по теме. Небольшая часть его вклада:
📺 Собеседование по Jetpack Compose
📺 Проблемы навигации в Compose
📺 Нюансы перехода на Compose
📺 Compose Puzzlers
34👍24🎉8🔥5
Решения бага компиляции при подключении библиотеки Jetpack Emoji 2 с версий Compose 1.5, когда не хотите поднимать compileSdk до 34+
🔥6
В Jetpack Compose 1.5.5. появилась возможность в виде конфигурационого файла передать Compose Compiler типы, которые считать Stable для оптимизации работы Compose UI. В статье (6 мин, EN, ссылка без VPN) разбирается эта фича и ее влияние, а также как получить отчеты

#performance
🔥11
This media is not supported in your browser
VIEW IN TELEGRAM
Глассморфизм, или, как его еще называют, эффект стекла становится все популярнее в дизайне современных приложений.

В статье (EN, 6 мин) вы узнаете как реализовать BottomNavigation в таком стиле с помощью библиотеки Haze от Chris Banes и докрутить туда еще несколько классных эффектов

#animation @compose_broadcast
👍44🔥143
Вышел Compose Compiler 1.5.7 и с исправлениями багов в работе + улучшения в работе кэша за счёт отказа от использования абсолютных путей

#compiler
🔥29👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Фанаты Flutter довольно часто упрекают Compose за отсутствие возможности анимировать общий элемент при переходе с одного экрана на другой.

И действительно, во Flutter такая штука делается очень легко, с помощью всего лишь одного виджета Hero, а в Compose такой возможности еще нет из коробки, но есть в планах и официальном роадмапе.

Однако мы можем воспользоваться сторонней библиотекой Orbital, чтобы реализовать тот самый Shared Element Transition. Выглядит это довольно не плохо и при этом поддерживаются все доступные для Compose Multiplatform таргеты.

#animation @compose_broadcast
🔥38👍104👌1
Внимательные читатели заметили, что либа для реализации Shared Element Transition не делает никакой магии, а использует вполне себе стандартный compose api, а именно:

😀MovableContentOf - для изменения положения элементов без рекомпозиции с сохранением состояния функции

😀LookaheadLayout - для предварительного вычисления нового размера и положения дочерних узлов, чтобы в дальнейшем можно было анимировать эти изменения от начального до конечного состояния

Подробнее про устройство LookaheadLayout читайте в статье (EN, 10 мин), там вы узнаете:
😀 Где этот layout используется
😀 В чем отличие от SubcomposeLayout и Intrinsics measurements
😀 Какие методы предоставляет
😀 Как работает под капотом

P.S. LookaheadLayout уже deprecated, на замену ему пришел LookaheadScope

#under_the_hood @compose_broadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍91👏1
Rebugger - библиотека для отслеживания причин рекомпозиции и вывод их в Logcat

#tooling #android @compose_broadcast
35👍12🔥8
Продолжения разбора обработки жестов в Jetpack Compose. В новой части (EN, 7 мин, ссылка без VPN) рассматривается мультитач

@compose_broadcast
👍14
Forwarded from Android Broadcast (Кирилл Broadcast)
Прошел еще один год. В нем были и новые вызовы и появление возможностей. Желаю вам добиться новых высот в 2024🔔, добраться до своих целей и превзойти их.

Самое важное - оставайтесь человеком, уважайте других и берегите друзей и тех кто заботиться о вас! Всего самого наилучшего в будущем году 🎉

Автор и создатель @android_broadcast - Кирилл Розов
Please open Telegram to view this post
VIEW IN TELEGRAM
29🎉19
ComposeRecyclerView - библиотека для использования RecyclerView в Jetpack Compose через удобное DSL

#android
👍23🔥5👌31
This media is not supported in your browser
VIEW IN TELEGRAM
На сайте Android Developers в документации по Compose API появилось отображение поддерживаемой платформы для каждого API

@compose_broadcast
🔥23👍3
Forwarded from Android Broadcast (Кирилл Розов)
Всем кто хочет Lottie в мультиплатформе Kotlin - обратите внимание на Kottie - библиотека для Compose Multiplatform с поддержкой Android, iOS, Desktop и Web
🔥34
Compose Drag And Drop - библиотека для простой реализации Drag & Drop в Compose
👍25
Вышел Compose Compiler 1.5.8 с поддержкой Kotlin 1.9.22 и исправлением багов

@compose_broadcast
👏26🔥4
В новой версии androidx.lifecycle появился LifecycleEventEffect для Compose, который позволяет отслеживать события жизненного цикла. До этого приходилось самостоятельно создавать LifecycleEventObserver и использовать DisposableEffect, чтобы корректно удалить наблюдателя.

Помимо общего эффекта, также появились более специфичные эффекты LifecycleStartEffect и LifecycleResumeEffect для отслеживания событий onStart и onResume соответственно.

⚠️ Обратите внимание, что отследить событие onDestroy не получится, потому что Compose не будет рекомпозироваться после события onStop!
🔥85👍7
​​Google удалила базовый курс по Kotlin, вместо него доступен только курс по Compose

Компания удалила со своего сайта курс Android Basics with Kotlin и оставила только Android Basics with Compose: https://developer.android.com/courses/android-basics-compose/course

Google как бы намекает, что если вы изучаете разработку на Android или начинаете новое приложение, то вы должны выбирать Compose. Это не значит, что прямо сейчас что-то перестанет работать. Но Google явно делают упор именно на Compose в будущем.

Естественно, не все тепло восприняли такие действия. На Reddit, например, идет активное обсуждение. Там есть как обоснованные за, так и против. Интересно почитать: https://reddit.com/r/androiddev/comments/194r5xm/google_just_removed_their_android_basics_with/

#android #google
👍28