Mobile Compose
2.9K subscribers
114 photos
3 videos
295 links
Твой главный путеводитель в мир Jetpack Compose и Compose Multiplatform.

Android XR: @android_xr
Личный блог: @grigorievdy_blog

Автор: @grigorievdy

Поддержать канал: https://t.me/mobile_compose?boost
Download Telegram
#Article #Blog #UI

Drawing custom text spans in Compose UI

Автор статьи, ориентируясь на разнообразные подчеркивания текста в приложении BuzzKill, решил вручную реализовать их в Jetpack Compose. Результат - небольшая готовая библиотека ExtendedSpans. Об этапах реализации, а также достигнутых результатах — в сегодняшней статье.
👍5🔥2
#Article #Blog

movableContentOf and movableContentWithReceiverOf

Не так давно Jorge Castillo (автор книги Jetpack Compose Internals) создал блог “Effective Android”, в котором он публикует различные полезные материалы по Android разработке (естественно большая часть посвящена Compose).
В одной из таких статей разбираются функции movableContentOf и movableContentWithReceiverOf, которые позволяют нам сохранять состояние UI-контента и передавать его в последующие вызовы.

▫️P.S. В одном из предыдущих постов мы уже частично разбирали movableContentOf , может помочь для лучшего понимания
▫️P.S.S. В своем недавнем докладе я также уделял внимание этому механизму (ссылка с таймкодом)
👍4🔥2
#Article #Blog #Animation

Velocity Based Animation with Compose

Неплохая статья, в которой разбирается такая техника, как Velocity Based Animation (проще говоря “Анимация, основанная на скорости”), которая позоляет отслеживать скорость прокрутки списка и при помощи этого кастомизировать длительность применяемой анимации.
👍51
​​#Article #Blog #Performance

6 Jetpack Compose Guidelines to Optimize Your App Performance

Статья с большим количеством советов (разбитых на 6 правил) о том, как можно значительно улучшить производительность вашего приложения на Compose. Авторы затрагивают такие темы как стабильность классов (о которой был предыдущий пост), правильный вынос state-ов (State hoisting), и много чего ещё. Рекомендую к прочтению.
👍5🔥1
#Article #Blog #Compose

Custom Layouts, measuring policies, and BoxWithConstraints in Jetpack Compose

Небольшая статья о том, как происходит определение размеров дочерних элементов при создании своего Layout-а в Compose, при чём тут MeasurePolicy, а также чем так необычен BoxWithConstraints. Обо всем этом — в сегодняшнем материале.
4👍3🔥1
#Article #Blog #Compose

Measuring and drawing in Jetpack Compose

В дополнение к предыдущей статье об определении размеров дочерних элементов, в сегодняшнем материале автор разбирает как устроены измерение и отрисовка самого Composable компонента.
1👍1
#Article #Blog #Compose

Jetpack Compose Accompanist TwoPane

Интересная статья от разработчиков Microsoft, в которой они разбирают TwoPane — UI компонент из библиотеки Accompanist, предназначенный для разработки адаптивных интерфейсов под foldable устройства.
🔥31👍1
#WearOS #Release #Compose #Blog

Compose for Wear OS 1.1 is now stable: check out new features!

Команда разработчиков Google представили новую стабильную версию Compose for Wear OS — 1.1.0.

Среди изменений:
▫️Новые версии компонентов Chip и Button с обводкой
▫️Возможность модификации формы Chip и Button
▫️Новый экспериментальный Placeholder API
▫️Дополнительные параметры в CurvedTextStyle, а также ещё много улучшений UX и accessibility.
👍71
#Article #Blog #OpenSource

Maps Compose Library Tutorial for Android: Getting Started

В феврале 2022 года Google выпустила библиотеку Maps Compose (набор composable функций с открытым исходным кодом для упрощения интеграции с Google Maps, а также различных типов данных, связанных с Maps SDK). О том, как работать с этой библиотекой на примере приложения GeoMarker — в сегодняшней статье.
👍111🔥1
#Blog #Compose

The Composable node tree

Новая статья из блога Effective Android от Jorge Castillo. На этот раз автор разбирает как создается и хранится в памяти дерево Node-ов в Compose.
4🔥3👍1
​​#Article #Blog #Compose

Google’s account switcher with Jetpack Compose

Пример реализации фичи переключения Google аккаунта (как в Gmail) в приложении при помощи Compose.
Кому интересно, код на GitHub можно глянуть тут.
👍53🔥2❤‍🔥1
🗺​​ Навигация по каналу 🗺

Статьи:
▫️#Article — все статьи о Compose
▫️#Medium — статьи на Medium
▫️#Habr — статьи на Habr
▫️#Blog — статьи на сторонних сайтах (обычно это персональные блоги)

Видео:
▫️#Video — все видеодоклады о Compose
▫️#GoogleIO — видеодоклады с презентаций GoogleIO

Релизы:
▫️#Release — релизы Compose на разных платформах
▫️#Changelog — традиционный дайджест по изменениям новых релизов библиотек

Разделение по темам:
▫️#Navigation — материалы о навигации в Compose
▫️#Canvas — материалы о работе с канвасом в Compose
▫️#Animation — материалы о работе с анимациями в Compose
▫️#Performance — материалы о производительности в Compose
▫️#Recomposition — материалы о рекомпозиции в Compose
▫️#UI — материалы, посвященные различным кейсам работы с UI
▫️#Multiplatform — материалы о Compose Multiplatform
▫️#WearOS — материалы о работе с WearOS в Compose

▫️#Libs — сторонние Compose-библиотеки
▫️#Предложка — материалы, предложенные подписчиками канала

▫️#News — новости канала
▫️#Offtop — ну тут понятно 🙃
🔥10👍4❤‍🔥1🍾1
​​#Article #Blog #Compose

Parallax effect in Jetpack Compose

Статья от Криса Бэйнса о том, как реализовать эффект параллакса в своем приложении.

🗣 Выглядит неплохо, правда пока "эффект параллакса" кажется больше каким-то buzzword-ом, нежели полезным UI-приёмом.
🔥8👍4❤‍🔥1
#Docs #Blog #Modifier

Create custom modifiers

Ребята из Google выкатили новую документацию о том, как писать новые, а также мигрировать уже существующие кастомные модификаторы при помощи нового API Modifier.Node.
👍13❤‍🔥2🔥1
#Article #Blog #Multiplatform

SwiftUI for Jetpack Compose developers - State (I)

Великий и ужасный Крис Бэйнс анонсировал серию статей, призванных помочь Compose-разработчикам познакомиться ближе с SwiftUI, а SwiftUI-разработчикам — с Jetpack Compose.
В первой статье разбирается работа с состоянием (state) в обоих фреймворках.
🔥19👍6❤‍🔥11🎉1
#Article #Blog #UI #Compose

🎨 Creating a responsive dashboard layout for JetLagged with Jetpack Compose

После небольшого перерыва возвращается активность на канале. И сегодня у нас небольшая статья от ребят из Google с советами по реализации адаптивного UI на примере приложения JetLagged.

📖 Читать статью 👈

📱 Mobile Compose 📱 Чат канала
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94❤‍🔥21
This media is not supported in your browser
VIEW IN TELEGRAM
#Article #Blog #UI #Compose

🎨 Centering in Compose

Супер полезная статья от Zach Klippenstein о центрировании (centering) в Compose. Помогает улучшить понимание layout-системы в Compose, а также ускорить разработку (перестав тратить время на перебор разных модификаторов в поиске нужного).

📱 А поиграться со всем этим на Github можно тут.

📖 Читать статью 👈

📱 Mobile Compose 📱 Чат канала
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥32❤‍🔥1
#Article #Blog #UI #Compose

🎨 Compose Tips for Delightful UI — ’24 wrap up

Начинаем год с полезной ретроспективы. Ребята из Google решили еще раз вспомнить все эпизоды "Compose Tips for Delightful UI" — серии видео с советами по Compose, которые выходили у них на канале с лета 2024.
В 2025 обещают второй сезон.

😇 Читать статью

📺 Плейлист на Youtube

🎨 Mobile Compose 💬 Чат канала
♾️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥5🎉4❤‍🔥1
#Article #Blog #UI #Performance #Compose

🎨 Designing Effective UI Components in Jetpack Compose

Автор статьи разбирает стратегии создания эффективных UI-компонентов в Jetpack Compose, уделяя особое внимание работе с модификаторами, Preview и кастомизации через поддержку разных тем.

📖 Читать статью

🎨 Mobile Compose 💬 Чат канала
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥2❤‍🔥1
#Blog #Quiz #Compose

🎨 В чём разница между Immutable и Stable в Jetpack Compose?

▫️ Immutable следует использовать для по-настоящему неизменяемых классов, то есть таких, чьи данные не могут измениться.

▫️ Stable означает, что обновления в классе не произойдут без уведомления наблюдателей. Например, класс, агрегирующий State, считается стабильным, потому что все наблюдатели State будут перерассчитаны при его изменении.
Stable — это концепция, специфичная для Compose.
Если аргумент composable-функции стабильный, то не нужно проверять его содержимое для определения необходимости рекомпозиции — достаточно проверить ссылку.

Обычно Compose сам может определить стабильность класса, и аннотации не требуются. Однако, при необходимости, их можно использовать для явного указания флага стабильности типа.

❗️На данный момент Compose обрабатывает Immutable и Stable одинаковым образом!

🌐 Источник 👈

🎨 Mobile Compose 💬 Чат канала
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍9❤‍🔥1🔥1