Telegram Web Link
#Article #Blog #Multiplatform

SwiftUI for Jetpack Compose developers - State (I)

Великий и ужасный Крис Бэйнс анонсировал серию статей, призванных помочь Compose-разработчикам познакомиться ближе с SwiftUI, а SwiftUI-разработчикам — с Jetpack Compose.
В первой статье разбирается работа с состоянием (state) в обоих фреймворках.
Как-то не заметил, а нас уже больше 2000! 🚀
Спасибо всем! Двигаемся дальше 💪
————————————
Новый выпуск Compose Pathway уже в монтаже, так что на днях должен выйти.
#Release #Compose #Changelog

📣 🆕 Релиз Compose библиотек 1.6.0-beta01 — 1.6.0-beta03

Из основных изменений:

▫️PlatformImeOptions теперь не интерфейс, а класс. (Подробнее)
▫️Исправлен баг, который влиял на очень большой текст с бесконечными constraint-ми. (Подробнее)
▫️ExitTransition.Hold переименован в ExitTransition.KeepUntilTransitionsFinished (Подробнее)
▫️Исправлена проблема с лишними рекомпозициями при работе с LocalSoftwareKeyboardController и LocalTextInputService. (Подробнее)
▫️Исправлен бег, при котором вызов SoftwareKeyboardController.show() открывал клавиатуру без наличия поля ввода в фокусе. (Подробнее)
▫️SwipeToReveal API теперь основаны на slot based API, что является рекомендуемым решением в Compose. (Подробнее)

Подробнее о релизе:
🔸Animation
🔸Foundation
🔸Material
🔸Runtime
🔸UI
#Video #ComposePathway #Modifier

Compose Pathway #3 - Modifiers 🚀

Новогоднее настроение уже не за горами, а третий выпуск Compose Pathway уже прям тут!
В нём мы познакомимся с Modifiers, подробно разберем основные принципы их работы, а также напишем свой собственный кастомный модификатор.

Приятного просмотра!

👉 СМОТРЕТЬ ВЫПУСК

P.S. На всю работу ушло прилично времени и сил, однако, как мне кажется, это стоило того и результат получился неплохим.
Как всегда, жду от вас подписки и обратной связи, а так же буду признателен, если поделитесь им с другими.
© Григорьев Дмитрий
#Article #Medium #Text #Tooling

Preventing Font Scaling in Jetpack Compose

Статья с разбором того, как при помощи новой тулинг-функции (а если вы работаете с Compose версии ниже 1.6.0-alpha01, то самописной функции) в Compose можно эмулировать работу Composable функции с различными размерами шрифтов, без необходимости менять что-то в системных настройках.

@FontScalePreviews
@Composable
fun NonResizingTextPreview() {
ExperimentsTheme {
Box(modifier = Modifier.width(200.dp)) {
Text(text = "This is resizing text with font scale ${LocalDensity.current.fontScale}")
}
}
}


Зеркало статьи 👉 тут
#Article #Medium #State

How to handle single-event in Jetpack Compose

Статья с разбором нескольких подходов к работе с Single-event в Jetpack Compose.

Зеркало статьи 👉 тут
🎄Подводим итоги 2023 года🎄

📈 За этот год канал Mobile Compose добился вот такой статистики:

👤 +1037 подписчика (+68%)
👀 200k+ просмотров материалов
↪️ 2.3k репостов

Это был весьма насыщенный год, как для меня лично, так и для сообщества.

Мне удалось выступить сразу с двумя докладами на минувшем Mobius, а также реализовать давнюю идею запустить серию обучающих роликов по Compose — Compose Pathway.

Что касается канала, он прибавил во всех аспектах и продолжает развиваться дальше. Спасибо вам за поддержку! Двигаемся дальше 💪

Желаю вам карьерных успехов, удачи, мира, а также внутреннего и окружающего спокойствия.
С наступающим!🎁

© Григорьев Дмитрий

#Offtop
#Release #Compose #Changelog

📣 🆕 Релиз Compose библиотек 1.6.0-rc01

Из основных изменений:

▫️Оптимизирована реализация векторной графики путём снижения количества рекомпозиций.
▫️У DragAndDropTarget (который интерфейс) убрали фабричный метод. Теперь создаётся через object. (Подробнее)

Compose Material3 обновлен до версии 1.2.0-beta02, в которой в числе прочего:

▫️Исправлен end padding для ListItem. (Подробнее)
▫️Исправлен баг с обработкой жеста back у ModalBottomSheet на Android 13+. (Подробнее)
▫️Найден баг, при котором внутри IconButtonColors в параметр disabledContentColor по-умолчанию устанавливается некорректное значение. Лечится указанием явного значения для disabledContentColor. Обещают поправить в следующем релизе.

Также Compose Compiler обновлен до версии 1.5.8, в которой добавлена поддержка версии Kotlin 1.9.22.

Подробнее о релизе:
🔸Animation
🔸Foundation
🔸Material
🔸Runtime
🔸UI
🔸Material3
🔸Compiler
#Release #Compose #Changelog

📣 🆕 Долгожданный релиз Compose 1.6.0 🔥

Те, кто знаком с нашими регулярными дайджестами, наверняка уже в курсе основных изменений по сравнению с предыдущей мажорной версией (1.5.0). Однако для тех, кто пропустил — вот:

▫️1.6.0-alpha04
▫️1.6.0-alpha05
▫️1.6.0-alpha06
▫️1.6.0-beta01 — 1.6.0-beta03
▫️1.6.0-rc01
This media is not supported in your browser
VIEW IN TELEGRAM
#News #Release #Compose

С выходом в релиз версии 1.6.0 в Compose была добавлена поддержка нового Drag & Drop, работающего между приложениями в многооконном режиме. При этом, новое API полностью совместимо с View-системой.

Пример кода 👉 тут
#News #Release #Compose

Fragment Compose Artifact

В результате последнего обновления Jetpack библиотек, среди прочего, появился новый артефакт fragment-compose. Основной его задачей является поддержание проектов, которые находятся в процессе миграции с "Compose на фрагментах" на "full Compose" архитектуру.

На данный момент единственной его фичей является extension метод content, который избавляет от необходимости создавать ComposeView и выставлять нужный ViewCompositionStrategy.
#News #Multiplatform #Release #Compose

📣 🆕 Релиз Compose Multiplatform 1.6.0-beta02

Из основных изменений:

Common
▫️Добавлена поддержка декорирования текста через PlatformTextStyle. (Подробнее)

iOS
▫️Добавлена возможность регулировать прозрачность для Compose View. (Подробнее)
▫️Overscroll эффект теперь больше похож на нативный в iOS. (Подробнее)
▫️Исправления z-order в UIKitView. (Подробнее)
▫️Добавлена возможность выделения текста внутри Selection Container мультитапом. (Подробнее)

Desktop
▫️Шрифты Arial и Consolas добавлены в качестве запасных для избежания крашей на Linux-системах. (Подробнее)

Web
▫️Добавлена возможность использовать кастомные префиксы в StyleSheet. (Подробнее)

Подробнее о релизе 👉 тут
#Release #Compose #Changelog

📣 🆕 Релиз Compose библиотек 1.7.0-alpha01 — 1.7.0-alpha03

Из основных изменений:

▫️
Новый Modifier.animateContentSize с новым alignment параметром. (Подробнее)
▫️BasicTextField2 перемещен в пакет androidx.compose.foundation.text. (Подробнее)
▫️HorizontalPager, VerticalPager и PagerState теперь stable. (Подробнее)
▫️Исправлен баг Modifier.animateContentSize со сбросом состояния при использовании в LazyList. (Подробнее)
▫️Представлен Modifier.receiveContent, позволяющий работать с Rich-контентом внутри BasicTextField2. 🔥 (Подробнее)

Также Compose Compiler и Compose Material3 обновлены до версии 1.5.10 и 1.3.0-alpha01 соответственно.

Подробнее о релизе:
🔸Animation
🔸Foundation
🔸Material
🔸Runtime
🔸UI
🔸Material3
🔸Compiler
#Article #Medium #Recomposition

Jetpack Compose: Strong Skipping Mode Explained

Начиная с версии 1.5.4+ Compose компилятора, в Compose появился Strong skipping mode — новая экспериментальная фича, предназначенная для еще большей оптимизации количества рекомпозиций. Подробнее — в сегодняшней статье.

Зеркало статьи 👉 тут
#Article #Habr #UI #Compose

Ликбез по вложенной прокрутке в Jetpack Compose

Как понятно из названия, статья рассказывает о том, кто такой этот ваш nested scrolling, а также как реализовать систему вложенной прокрутки в Compose.
Всем привет! На канале давненько не было активности. Будем считать, что он был в отпуске.🌴
Однако теперь всё позади, и Mobile Compose возвращается в привычный ритм.💪
Спасибо всем за поддержку, и за то, что за этот месяц канал не только не потерял в аудитории, но и наоборот, приобрел новых членов сообщества.

За месяц произошло немало — 3 полноценных релиза библиотек, а также (!!!) появление нового и долгожданного Shared Element Transition API 🔥. Обо всем этом поговорив в ближайшее время.

▫️ Mobile Compose в Telegram
▫️ Наш чат в Telegram
▫️ Mobile Compose в LinkedIn

© Григорьев Дмитрий
This media is not supported in your browser
VIEW IN TELEGRAM
#Release #Animation #UI #News

Shared Element Transition в каждый дом 🔥

Начиная с версии 1.7.0-alpha07, в Compose появилась одна из самых долгожданных и востребованных функций — Shared Element Transition. Кто не в курсе — она позволяет сделать бесшовную анимацию перехода между двумя UI блоками (или экранами) при помощи одного общего UI-элемента.

Официальной документации пока не завезли, но больше примеров использования от Google можно найти тут👇
#Предложка #Libs #Compose

Compose Color Preview

Наверняка вы замечали, что при работе с Compose Multiplatform в IntelliJ IDEA нет привычных превью цветов в панели слева. Одним из решений этой проблемы является Compose Color Preview — плагин, автором которого является один из подписчиков канала. Однозначно лайк 👍
#Article #Habr #UI #Compose

Jetpack Compose для ленивых 🫠

Достаточно интересная статья, в которой автор разбирает несколько нестандартных кейсов при создании экрана, где Lazy-списки из Compose могут существенно сэкономить время и нервы разработчика.

🔗 Читать статью
#Release #Compose #Changelog

📣 🆕 Релиз Compose библиотек 1.7.0-alpha07 — 1.7.0-alpha08 [Часть 1]

🗣
За последний месяц вышло несколько значимых релизов, все изменения которых не получается даже уместить в один пост, поэтому их будет два. 🙃

Из основных изменений:

▫️Представлено долгожданное Shared Element Transition API. 🔥 (Подробнее)
▫️AnimatedVisibilityScope.transition и Modifier.animateEnterExit теперь stable. (Подробнее)
▫️Проделаны существенные изменения в анимации элементов — на смену деприкейтнутому модификатору Modifier.animateItemPlacement() пришел новый Modifier.animateItem() (подробнее разберем отдельно в одном из следующих постов). (Подробнее тут и тут)
▫️ClickableText помечен как deprecated. Теперь для текстовых ссылок используем LinkAnnotation в AnnotatedString. (Подробнее)
▫️LookaheadScope API теперь больше не экспериментальное, а теперь stable. (Подробнее)

Подробнее о релизе:
🔸Animation
🔸Foundation
🔸Material
🔸Runtime
🔸UI
🔸Material3
🔸Compiler
2025/07/07 01:28:03
Back to Top
HTML Embed Code: