Mobile Compose
الذهاب إلى القناة على Telegram
Твой главный путеводитель в мир Jetpack Compose и Compose Multiplatform. Android XR: @android_xr Личный блог: @grigorievdy_blog Автор: @grigorievdy Поддержать канал: https://t.me/mobile_compose?boost
إظهار المزيد2 942
المشتركون
لا توجد بيانات24 ساعات
-17 أيام
-930 أيام
أرشيف المشاركات
2 942
#Article #Blog #Google
Independent versioning of Jetpack Compose libraries 🔥
Начиная с последнего релиза Jetpack Compose (29 июня) команда разработки фреймворка переходит к схеме независимого версионирования, благодаря чему каждая библиотека теперь будет развиваться отдельно и иметь свой собственный релизный цикл.
К примеру:
▫️Compose Compiler ➡️ получила обновление до версии 1.2.0 (stable) с поддержкой Kotlin 1.7.0
▫️Compose Animation/Foundation/Material/Runtime/UI ➡️ получили сразу по два обновления — 1.2.0-rc03 и 1.3.0-alpha01
P.S. Также совсем скоро на канале выйдет дайджест в обновленном формате, в котором рассмотрим, какие изменения принесли вышедшие релизы.
2 942
#Article #Medium
Avoid Race Conditions in StateFlow
В настоящее время, когда Compose набирает обороты, одним из наиболее популярных решений при выборе архитектурного подхода является MVI + StateFlow. В статье автор рассказывает о том, как при таком решении можно получить Race condition, а также что нужно делать, чтобы это избежать.
2 942
#Release #RC #Changelog
Релизы Jetpack Compose 1.2.0-rc01 – 1.2.0-rc02
Очередной дайджест по основным изменениям двух последних RC релизов фреймворка, среди которых:
▫️Easing-функции, добавленные недавно, теперь не экспериментальные. (Подробнее)
▫️Представлен экспериментальный OverscrollEffect, позволяющий создавать собственные эффекты прокрутки.
▫️Новые функции (withKeysDown, withKeysToggled и др.) добавлены в KeyInjectionScope для инжекта нажатий клавиш в тот момент, когда другие клавиши уже удерживаются нажатыми. (Подробнее)
▫️Функция runComposeUiTestWithoutActivity переименована в runEmptyComposeUiTest. (Подробнее)
▫️Добавлено новое API checkScrollableContainerConstraints, позволяющее ограничивать использование вложенных scrollable-контейнеров. Может пригодиться при работе с LazyLayout. (Подробнее)
Новое обновление коснулось и различных дополнений, а именно:
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версии 1.0.0-rc02
2 942
#Article #Medium
Easing in to Easing Curves in Jetpack Compose
В прошлом дайджесте я писал про новый набор Easing-функций для работы с анимациями, который добавили в одном из последних бета-релизов, а уже спустя несколько дней, от ребят из Google появилась подробная статья с примерами о том, как правильно их использовать.
2 942
#Release #Stable #Changelog
Релизы Jetpack Compose 1.2.0-beta01 – 1.2.0-beta03
Очередной дайджест по основным изменениям последних релизов фреймворка, среди которых:
▫️Добавлен набор Easing-функций (таких как EaseIn, EaseInQuart, EaseInSine и др.) для работы с анимациями. (Подробнее)
▫️Добавлены экспериментальные функции IntervalList и MutableIntervalList для представления списка при помощи различных интервалов (наподобие того, как это реализовано в LazyColumn с различными вызовами item/items). (Подробнее)
▫️LineHeightBehavior, LineVerticalAlignment и LineHeightTrim переименованы в LineHeightStyle, LineHeightStyle.Alignment и LineHeightStyle.Trim соответственно.
▫️В TextStyle и SpanStyle добавлен аттрибут Brush, что позволяет использовать градиент при отрисовке текста. (Подробнее)
▫️Добавлен новый экспериментальный LazyLayout API, которое позволит создавать свои собственные компоненты, такие как LazyColumn из LazyVerticalGrid. (Подробнее)
▫️Исправлена ошибка неправильной отрисовки BottomSheetScaffold. (Подробнее)
▫️Представлен новый экспериментальный кроссплатформенный API для написания тестов — ComposeUiTest.🔥
Новое обновление коснулось и различных дополнений, а именно:
▫️ConstraintLayout-compose обновлен до версии 1.0.1
▫️Paging-Compose обновлен до версии 1.0.0-alpha15
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версии 1.0.0-beta03
▫️Compose Material 3 (Material You) обновлен до версии 1.0.0-alpha13
2 942
#Article #Medium
Jetpack Compose under the hood: Touch Events
Интересная статья, в которой автор разбирает как работает обработка Touch-событий в Compose, а также сравнивает эту схему с существующей в Android Views фреймворке.
💡P.S. Изначально статья была написана в сентябре 2021 года для Compose 1.0.0, поэтому какая-то информация могла измениться
2 942
#реклама #conf
Бесплатный Community Day на Mobius 2022 Spring!
Друзья, отличные новости для тех, кто следит за конференцией, но не смог поучаствовать в ней в этот раз. Команда организаторов и Программный комитет Mobius решили поделиться частью контента и сделать доступ к третьему дню конференции (27 мая) свободным.
В билет бесплатного дня входят:
▫️ 6 докладов, в том числе и мой доклад про Compose.
▫️ Дискуссии после каждого доклада.
▫️ Возможность поучаствовать в играх, квизах, конкурсах и других активностях от партнеров конференции, где можно не только круто провести время, но и получить ценные призы.
▫️ Чаты, где сидят сотни ваших коллег со всего мира.
Для участия в Community Day нужно только зарегистрироваться — для этого переходите по ссылке.
2 942
#Video #Youtube #GoogleIO
Performance best practices for Jetpack Compose
Доклад с прошедшего Google I/O 2022, в котором спикеры рассказывают о лучших практиках Jetpack Compose в отношении производительности, а также о связанных с этим распространённых ошибках и способах их избежать.
2 942
#реклама #conf
На грядущей конференции Mobius 2022 Spring будут представлены целых 3 доклада про Compose, на которых будут освещены такие темы как:
▫️«Positional memoization, или Как работает одна из главных концепций Jetpack Compose»
▫️«Анимации в Compose»
▫️«Декларативный UI. Flutter vs SwiftUI vs Jetpack Compose»
Конференция пройдет 25–27 мая на 80% в онлайне, а 22 июня в Санкт-Петербурге будет offline-день, на котором соберутся все, кто соскучился по живым выступлениям, дискуссионным зонам и тусовкам.
Найти полную программу и купить билеты можно на сайте. А по этому промокоду вы получите скидку на персональный билет:
mobilecompose2022JRGpc2 942
#Article #Blog
Productivity hack to save tens of engineering hours when working with Jetpack Compose
Любопытная статья с кликбейтным заголовком от Vinay Gaba о том, как микрооптимизация автодополнения кода вашего проекта на Compose поможет сэкономить десятки (по мнению автора) часов работы в год.
2 942
#Release #Stable #Changelog
Релизы Jetpack Compose 1.2.0-alpha07 – 1.2.0-alpha08
Очередной дайджест по основным изменениям последних минорных релизов фреймворка, среди которых:
▫️AnimatedImageVector теперь поддерживает параметры repeatCount и repeatMode. (Подробнее)
▫️Добавлен новый PinnableParent API для работы с элементами Lazy списков. (Подробнее)
▫️Добавлен KeyboardType.Decimal в качестве альтернативы Keyboard.Number. (Подробнее)
▫️В Composer добавлено поле recomposeScopeIdentity, что позволило убрать аннотацию
@OptIn(InternalComposeApi::class) из класса RecompositionHandler. (Подробнее)
Новое обновление коснулось и различных дополнений, а именно:
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версии 1.0.0-alpha20
▫️Compose Material 3 (Material You) обновлен до версии 1.0.0-alpha092 942
#реклама
Mobius — конференция по мобильной разработке от JUG Ru Group, в формате online+offline 🔥
▫️Online-часть: 25–27 мая.
▫️Offline-день: 22 июня.
Вас ждут выступления, посвященные трендам и новым технологиям, обмен опытом и общение с коллегами в чатах. А на offline-дне можно вживую пообщаться со спикерами, лично познакомиться с единомышленниками и потусоваться у партнерских стендов.
Также на конференции будут выступления, посвященные Compose. С одним из таких докладов буду выступать я сам, в рамках которого расскажу о том, как устроена одна из ключевых концепций тулкита — позиционная мемоизация.
А при использовании промокода
mobilecompose2022JRGpc вы сможете приобрести персональный билет со скидкой.
Билеты и подробности на сайте.2 942
#Article #Blog
Jetpack Compose Effect Handlers
Статья от Jorge Castillo (автора книги Jetpack Compose Internals), в которой он рассказывает о том, что такое сайд-эффекты в Compose, каких типов они бывают, а также как их “подружить” с Third-party библиотеками.
2 942
#Article #Blog #Performance
How can I debug recompositions in Jetpack Compose?
Отличная статья от Vinay Gaba про различные возможности отладки рекомпозиций в Jetpack Compose для получения различной полезной информации о производительности ваших Composable-функций. Помимо прочего, в материале приводятся примеры решений от команды Google Play (которая в числе первых начала использовать тулкит в своем продукте), а также используются метрики, из предыдущего поста.
2 942
#Article #Blog
Composable metrics
По мере того, как инженеры продвигаются в изучении Jetpack Compose, большинство из них в конечном итоге обнаруживают, что не хватает одной важной детали — возможности измерить производительность ваших Composables. С выходом Jetpack Compose 1.2.0 в компилятор Compose был добавлен новый функционал, позволяющий выводить во время сборки различные метрики, связанные с производительностью, и определять потенциальные проблемные места в коде. О том, как это работает, в новой статье от Криса Бэйнса.
2 942
#Article #Medium
Android — How to Drag And Drop Views in Jetpack Compose
Неплохая статья, в которой автор рассказывает как реализовать Drag And Drop в вашем приложении на Compose на примере книги заказов еды 🍕.
2 942
#Release #Stable #Changelog
Релизы Jetpack Compose 1.1.1 – 1.2.0-alpha06
Очередной дайджест по основным изменениям последних релизов фреймворка, среди которых:
🔸Версия 1.1.1 (Stable)
▫️Исправлена проблема с RTL в LazyVerticalGrid. (Подробнее)
▫️Исправлен crash приложения при чтении данных из буфера обмена. (Подробнее)
▫️Исправлен выброс NPE при вызове RenderNodeLayer.updateDisplayList. (Подробнее)
🔸Версии 1.2.0-alpha04 – 1.2.0-alpha06 (Alpha)
▫️Добавлен интерфейс MotionDurationScale для работы с анимациями. (Подробнее)
▫️Добавлена поддержка зеркалирования контента VectorPainter при работе с RTL . (Подробнее)
▫️Появилась возможность асинхронной загрузки шрифтов для Text-функций. (Подробнее)
▫️Добавлена функция LazyHorizontalGrid. (Подробнее)
▫️Добавлена поддержка FilterChip. (Подробнее)
▫️ComposeContentTestRule.setContent теперь будет выбрасывать IllegalStateException в случае, если content уже существует. (Подробнее)
Новое обновление коснулось и различных дополнений, а именно:
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версии 1.0.0-alpha19
▫️Compose Material 3 (Material You) обновлен до версии 1.0.0-alpha08
2 942
#Article #Medium
Exploring MovableContentOf in Jetpack Compose
В статье разбирается недавно представленная в Compose (в версии 1.2.0-alpha03) функция movableContentOf, которая позволяет проходить по UI-контенту без необходимости его рекомпозиции. Как утверждает автор, такой подход позволяет сэкономить время и повысить производительность приложения.
2 942
#Video #Youtube #Animation
Анимации в Jetpack Compose - всё то же самое, только проще? / Лукьян Жуков (Ситимобил)
Ещё один доклад с прошедшей Podlodka Android Crew, в котором автор рассматривает возможности анимаций в Jetpack Compose, а также разбирает какие существуют механизмы их создания.
P.S. Спустя некоторое время канал возвращается в строй, и теперь контента будет больше😉
2 942
#Video #Youtube #Wear
Compose for Widgets & Wearables / Андрей Берюхов (Авито)
Доклад от Андрея Берюхова с недавне прошедшей Podlodka Android Crew, в котором он рассказывает о нестандартных способах применения Compose, в том числе таких, как разработка под часы и виджеты (Jetpack Glance).
