#Article #Habr #UI
Custom view на Compose
Статья об опыте реализации Custom View рыночного графика с возможностями скролла и зума при помощи Compose.
Custom view на Compose
Статья об опыте реализации Custom View рыночного графика с возможностями скролла и зума при помощи Compose.
Хабр
Custom view на Compose
Всем привет, меня зовут Николай Широбоков, я — Android-разработчик в e-legion. В июле Google выпустил стабильную версию Compose. Это вызвало большой интерес в сообществе. Все вокруг стали...
#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
Релизы 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
Android Developers
Recent Release Notes | Android Developers
#Article #Medium #WearOS
Compose + Wear OS: Chromatic Tuner
Приложение для WearOS, да ещё и при помощи Jetpack Compose — о том, как это всё совместить в рамках одного проекта, рассказывает автор сегодняшней статьи на примере разработки функционала хроматического тюнера.
Compose + Wear OS: Chromatic Tuner
Приложение для WearOS, да ещё и при помощи Jetpack Compose — о том, как это всё совместить в рамках одного проекта, рассказывает автор сегодняшней статьи на примере разработки функционала хроматического тюнера.
Medium
Compose + Wear OS: Chromatic Tuner
Practical example of the power of Jetpack Compose
#Article #Blog
Slotting in with Compose UI
Статья от Криса Бэйнса, в которой он рассказывает о паттерне Slot API — шаблоне, широко применяемом во всей кодовой базе Compose UI.
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 (а также каких правил стоит придерживаться, чтобы избежать оверхеда с вложенностью компонентов).
Jetpack Compose’s Rows and Column or ConstraintLayout?
Хорошая статья с разбором того, в каких случаях при проектировании UI c Jetpack Compose необходимо использовать ConstraintLayout, а в каких случаях можно обойтись Row и Column (а также каких правил стоит придерживаться, чтобы избежать оверхеда с вложенностью компонентов).
Medium
Jetpack Compose’s Rows and Column or ConstraintLayout?
Should we still worry about flattening the hierarchy in Jetpack Compose?
#Habr #Article
Этапы работы Jetpack Compose
Статья с переводом официальной документации Compose, описывающая этапы отрисовки кадров в Jetpack Compose. В статье рассматриваются:
▫️Три этапа отрисовки кадра
▫️Считывание состояния
▫️Поэтапное считывание состояния
▫️Оптимизация считывания состояния
▫️Цикл рекомпозиции
Этапы работы Jetpack Compose
Статья с переводом официальной документации Compose, описывающая этапы отрисовки кадров в Jetpack Compose. В статье рассматриваются:
▫️Три этапа отрисовки кадра
▫️Считывание состояния
▫️Поэтапное считывание состояния
▫️Оптимизация считывания состояния
▫️Цикл рекомпозиции
Хабр
Этапы работы Jetpack Compose
Как и большинство UI-фреймворков, Compose рендерит кадр в несколько различных этапов. В системе Android View есть 3 этапа: Measure, Layout и Drawing. Compose очень похож, но имеет важный...
#Article #Habr #Medium #Navigation
Масштабируем Jetpack Compose Navigation
Перевод интересной статьи об опыте решения проблем масштабирования навигации в приложении на Compose. Пригодится, когда приложение состоит (или планируется что будет состоять) из большого количества экранов с не самой простой логикой переходов между ними.
Также для желающих прикрепил оригинал материала.
Масштабируем Jetpack Compose Navigation
Перевод интересной статьи об опыте решения проблем масштабирования навигации в приложении на Compose. Пригодится, когда приложение состоит (или планируется что будет состоять) из большого количества экранов с не самой простой логикой переходов между ними.
Также для желающих прикрепил оригинал материала.
Хабр
Масштабируем Jetpack Compose Navigation
Привет, меня зовут Антон Шилов, я Android-разработчик в Badoo. Недавно мой коллега Lachlan McKee написал статью о работе с библиотекой Jetpack Compose Navigation и том, как он решал проблему с...
#Medium #Article
Koin for Compose proposal (Jetpack and Multiplatform)
Статья об опыте создании библиотеки Cokoin (расширения над Koin, предназначенного для работы с Compose), в которой автор затрагивает такие темы как:
▫️ Inject при работе с Preview
▫️ Поддержка Koin-ом Composable скоупа
▫️ Добавление поддержки Compose Multiplatform
Koin for Compose proposal (Jetpack and Multiplatform)
Статья об опыте создании библиотеки Cokoin (расширения над Koin, предназначенного для работы с Compose), в которой автор затрагивает такие темы как:
▫️ Inject при работе с Preview
▫️ Поддержка Koin-ом Composable скоупа
▫️ Добавление поддержки Compose Multiplatform
Medium
Koin for Compose proposal (Jetpack and Multiplatform)
Jetpack Compose introduced a declarative UI to Android programming. In this framework, each @Composable function is a description of how…
#offtop #NY2022
Друзья! Уже совсем скоро наступит Новый год, а значит, самое время проводить Старый.🎄
В 2021 было много разных событий, и одно из наиболее значимых для нас – это, безусловно, релиз Jetpack Compose. Помимо радостных моментов, были и непростые испытания, с которыми, я уверен, вы успешно справились (или обязательно справитесь).
Ну и что немаловажно, за этот год мы выросли более чем в 1.5 раза, в чём, несомненно, заслуга каждого из нас.❤️
Желаю вам как следует отдохнуть на новогодних праздниках и с новыми силами вернуться уже в наступившем году.💪🏼
P.S. Добавил поддержку реакций в канале, так что теперь можете реагировать на посты.🙂
Друзья! Уже совсем скоро наступит Новый год, а значит, самое время проводить Старый.🎄
В 2021 было много разных событий, и одно из наиболее значимых для нас – это, безусловно, релиз Jetpack Compose. Помимо радостных моментов, были и непростые испытания, с которыми, я уверен, вы успешно справились (или обязательно справитесь).
Ну и что немаловажно, за этот год мы выросли более чем в 1.5 раза, в чём, несомненно, заслуга каждого из нас.❤️
Желаю вам как следует отдохнуть на новогодних праздниках и с новыми силами вернуться уже в наступившем году.💪🏼
P.S. Добавил поддержку реакций в канале, так что теперь можете реагировать на посты.🙂
🎉22🔥5👍3❤1
#Video #Youtube #Performance
Optimizing Render Performance of Jetpack Compose
Тема производительности Jetpack Compose является одной из самых горячо обсуждаемых в сообществе. В данном докладе William Shelor разбирает какие на самом деле существуют подводные камни, связанные с performance в Compose, а также дает практические советы по его оптимизации.
P.S. Поскольку Compose становится всё популярнее среди тем для различных видео-докладов, я подумал, что было бы неплохо разнообразить контент канала, поэтому таких лекций теперь будет больше. Ну а если вы сами нашли что-то полезное и хотели бы этим поделиться - можете смело писать в личку (@grigorievdy).
Optimizing Render Performance of Jetpack Compose
Тема производительности Jetpack Compose является одной из самых горячо обсуждаемых в сообществе. В данном докладе William Shelor разбирает какие на самом деле существуют подводные камни, связанные с performance в Compose, а также дает практические советы по его оптимизации.
P.S. Поскольку Compose становится всё популярнее среди тем для различных видео-докладов, я подумал, что было бы неплохо разнообразить контент канала, поэтому таких лекций теперь будет больше. Ну а если вы сами нашли что-то полезное и хотели бы этим поделиться - можете смело писать в личку (@grigorievdy).
YouTube
Optimizing Render Performance of Jetpack Compose with William Shelor
Jetpack Compose is new and exciting, but one of the first things most engineers notice is that it can be very slow! In this talk, we’ll go over ways to use Compose fast and slow, and 5 ways we can improve rendering performance.
👍4
#Article #Performance #Habr #Medium
Jetpack Compose — оптимизация производительности списка
Отличный перевод статьи, в которой автор рассказывает, каким образом можно добиться оптимизации производительности списков при помощи key функции. Также в материале разбирается что такое место вызова (call site) composable функции и какие могут возникнуть проблемы при неправильном его использовании.
Jetpack Compose — оптимизация производительности списка
Отличный перевод статьи, в которой автор рассказывает, каким образом можно добиться оптимизации производительности списков при помощи key функции. Также в материале разбирается что такое место вызова (call site) composable функции и какие могут возникнуть проблемы при неправильном его использовании.
Хабр
Jetpack Compose оптимизация производительности списка
Я в своем время наткнулся на довольно интересное поведение composable функций в списках, тогда мне помогла статья с медиума и чтение книги по compose internals, ссылки на них я приложу в конце статьи....
👍4👎2
#Article #Medium
Jetpack Compose: Detect the number of fingers touching the screen
В документации по жестам Jetpack Compose описаны различные способы обнаружения жестов множественных касаний экрана, однако ни один из них не дает вам способа получить точное количество пальцев, коснувшихся экрана. В статье автор статьи делится своим решением данной проблемы.
Jetpack Compose: Detect the number of fingers touching the screen
В документации по жестам Jetpack Compose описаны различные способы обнаружения жестов множественных касаний экрана, однако ни один из них не дает вам способа получить точное количество пальцев, коснувшихся экрана. В статье автор статьи делится своим решением данной проблемы.
Medium
Jetpack Compose: Detect the number of fingers touching the screen
On my journey learning Jetpack Compose and I had the need to come up with a solution to detecting the number of fingers touching the…
👍2
#Article #Medium
Jetpack Compose Side Effects Made Easy
Понимание side-эффектов Jetpack Compose является необходимым для эффективного использования фреймворка, а также его работы с элементами кода нашего приложения, не связанными с Compose. В статье описываются существующие side-эффекты в Compose с подробным описанием и примерами использования.
Jetpack Compose Side Effects Made Easy
Понимание side-эффектов Jetpack Compose является необходимым для эффективного использования фреймворка, а также его работы с элементами кода нашего приложения, не связанными с Compose. В статье описываются существующие side-эффекты в Compose с подробным описанием и примерами использования.
Medium
Jetpack Compose Side Effects Made Easy
Linking the relationship of all Jetpack Compose side effects
👍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
Релизы 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
Android Developers
Recent Release Notes | Android Developers
🔥3👍1
#Animation #GitHub #Libs
MotionCompose
Не так давно ребята из Google пополнили свой репозиторий с анимациями animation-samples новой директорией — MotionCompose. Она представляет собой коллекцию примеров использования Material Design Motion в Jetpack Compose.
На данный момент коллекция содержит следующие виды анимаций:
▫️ Fade
▫️ Fade through
▫️ Shared transform
▫️ Shared axis
▫️ Click Me Load More
Также не стоит забывать про официальную документацию, описывающую различные аспекты работы с анимациями в Compose.
MotionCompose
Не так давно ребята из Google пополнили свой репозиторий с анимациями animation-samples новой директорией — MotionCompose. Она представляет собой коллекцию примеров использования Material Design Motion в Jetpack Compose.
На данный момент коллекция содержит следующие виды анимаций:
▫️ Fade
▫️ Fade through
▫️ Shared transform
▫️ Shared axis
▫️ Click Me Load More
Также не стоит забывать про официальную документацию, описывающую различные аспекты работы с анимациями в Compose.
GitHub
animation-samples/MotionCompose at main · android/animation-samples
Multiple samples showing the best practices in animation on Android. - android/animation-samples
👍6
#конференция #реклама
Конференция Mobius от JUG Ru Group возвращается! 🔥
Mobius 2022 Spring — 23-26 мая, онлайн
Вы можете стать ее спикером. Если хотели поделиться знаниями с профессиональным сообществом, но сомневались, стеснялись или просто ждали удачного момента — это он.
От вас требуется только идея доклада — программный комитет поможет подготовиться. Конференция пройдет онлайн, поэтому можно выступить удаленно либо приехать для этого в студию в Питере.
Вот примеры тем, которые хотели бы видеть в программе:
– под капотом: ОС, языки, интеграции;
– архитектура;
– качество продукта: перформанс, accessibility, UI/UX;
– тренды: SwiftUI, Jetpack Compose, KMM, развитие платформ и сферы в целом;
– инфраструктура.
Но это лишь рекомендации — прийти можно с чем-то совершенно своим.
Заявки принимают до 21 марта. Переходите на сайт, чтобы узнать больше и заполнить анкету.
Кстати, билеты уже в продаже.
Конференция Mobius от JUG Ru Group возвращается! 🔥
Mobius 2022 Spring — 23-26 мая, онлайн
Вы можете стать ее спикером. Если хотели поделиться знаниями с профессиональным сообществом, но сомневались, стеснялись или просто ждали удачного момента — это он.
От вас требуется только идея доклада — программный комитет поможет подготовиться. Конференция пройдет онлайн, поэтому можно выступить удаленно либо приехать для этого в студию в Питере.
Вот примеры тем, которые хотели бы видеть в программе:
– под капотом: ОС, языки, интеграции;
– архитектура;
– качество продукта: перформанс, accessibility, UI/UX;
– тренды: SwiftUI, Jetpack Compose, KMM, развитие платформ и сферы в целом;
– инфраструктура.
Но это лишь рекомендации — прийти можно с чем-то совершенно своим.
Заявки принимают до 21 марта. Переходите на сайт, чтобы узнать больше и заполнить анкету.
Кстати, билеты уже в продаже.
👍1🔥1
#Release #Stable #Changelog
Релизы Jetpack Compose 1.1.0 – 1.2.0-alpha03
Очередной дайджест по основным изменениям последних релизов фреймворка, среди которых:
🔸Версия 1.1.0 (Stable)
▫️Обновлена версия Kotlin до 1.6.10.
▫️Добавлена стабильная поддержка NavigationRail.
▫️Добавлена стабильная поддержка Overscroll effect из Android 12. (Подробнее)
🔸Версия 1.2.0-alpha03 (Alpha)
▫️Добавлена анимация для элементов Lazy Grid списков при помощи Modifier.animateItemPlacement(). (Подробнее)
▫️fontResource(FontFamily) теперь deprecated и заменени на FontFamilyResolver.preload(). (Подробнее)
▫️Для LazyListLayoutInfo и LazyGridLayoutInfo добавлены новые свойства — viewportSize, orientation и reverseLayout . (Подробнее)
Новое обновление коснулось и различных дополнений, а именно:
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версии 1.0.0-alpha16
▫️Compose Material 3 (Material You) обновлен до версии 1.0.0-alpha05
Релизы Jetpack Compose 1.1.0 – 1.2.0-alpha03
Очередной дайджест по основным изменениям последних релизов фреймворка, среди которых:
🔸Версия 1.1.0 (Stable)
▫️Обновлена версия Kotlin до 1.6.10.
▫️Добавлена стабильная поддержка NavigationRail.
▫️Добавлена стабильная поддержка Overscroll effect из Android 12. (Подробнее)
🔸Версия 1.2.0-alpha03 (Alpha)
▫️Добавлена анимация для элементов Lazy Grid списков при помощи Modifier.animateItemPlacement(). (Подробнее)
▫️fontResource(FontFamily) теперь deprecated и заменени на FontFamilyResolver.preload(). (Подробнее)
▫️Для LazyListLayoutInfo и LazyGridLayoutInfo добавлены новые свойства — viewportSize, orientation и reverseLayout . (Подробнее)
Новое обновление коснулось и различных дополнений, а именно:
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версии 1.0.0-alpha16
▫️Compose Material 3 (Material You) обновлен до версии 1.0.0-alpha05
Android Developers
Recent Release Notes | Android Developers
👏3👍2
#Video #Youtube #WearOS
Compose for Widgets & Wearables / Андрей Берюхов (Авито)
Доклад от Андрея Берюхова с недавне прошедшей Podlodka Android Crew, в котором он рассказывает о нестандартных способах применения Compose, в том числе таких, как разработка под часы и виджеты (Jetpack Glance).
Compose for Widgets & Wearables / Андрей Берюхов (Авито)
Доклад от Андрея Берюхова с недавне прошедшей Podlodka Android Crew, в котором он рассказывает о нестандартных способах применения Compose, в том числе таких, как разработка под часы и виджеты (Jetpack Glance).
YouTube
Доклад: Compose for Widgets & Wearables / Андрей Берюхов (Авито)
Нестандартные способы применения Compose. Посмотрим, насколько удобнее стала разработка под часы и виджеты (Jetpack Glance), сравним с прежними ограничениями верстки в XML, и смогут ли новые библиотеки помочь популяризации разработки для них.
Конференция…
Конференция…
👍2
#Video #Youtube #Animation
Анимации в Jetpack Compose - всё то же самое, только проще? / Лукьян Жуков (Ситимобил)
Ещё один доклад с прошедшей Podlodka Android Crew, в котором автор рассматривает возможности анимаций в Jetpack Compose, а также разбирает какие существуют механизмы их создания.
P.S. Спустя некоторое время канал возвращается в строй, и теперь контента будет больше😉
Анимации в Jetpack Compose - всё то же самое, только проще? / Лукьян Жуков (Ситимобил)
Ещё один доклад с прошедшей Podlodka Android Crew, в котором автор рассматривает возможности анимаций в Jetpack Compose, а также разбирает какие существуют механизмы их создания.
P.S. Спустя некоторое время канал возвращается в строй, и теперь контента будет больше😉
YouTube
Доклад: Анимации в Jetpack Compose - всё то же самое, только проще? / Лукьян Жуков (Ситимобил)
Разберём возможности для анимации в Jetpack Compose: Какой функционал уже доступен из коробки? Что можно сделать если его ещё нет, а хочется. Посмотрим на знакомые инструменты в новом воплощении и определим что эффективнее.
Понравилось видео и хочешь узнать…
Понравилось видео и хочешь узнать…
👍3🔥1
#Article #Medium #Recomposition
Exploring MovableContentOf in Jetpack Compose
В статье разбирается недавно представленная в Compose (в версии 1.2.0-alpha03) функция movableContentOf, которая позволяет проходить по UI-контенту без необходимости его рекомпозиции. Как утверждает автор, такой подход позволяет сэкономить время и повысить производительность приложения.
Exploring MovableContentOf in Jetpack Compose
В статье разбирается недавно представленная в Compose (в версии 1.2.0-alpha03) функция movableContentOf, которая позволяет проходить по UI-контенту без необходимости его рекомпозиции. Как утверждает автор, такой подход позволяет сэкономить время и повысить производительность приложения.
Medium
Exploring MovableContentOf in Jetpack Compose
Say goodbye to recomposing views in Android
👍7