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
159
Videos
3
Links
340

Showing posts older than #193 · Back to latest

Older Posts 20 shown
Post #192 2.22K
#реклама

Онлайн-мероприятие Kaspersky Tech «Выйти в open source и нанести всем пользу». Начало 24 мая 16.00 по мск

На примере популярного open source фреймворка для тестирования пользовательского интерфейса Android расскажем, какой путь предстоит пройти контрибьюторам и какие подводные камни их могут ждать.

Что дает Kaspresso:

- Стабильность: устраняет flakyness тестов: они не ломаются на N+1й попытке

- Ускорение библиотек тестов пользовательского интерфейса: некоторые команды UI Automator выполняются в 10 раз быстрее

- Читаемость кода, читаемость логов: код делается значительно короче и читабельнее, а сам фреймворк пишет собственные и подробные логи

- Перехватчики: свои перехватчики поведения Kaspresso для обработки сбоев, чтобы добавлять настраиваемые действия и преодолеть ненадежные операции

- Конфигурируемость: можно самостоятельно настроить любую часть Kaspresso

Регистрируйтесь по ссылке на сайте: https://kas.pr/b54o
  • ❤‍🔥 1
  • 👍 1
Post #191 2.44K
#Article #Medium #Compose

ViewCompositionStrategy Demystified

Существует такое непростое, но весьма важное понятие в Compose, как ViewCompositionStrategy. Если вкратце — это различные стратегии, используемые ComposeView и AbstractComposeView для определения того, когда и как должна очищаться композиция.

В статье автор разбирает что ViewCompositionStrategy из себя представляет, а также рассказывает о том, как правильно выбрать подходящую стратегию для конкретного UseCase-а.
Medium ViewCompositionStrategy Demystified Learn what `ViewCompositionStrategy` is, why it’s needed, and how you can pick the right strategy for your use case to avoid state loss.
  • 👍 10
  • ❤‍🔥 1
  • ❤ 1
Post #188 2.25K
​​#Article #Blog #Compose

Google’s account switcher with Jetpack Compose

Пример реализации фичи переключения Google аккаунта (как в Gmail) в приложении при помощи Compose.
Кому интересно, код на GitHub можно глянуть тут.
  • 👍 5
  • ❤ 3
  • 🔥 2
  • ❤‍🔥 1
Post #187 2.23K
​​#Release #Compose #Changelog

Compose Release Digest (18.03 — 18.04)

Традиционный дайджест по основным изменениям релизов библиотек фреймворка за последний месяц, среди которых:

🔹RC/Stable🔹

🔸🔸Compose Compiler (1.4.4 — 1.4.5)
▫️Добавлена поддержка версий Kotlin 1.8.20.
🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.4.0 — 1.4.1)
▫️Поправлена проблема в работе ParentDataModifier с AndroidView. (Подробнее)

🔹Alpha/Beta🔹

🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.5.0-alpha01 — 1.5.0-alpha02)
▫️AnimatedContent
APIs (а также scaleIn и scaleOut) теперь stable, а AnimatedContentScope переименован в AnimatedContentTransitionScope. (Подробнее)
▫️Появился новый экспериментальный API — SubcomposeLayout. (Подробнее)
▫️Text и BasicText переехали на новую систему Modifier-ов. Обещают, что это должно положительно повлиять на производительность и при этом нам не придется ничего в коде менять. Такое мы любим. (Подробнее)
▫️Добавлена поддержка verticalArrangement в FlowRow и horizontalArrangement в FlowColumn. (Подробнее)
▫️Исправлена проблема, связанная с крашем ModalBottomSheetLayout при смене ориентации. (Подробнее)
▫️В Modifier.Nodes добавлены возможности получать доступ к coroutineScope (для запуска корутин) и CompositionLocals (для работы с общими данными). (Подробнее тут и тут)
▫️LookaheadLayout заменён на LookaheadScope, и это теперь не layout, а обертка над контентом, который нужно анимировать. (Подробнее)
... и много всего ещё.

Также были обновлены и различные дополнения Compose, а именно:

▫️constraintlayout-compose обновлен до версии 1.1.0-alpha09
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версии 1.2.0-alpha08
▫️Compose Material 3 (Material You) обновлен до версии 1.1.0-beta02

❗️P.S. Обратите внимание, что при обновлении версии compiler до 1.4.5, необходимо поднять версию Java аж до 17. Правда это требование у комьюнити не прижилось, и поэтому уже в следующем релизе compiler-а (1.4.6) снова будет Java 11.
🎉 P.S.S. Ну и конечно же, главная новость этого месяца, о которой трубят буквально из каждого утюга — Compose Multiplatform теперь официально на iOS. A сам KMM в Stable обещают уже в 2024 году.
  • 👍 9
  • ❤‍🔥 1
Post #186 1.73K
#Article #Medium #Compose #Glance

Taking Compose Glance Widgets under control

Автор статьи рассказывает о том, как можно создать Android-виджет при помощи библиотеки Glance Compose, а также как организовать настройку и обновление каждого экземпляра виджета по отдельности.
Medium Taking Compose Glance Widgets under control In this article, I want to show how to create widgets with a state for an Android application using Glance Compose, update each instance…
  • 👍 5
Post #184 1.9K
#Blog #Compose

The Composable node tree

Новая статья из блога Effective Android от Jorge Castillo. На этот раз автор разбирает как создается и хранится в памяти дерево Node-ов в Compose.
Effective Android The Composable node tree 🌲 Learn how the Jetpack Compose node tree is built, updated, how changes to it are applied, the different types of nodes on it, and more 🔥
  • ❤ 4
  • 🔥 3
  • 👍 1
Post #183 1.97K
​​#Release #Compose #Changelog

Compose Release Digest (16.01 — 17.03)

Традиционный дайджест по основным изменениям релизов библиотек фреймворка за последние 2 месяца, среди которых:

🔹RC/Stable🔹

🔸🔸Compose Compiler (1.4.0 — 1.4.3)
▫️Добавлена поддержка версий Kotlin 1.8.10.
🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.4.0-rc01)
▫️reverseLayout теперь добавлен и в LazyStaggeredGrid. (Подробнее).
▫️Добавлено новое переиспользуемое AndroidView API. (Подробнее)

🔹Alpha/Beta🔹

🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.4.0-alpha05 — 1.4.0-beta02)
▫️Несколько API для TextStyle (такие как LineBreak и Hyphens) а также FocusRequester теперь stable. (Подробнее тут и тут)
▫️Исправлен баг с нарушением работы TextField курсора и Modifier.basicMarquee при отключении анимации в системе. (Подробнее тут и тут)
▫️Для ClickableText добавлен экспериментальный параметр onHover. (Подробнее)
▫️В ComposeTestRule в качестве расширения для waitUntil API добавлены еще несколько экспериментальных вызовов — waitUntilNodeCount, waitUntilAtLeastOneExists, waitUntilExactlyOneExists и waitUntilDoesNotExist. (Подробнее)
▫️Параметр BlendMode добавлен для DrawScope.drawText, Paragraph.paint, MultiParagraph.paint. (Подробнее)
▫️Много мелких изменений в Swipeable API из BottomSheetScaffold. (Подробнее).
... и много всего ещё.

Также были обновлены и различные дополнения Compose, а именно:

▫️constraintlayout-compose обновлен до версии 1.1.0-alpha08
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версии 1.2.0-alpha06
▫️Paging-Compose обновлен до версии 1.0.0-alpha18
▫️Compose Material 3 (Material You) обновлен до версии 1.1.0-alpha08
  • 👍 7
  • 🔥 2
Post #182 2.06K
#Article #Medium #Compose

[Eng] How to Handle Automatic Content Resizing when keyboard is visible in Jetpack Compose

Неплохая статья с разбором того, как можно адаптировать контент приложения под открытие/закрытие клавиатуры на Compose.
Medium How to Handle Automatic Content Resizing when keyboard is visible in Jetpack Compose As Android developers, we have all encountered the problem of the keyboard overlapping the content of our app, which can be frustrating for…
  • 👍 4
Post #181 1.71K
​​#conf #compose #реклама

10 сезон Podlodka Android Crew (03.04 — 07.04)

Совсем скоро планируется 10 (!) юбилейный сезон Podlodka Android Crew (в котором существенную долю докладов будет занимать Compose) и сейчас ребята находятся в активном поиске спикеров. Если ты или твой знакомый хотите выступить, то смело отправляйте заявку через форму. В форме уже есть подготовленный список интересных тем (если хочется выступить, но пока нет идей), однако вы также всегда можете предложить свою.
  • 🔥 5
  • 👍 1
  • 👎 1
Post #180 2.02K
#Featured #AndroidDevelopers #MADSkills #YouTube #Video

[Eng] Constraints and modifier order

Очередной видеоролик про базовые практики в Compose из серии MAD Skills, в котором на этот раз разбирается как работает цепочка модификаторов (Modifiers) в Compose, а также почему так важен порядок их применения.
YouTube Constraints and modifier order - MAD Skills Modifiers in Compose can be chained and the order in which we do so matters. But how exactly does it matter? In this MAD Skills episode we’ll go beyond your intuition and learn to reason about modifier chaining and how it influences the sizes of our composables.…
  • 👍 5
  • 🔥 1
Post #179 1.91K
#Article #Blog #OpenSource

Maps Compose Library Tutorial for Android: Getting Started

В феврале 2022 года Google выпустила библиотеку Maps Compose (набор composable функций с открытым исходным кодом для упрощения интеграции с Google Maps, а также различных типов данных, связанных с Maps SDK). О том, как работать с этой библиотекой на примере приложения GeoMarker — в сегодняшней статье.
kodeco.com Maps Compose Library Tutorial for Android: Getting Started Learn how to use the Maps Compose library for the Maps SDK for Android to add maps to your Android app.
  • 👍 11
  • ❤ 1
  • 🔥 1
Post #178 1.93K
#Article #Medium #Performance #Profiling #Compose

Optimize or Die. Profiling and Optimization in Jetpack Compose

Интересная статья от разработчиков из IceRock, в которой они:
▫️рассказывают о своём опыте профилирования приложения на Compose,
▫️разбирают метрики, на которые стоит обратить внимание,
▫️делятся советами по исправлению выявленных проблем.
Medium Optimize or Die. Profiling and Optimization in Jetpack Compose Your brand-new app gets bombarded with user complaints on Google Play about it hanging or slowing down? Follow the tips in this article to…
  • 🔥 5
  • ❤ 1
Post #177 1.86K
Post #176 1.86K
#Medium #Article #Compose #Migration

[Eng] Jetpack Compose Migration: Best Practices and Strategies

В статье автор делится своим опытом полной миграции существующего приложения на Compose с разделением всего процесса на отдельные фазы, а также описывает возможные проблемы, с которыми можно столкнуться на этом пути и предлагает варианты их решений.
Medium Jetpack Compose Migration: Best Practices and Strategies Do you have an application that you want to migrate to Jetpack Compose?
  • 👍 5
  • 🔥 2
Post #174 1.64K
​​#Release #Compose #Changelog

Compose Release Digest (13.11 — 15.01)

Первый в этом году дайджест по основным изменениям последних релизов библиотек фреймворка, среди которых:

🔹RC/Stable🔹

🔸🔸Compose Animation/Runtime/UI (1.3.2 — 1.3.3)
▫️Версия зависимости protobuf-javalite (используемой в Compose UI) обновлена до 3.21.8, что исправляет появление security alert-а в одной из предыдущих версий библиотеки (Подробнее).
▫️Исправлен краш из-за сохранения Activity состояния Compose View на Android 9. (Подробнее)

🔹Alpha/Beta🔹

🔸🔸Compose Compiler (1.4.0-alpha02)
▫️Добавлена поддержка версий Kotlin 1.7.21.
🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.4.0-alpha03 — 1.4.0-alpha04)
▫️В AnimatedContent и InfiniteTransition добавлен новый параметр label. (Подробнее тут и тут)
▫️Представлены HorizontalPager и VerticalPager, а также дополнительные к ним классы PagerState, PageSize и т.д. (Подробнее)
▫️Добавлен Modifier.provideScrollContainerInfo и Modifier.provideScrollContainerInfo для возможности запроса информации о скролле родительского Composable. (Подробнее)
▫️Добавлена поддержка EmojiCompat для всех компонентов Text и TextField. (Подробнее)
▫️В TextStyle добавлен экспериментальный параметр textMotion для определения текста типа анимации текста (Static/Animated). (Подробнее)
▫️🔥 Представлены экспериментальные API FlowRow и FlowColumn — более гибкие версии Row и Column с возможностью переноса контента на новую строку/столбец. (Подробнее).
▫️Добавлен новый Modifier.basicMarquee(), для реализации эффекта "бегущей строки". (Подробнее)
... и много всего ещё.

Также были обновлены и различные дополнения Compose, а именно:

▫️constraintlayout-compose обновлен до версии 1.1.0-alpha05
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версий 1.1.1 и 1.2.0-alpha02
▫️Compose Material 3 (Material You) обновлен до версии 1.1.0-alpha04
  • 👍 13
Post #173 1.75K
#Medium #Article #Compose

Tooltips for Jetpack Compose: Improve User Experience to the Next Level

Всплывающая подсказка (Tooltip) — одна из наиболее часто используемых функций в современной мобильной разработке для улучшения опыта взаимодействия с пользователем. В статье автор рассказывает как реализовать такие всплывающие сообщения в приложении на Jetpack Compose при помощи его библиотеки Balloon.
Medium Tooltips for Jetpack Compose: Improve User Experience to the Next Level Tooltips are one of the most commonly used features in modern mobile development to improve user experience. It can be a good strategy to…
  • 👍 11
  • 🔥 1
Post #172 1.82K
🎄Подводим итоги 2022 года🎄

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

👤 +425 подписчика (+68%)
👀 64 424 просмотров материалов
↪️ 648 репостов

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

В наступающем году на канале грядут перемены к лучшему (больше публикаций, новые рубрики). Также есть идеи для нового проекта, который планирую запустить в 2023. В общем, как говорится, оставайтесь на связи.🙂

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

(С) Григорьев Дмитрий

#Offtop
  • 🎉 15
  • 👍 6
  • ❤ 2
  • 👎 1
  • 🍾 1
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 →