Compose Broadcast
5.82K subscribers
342 photos
88 videos
558 links
Все о Jetpack Compose и Compose Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Android - @android_broadcast
iOS - @ios_broadcast
Kotlin - @kotlin_broadcast
Download Telegram
Решения бага компиляции при подключении библиотеки 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
This media is not supported in your browser
VIEW IN TELEGRAM
Compose Action Menu - мультиплатформенная библиотека для реализации меню в Compose MP

#android #ios #jvm @compose_broadcast
🔥12👍3
Если вам надо рисовать UI под системными панелями, когда используете Compose - статья (6 мин, EN, ссылка без VPN) в помощь и исходники на GitHub

#android @compose_broadcast
🔥14
CompositionLocal - это способ передачи данных которые могут использоваться во всех вложенных Composable функций. Самый просто пример - это MaterialTheme.

В статье (6 мин, EN, ссылка без VPN) вы можете получше разобраться в вопросе (ну уровне применения) либо читайте официальную документацию

#compose @compose_broadcast
🔥21👍3
Forwarded from Mobile Developer (Алексей Гладков)
Compose Multiplatform 1.6.0 beta released

https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.6.0-beta01

👉 Экспериментальная поддержка compose resources
🔥 Поддержка установленных шрифтов для десктопа и веба
👉 Wasm таргет в мавен централ
👉 Экспериментальная поддержка нативных попапов/диалогов за пределами основного окна
👉 Kotlin 1.9.22

Бегом тестить 😁
🔥24👍1