TGViewer
Channel Public Channel
Mobile Compose

Mobile Compose

@mobile_compose

Твой главный путеводитель в мир Jetpack Compose и Compose Multiplatform.

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

Автор: @grigorievdy

Поддержать канал: https://t.me/mobile_compose?boost
Subscribers
2.95K
Photos
160
Videos
3
Links
341

Showing posts older than #150 · Back to latest

Older Posts 20 shown
Post #148 1.37K
#Article #Blog

movableContentOf and movableContentWithReceiverOf

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

▫️P.S. В одном из предыдущих постов мы уже частично разбирали movableContentOf , может помочь для лучшего понимания
▫️P.S.S. В своем недавнем докладе я также уделял внимание этому механизму (ссылка с таймкодом)
Effective Android movableContentOf and movableContentWithReceiverOf Tracking compositions in Jetpack Compose
  • 👍 4
  • 🔥 2
Post #147 1.35K
#Article #Blog #UI

Drawing custom text spans in Compose UI

Автор статьи, ориентируясь на разнообразные подчеркивания текста в приложении BuzzKill, решил вручную реализовать их в Jetpack Compose. Результат - небольшая готовая библиотека ExtendedSpans. Об этапах реализации, а также достигнутых результатах — в сегодняшней статье.
Saket Narayan Drawing custom text spans in Compose UI Exploring how squiggly underlines and rounded corners can be drawn without any official APIs for drawing custom spans.
  • 👍 5
  • 🔥 2
Post #146 1.53K
#Article #Medium

Introducing Jetpack Compose’s New Layout: “LookaheadLayout”

Вместе с появлением новой альфа версии Jetpack Compose (1.3.0-alpha01) API фреймворка пополнился новым и уже горячо обсуждаемым layout-ом — LookaheadLayout. Если кратко, это первый layout в Compose, способный отслеживать кадры используемой анимации, при помощи чего, к примеру, легко можно реализовать анимацию типа “Shared Element Transition”. Подробнее о том, как работает этот компонент — в сегодняшней статье.
  • 👍 6
  • ❤ 2
  • 🔥 2
  • 🤔 2
Post #145 1.43K
#Article #Medium

A better way to pass Data from Api to Composable

Автор статьи поднимает такую тему, как передача данных, полученных из API, в Composable функции, а также объясняет, почему это плохая практика, и предлагает свой подход к решению этого вопроса.
Medium A better way to pass Data from Api to Composable - Jetpack Compose Give an immunity booster does to our composables!
  • 👎 6
  • 👍 3
Post #144 1.27K
#Video #Youtube #JetpackCompose

Positional memoization, или Как работает одна из главных концепций Jetpack Compose

На YouTube канале Mobius начали публиковать первые записи докладов с прошедшей конференции, среди которых появился и мой, в котором я рассказываю о том, как устроена одна из ключевых концепций Jetpack Compose — позиционная мемоизация. Приятного просмотра!
YouTube Дмитрий Григорьев — Positional memoization. Как работает одна из главных концепций Jetpack Compose Подробнее о конференции Mobius: https://jrg.su/ojGU3B — — Дмитрий Григорьев – Android-разработчик, интересуется декларативной и кроссплатформенной разработкой. Пишет и рассказывает про Jetpack Compose в своем Telegram — https://t.me/mobile_compose, и на YouTube…
  • 👍 13
  • 🔥 6
  • 👎 1
Post #143 1.12K
#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. Также совсем скоро на канале выйдет дайджест в обновленном формате, в котором рассмотрим, какие изменения принесли вышедшие релизы.
Android Developers Blog Independent versioning of Jetpack Compose libraries Posted by Jolanda Verhoef , Android Developer Relations Engineer Starting today, the various Jetpack Compose libraries will mo...
  • 🔥 6
  • 👍 1
Post #142 1K
#Article #Medium

Avoid Race Conditions in StateFlow

В настоящее время, когда Compose набирает обороты, одним из наиболее популярных решений при выборе архитектурного подхода является MVI + StateFlow. В статье автор рассказывает о том, как при таком решении можно получить Race condition, а также что нужно делать, чтобы это избежать.
Medium Avoid Race Conditions in StateFlow Nowadays, when everyone is trying out the great Jetpack Compose, it is most likely that you will use the MVI architectural pattern and…
  • 👍 8
  • 👎 2
Post #141 1.08K
#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
Android Developers Recent Release Notes | Android Developers
  • 👍 5
  • 👎 1
Post #140 1.1K
#Article #Medium #Animation

Easing in to Easing Curves in Jetpack Compose

В прошлом дайджесте я писал про новый набор Easing-функций для работы с анимациями, который добавили в одном из последних бета-релизов, а уже спустя несколько дней, от ребят из Google появилась подробная статья с примерами о том, как правильно их использовать.
Medium Easing in to Easing Curves in Jetpack Compose 🎢 Learn how to create and use custom easing functions in Compose
  • 🔥 3
Post #139 1.26K
#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
Android Developers Recent Release Notes | Android Developers
  • 👍 7
  • 👎 1
Post #138 1.09K
#Article #Medium

Jetpack Compose under the hood: Touch Events

Интересная статья, в которой автор разбирает как работает обработка Touch-событий в Compose, а также сравнивает эту схему с существующей в Android Views фреймворке.

💡P.S. Изначально статья была написана в сентябре 2021 года для Compose 1.0.0, поэтому какая-то информация могла измениться
  • 👍 2
  • 👎 1
Post #137 1.22K
#реклама #conf

Бесплатный Community Day на Mobius 2022 Spring!

Друзья, отличные новости для тех, кто следит за конференцией, но не смог поучаствовать в ней в этот раз. Команда организаторов и Программный комитет Mobius решили поделиться частью контента и сделать доступ к третьему дню конференции (27 мая) свободным. 

В билет бесплатного дня входят:
▫️ 6 докладов, в том числе и мой доклад про Compose.
▫️ Дискуссии после каждого доклада.
▫️ Возможность поучаствовать в играх, квизах, конкурсах и других активностях от партнеров конференции, где можно не только круто провести время, но и получить ценные призы.
▫️ Чаты, где сидят сотни ваших коллег со всего мира.

Для участия в Community Day нужно только зарегистрироваться — для этого переходите по ссылке.
  • 🔥 2
  • 😱 1
Post #136 1.22K
#Video #Youtube #GoogleIO

Performance best practices for Jetpack Compose

Доклад с прошедшего Google I/O 2022, в котором спикеры рассказывают о лучших практиках Jetpack Compose в отношении производительности, а также о связанных с этим распространённых ошибках и способах их избежать.
YouTube Performance best practices for Jetpack Compose Jetpack Compose can feel like magic, but what do you do when the magic isn't as performant as you want? Discover best practices in Jetpack Compose with regards to performance, common mistakes, and how to avoid them. Resources: JetPack Compose Performance…
  • 👍 5
  • 👎 1
Post #135 945
#реклама #conf

На грядущей конференции Mobius 2022 Spring будут представлены целых 3 доклада про Compose, на которых будут освещены такие темы как:

▫️«Positional memoization, или Как работает одна из главных концепций Jetpack Compose»
▫️«Анимации в Compose»
▫️«Декларативный UI. Flutter vs SwiftUI vs Jetpack Compose»

Конференция пройдет 25–27 мая на 80% в онлайне, а 22 июня в Санкт-Петербурге будет offline-день, на котором соберутся все, кто соскучился по живым выступлениям, дискуссионным зонам и тусовкам.

Найти полную программу и купить билеты можно на сайте. А по этому промокоду вы получите скидку на персональный билет: mobilecompose2022JRGpc
  • 🔥 5
Post #134 1.01K
#Article #Blog

Productivity hack to save tens of engineering hours when working with Jetpack Compose

Любопытная статья с кликбейтным заголовком от Vinay Gaba о том, как микрооптимизация автодополнения кода вашего проекта на Compose поможет сэкономить десятки (по мнению автора) часов работы в год.
JetpackCompose.app Here's a productivity hack to save tens of engineering hours* when working with Jetpack Compose! ⏳ Learn about a simple trick that will save you many engineering hours when working with Jetpack Compose!
  • 👍 2
  • 👎 1
Post #133 6.94K
#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-alpha09
Android Developers Recent Release Notes | Android Developers
  • 👍 3
Post #132 1.04K
#реклама

Mobius — конференция по мобильной разработке от JUG Ru Group, в формате online+offline 🔥

▫️Online-часть: 25–27 мая.
▫️Offline-день: 22 июня.

Вас ждут выступления, посвященные трендам и новым технологиям, обмен опытом и общение с коллегами в чатах. А на offline-дне можно вживую пообщаться со спикерами, лично познакомиться с единомышленниками и потусоваться у партнерских стендов.

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

А при использовании промокода mobilecompose2022JRGpc вы сможете приобрести персональный билет со скидкой.

Билеты и подробности на сайте.
  • 👍 4
  • 🔥 1
  • 👏 1
Post #131 1.09K
#Article #Blog

Jetpack Compose Effect Handlers

Статья от Jorge Castillo (автора книги Jetpack Compose Internals), в которой он рассказывает о том, что такое сайд-эффекты в Compose, каких типов они бывают, а также как их “подружить” с Third-party библиотеками.
👨‍💻 Jorge Castillo Jetpack Compose Effect Handlers Learn how to run your side effects 🌀 bound to the @Composable lifecycle. This post has been moved to the Effective Android newsletter.
  • 👍 4
  • ❤ 1
Post #130 1.12K
#Article #Blog #Performance

How can I debug recompositions in Jetpack Compose?

Отличная статья от Vinay Gaba про различные возможности отладки рекомпозиций в Jetpack Compose для получения различной полезной информации о производительности ваших Composable-функций. Помимо прочего, в материале приводятся примеры решений от команды Google Play (которая в числе первых начала использовать тулкит в своем продукте), а также используются метрики, из предыдущего поста.
JetpackCompose.app How can I debug recompositions in Jetpack Compose? ♻️ Learn how you can debug recompositions of your Composable functions in Jetpack Compose
  • 👍 2
Post #129 1.35K
#Article #Blog #Performance

Composable metrics

По мере того, как инженеры продвигаются в изучении Jetpack Compose, большинство из них в конечном итоге обнаруживают, что не хватает одной важной детали — возможности измерить производительность ваших Composables. С выходом Jetpack Compose 1.2.0 в компилятор Compose был добавлен новый функционал, позволяющий выводить во время сборки различные метрики, связанные с производительностью, и определять потенциальные проблемные места в коде. О том, как это работает, в новой статье от Криса Бэйнса.
  • 👍 4
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →