Mobile Compose – Telegram
Mobile Compose
2.91K subscribers
134 photos
4 videos
315 links
Твой главный путеводитель в мир Jetpack Compose и Compose Multiplatform.

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

Автор: @grigorievdy

Поддержать канал: https://news.1rj.ru/str/mobile_compose?boost
Download Telegram
#Medium #Article #Animation

Creating a rotating card in Jetpack Compose

Небольшая статья на тему создания анимации переворота карточки по своей оси с отображением её содержимого на обратной стороне.
#Article #Medium

Accessibility in Jetpack Compose

Обзорная статья по недавно вышедшему codelab-у от Google, посвященному реализации accessibility-функций (для людей с ограниченными возможностями) в вашем приложении на Jetpack Compose.
#Release #Stable #Changelog

Релизы Jetpack Compose 1.0.4 – 1.1.0-alpha06

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

▫️Добавлена поддержка Kotlin 1.5.31.
▫️Добавлен ExposedDropdownMenu, созданный на основе ExposedDropdownMenuBox с компонентами TextField и DropdownMenu внутри. (Подробнее)
▫️В интерфейс LayoutInfo добавлены два поля — density и layoutDirection для правильной интерпретации размеров и положения, отображаемых в LayoutInfo. (Подробнее)
▫️Добавлена концепция ModifierLocals (схожая с CompositionLocals). (Подробнее)

Новое обновление коснулось и различных дополнений, а именно:

▫️paging-compose обновлен до версии 1.0.0-alpha14
▫️Compose для Wear и дополнение compose-material для него обновлен до версии 1.0.0-alpha08
#Article #Blog

Always provide a Modifier parameter

Статья от известного Криса Бэйнса, в которой он рассказывает о том, почему так важно использовать параметр Modifier в ваших Composable-функциях.
#Article #Medium

Responsive layouts using BoxWithConstraints in Jetpack Compose

В статье рассматривается компонент BoxWithConstraints как инструмент для создания адаптивных макетов, которые автоматически подстраиваются под доступное пространство на экране.
#реклама

Большая конференция для мобильных разработчиков Mobius 2021 Moscow ждет вас!

В ней — 34 доклада и 2 воркшопа о разных аспектах мобильной разработки. Вот список тематических блоков:
Архитектура. Как строить проекты так, чтобы они работали правильно и не ломались.
Инфраструктура. Доклады об организации IT-процессов и инструментах для этого.
Качество продукта. О том, что делать и чего не делать, чтобы результат был крутым.
Под капотом. Копаемся во внутренностях инструментов и платформ, чтобы лучше их понимать и эффективнее использовать.
Тренды мобильной разработки. Что-то набирает популярность, что-то теряет актуальность — выясняем, что брать в прод.

Среди спикеровFilip Babić, Николай Иготти, Joe Birch, Данис Тазетдинов, Виталий Фридман.

Полная программа на сайте — переходите туда, чтобы узнать больше и выбрать билеты.
А промокод mobilecompose2021JRGpc поможет приобрести Personal Standard билет по цене прошлого месяца.
#Release #Stable #Changelog

Релизы Jetpack Compose 1.0.5 – 1.1.0-beta03

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

▫️Добавлен Modifier.pointerHoverIcon для смены иконки указателя при наведении на элемент. (Подробнее)
▫️Добавлен функционал для работы со spans в LazyVerticalGrid. (Подробнее)
▫️Изменили поведение риппла в non-scrollable контейнерах. (Подробнее)
▫️Добавлено эксперементальное BringIntoView API. (Подробнее)

Новое обновление коснулось и различных дополнений, а именно:

▫️ConstraintLayout-compose обновлен до версии 1.0.0-rc02
▫️Hilt-Navigation-Compose обновлен до версии 1.0.0-beta01
▫️Compose для Wear и дополнение compose-material для него обновлен до версии 1.0.0-alpha11
▫️Добавлен Compose Material 3 (Material You) версии 1.0.0-alpha01
#Article #Medium #WearOS

Compose + Wear OS: Chromatic Tuner

Приложение для WearOS, да ещё и при помощи Jetpack Compose — о том, как это всё совместить в рамках одного проекта, рассказывает автор сегодняшней статьи на примере разработки функционала хроматического тюнера.
#Article #Blog

Slotting in with Compose UI

Статья от Криса Бэйнса, в которой он рассказывает о паттерне Slot API — шаблоне, широко применяемом во всей кодовой базе Compose UI.
#Article #Medium

Jetpack Compose’s Rows and Column or ConstraintLayout?

Хорошая статья с разбором того, в каких случаях при проектировании UI c Jetpack Compose необходимо использовать ConstraintLayout, а в каких случаях можно обойтись Row и Column (а также каких правил стоит придерживаться, чтобы избежать оверхеда с вложенностью компонентов).
#Habr #Article

Этапы работы Jetpack Compose

Статья с переводом официальной документации Compose, описывающая этапы отрисовки кадров в Jetpack Compose. В статье рассматриваются:
▫️Три этапа отрисовки кадра
▫️Считывание состояния
▫️Поэтапное считывание состояния
▫️Оптимизация считывания состояния
▫️Цикл рекомпозиции
#Article #Habr #Medium #Navigation

Масштабируем Jetpack Compose Navigation

Перевод интересной статьи об опыте решения проблем масштабирования навигации в приложении на Compose. Пригодится, когда приложение состоит (или планируется что будет состоять) из большого количества экранов с не самой простой логикой переходов между ними.
Также для желающих прикрепил оригинал материала.
#Medium #Article

Koin for Compose proposal (Jetpack and Multiplatform)

Статья об опыте создании библиотеки Cokoin (расширения над Koin, предназначенного для работы с Compose), в которой автор затрагивает такие темы как:
▫️ Inject при работе с Preview
▫️ Поддержка Koin-ом Composable скоупа
▫️ Добавление поддержки Compose Multiplatform
#offtop #NY2022

Друзья! Уже совсем скоро наступит Новый год, а значит, самое время проводить Старый.🎄

В 2021 было много разных событий, и одно из наиболее значимых для нас – это, безусловно, релиз Jetpack Compose. Помимо радостных моментов, были и непростые испытания, с которыми, я уверен, вы успешно справились (или обязательно справитесь).

Ну и что немаловажно, за этот год мы выросли более чем в 1.5 раза, в чём, несомненно, заслуга каждого из нас.❤️

Желаю вам как следует отдохнуть на новогодних праздниках и с новыми силами вернуться уже в наступившем году.💪🏼

P.S. Добавил поддержку реакций в канале, так что теперь можете реагировать на посты.🙂
🎉22🔥5👍31
#Video #Youtube #Performance

Optimizing Render Performance of Jetpack Compose

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

P.S. Поскольку Compose становится всё популярнее среди тем для различных видео-докладов, я подумал, что было бы неплохо разнообразить контент канала, поэтому таких лекций теперь будет больше. Ну а если вы сами нашли что-то полезное и хотели бы этим поделиться - можете смело писать в личку (@grigorievdy).
👍4
#Article #Performance #Habr #Medium

Jetpack Compose — оптимизация производительности списка

Отличный перевод статьи, в которой автор рассказывает, каким образом можно добиться оптимизации производительности списков при помощи key функции. Также в материале разбирается что такое место вызова (call site) composable функции и какие могут возникнуть проблемы при неправильном его использовании.
👍4👎2
#Article #Medium

Jetpack Compose: Detect the number of fingers touching the screen

В документации по жестам Jetpack Compose описаны различные способы обнаружения жестов множественных касаний экрана, однако ни один из них не дает вам способа получить точное количество пальцев, коснувшихся экрана. В статье автор статьи делится своим решением данной проблемы.
👍2
#Article #Medium

Jetpack Compose Side Effects Made Easy

Понимание side-эффектов Jetpack Compose является необходимым для эффективного использования фреймворка, а также его работы с элементами кода нашего приложения, не связанными с Compose. В статье описываются существующие side-эффекты в Compose с подробным описанием и примерами использования.
👍1
#Release #Stable #Changelog

Релизы Jetpack Compose 1.1.0-beta04 – 1.2.0-alpha02

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

▫️Добавлена поддержка Kotlin 1.6.10.
▫️Появилась возможность добавлять отрицательный scroll offset в LazyListState.scrollToItem() и LazyListState.animateScrollToItem(). (Подробнее)
▫️Добавлена поддержка скролла колесом мыши такими компонентами, как LazyColumn, LazyRow, Modifier.verticalScroll и другими, использующими Modifier.scrollable. (Подробнее)
▫️Добавлен новый параметр userScrollEnabled для компонентов LazyColumn, LazyRow, и LazyVerticalGrid, позволяющий временно или насовсем отключить скролл, вызванный пользователем (программно вызванный скролл остается доступным). (Подробнее)
▫️Добавлены Modifier.onRotaryScrollEvent() and Modifier.onPreRotaryScrollEvent() для работы с вращающейся боковой кнопкой смарт-часов. (Подробнее)

Новое обновление коснулось и различных дополнений, а именно:

▫️ConstraintLayout-compose обновлен до версии 1.0.0
▫️Hilt-Navigation-Compose обновлен до версии 1.0.0
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версии 1.0.0-alpha15
▫️Compose Material 3 (Material You) обновлен до версии 1.0.0-alpha04
🔥3👍1
#Animation #GitHub #Libs

MotionCompose

Не так давно ребята из Google пополнили свой репозиторий с анимациями animation-samples новой директорией — MotionCompose. Она представляет собой коллекцию примеров использования Material Design Motion в Jetpack Compose.

На данный момент коллекция содержит следующие виды анимаций:
▫️ Fade
▫️ Fade through
▫️ Shared transform
▫️ Shared axis
▫️ Loading

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