Mobile Compose
前往频道在 Telegram
Твой главный путеводитель в мир Jetpack Compose и Compose Multiplatform. Android XR: @android_xr Личный блог: @grigorievdy_blog Автор: @grigorievdy Поддержать канал: https://t.me/mobile_compose?boost
显示更多2 943
订阅者
+224 小时
-17 天
-930 天
帖子存档
2 943
#реклама #conf
Mobius в поиске спикеров на новый сезон!
Конференция по мобильной разработке Mobius 2023 Autumn будет идти четыре дня: 1–2 ноября в online и 9–10 ноября в offline.
На конференции можно рассказать о платформах, языках, архитектуре, качестве продукта или инфраструктуре. Полный список тем — на сайте. Также можно предложить свою тему.
Вы можете выступить online или offline и выбрать любой формат выступления — доклад, воркшоп, интервью, обсуждение, BoF-сессию или придумать что-то свое.
На этапе подачи заявки подойдут даже примерные тезисы, необязательно иметь уже готовый доклад. После отправки заявки Программный комитет поможет доформулировать идею и превратить ее в доклад. А персональный куратор пройдет с вами весь путь — от идеи до продакшена: сделает ревью, поможет с доработкой, проведет репетиции и даст рекомендации по выступлению.
Подавайте заявки до 25 июля.
2 943
#Предложка #Libs #Compose
Подборка Compose библиотек от подписчика (Часть 2)
Продолжение предыдущего поста о Compose библиотеках:
▫️Charty и Vico — библиотеки для работы с графиками и диаграммами разных видов.
▫️Pagecurl — добавляет эффект "книжной страницы" при перелистывании.
▫️Orbital — содержит различные анимации (к примеру, shared element transition).
▫️Seeker — добавляет свою реализацию SeekBar с высоким уровнем кастомизации.
▫️Compose Rich Editor — добавляет полностью кастомизируемый редактор Rich Text
▫️Rebugger (плагин для IDE) — библиотека для отладки UI, позволяющая отслеживать рекомпозиции, а так же причины которые их вызывают. Информацию выводит в Logcat.
2 943
#GoogleIO #Featured #AndroidDevelopers #JetpackCompose
[Eng] Advanced state and side effects in Jetpack Compose
Большое видео от ребят из Google, посвященное работе со State и Side Effects API в Jetpack Compose. Тема достаточно важная для понимания, поэтому рекомендую к просмотру.
2 943
#Предложка #Libs #Compose
Подборка Compose библиотек от подписчика (Часть 1)
Не так давно на канале запустилась новая рубрика с разбором различных Compose библиотек, и вот один из подписчиков (@B1ays) поделился в нашем чате своим рекомендуемым списком:
▫️Compose Markdown — добавляет элемент MarkdownText(), имеющий полную поддержку формата Markdown.
▫️Compose Shimmer — добавляет модификатор .shimmer(), создающий у элемента эффект мерцания (аналог Shimmer от Meta).
▫️Material Motion compose — реализация motion system для Compose.
▫️ColorPicker compose — добавляет элементы ImageColorPicker (для выбора цвета с изображения) и HsvColorPicker (колесо выбора цвета).
▫️Landscapist — загрузка изображений полученных из сети в Compose интерфейсе. Умеет работать с Glide, Picasso и Fresco.
▫️Camposer — Compose обёртка для API камеры. Предоставляет возможность быстрой интеграции камеры в приложение
Напоминаю, что у нас есть чат, где каждый из вас также может предложить что-нибудь интересное, или же просто получить ответ на интересующий вопрос — @mobile_compose_chat.
2 943
#Article #Habr #Compose
Осознанная оптимизация Compose
Статья с перечислением достаточно большого количества оптимизаций кода на Compose. Можно проходить прямо по списку и подмечать те или иные моменты для улучшения вашего приложения.
Любопытное наблюдение: в последнее время стало явно заметно, что после появления у многих проблем с доступом к Medium, стремительно активизировался поток статей про Compose на Habr.
2 943
#GoogleIO #Featured #AndroidDevelopers #JetpackCompose
What's new with TV and intro to Compose
Еще одно видео с прошедшего Google I/O 2023, на этот раз с разбором возможностей интеграции Compose в разработку приложений для TV. Даже куски кода с новым API показали.
2 943
Всем привет! За последние несколько месяцев к каналу присоединилось много новых людей, а поэтому я думаю нам стоит еще раз немного познакомиться.
Меня зовут Григорьев Дмитрий, я автор канала Mobile Compose, а также, как и многие из вас, мобильный разработчик, который видит огромный потенциал в Jetpack Compose. Периодически выступаю с докладами на конференциях, и (реже) пишу статьи.
Mobile Compose — это не только канал о Compose, но еще и вполне активно развивающееся сообщество. Нас уже больше 1700, и на этом мы не останавливаемся. Спасибо вам за поддержку!
Также напоминаю, что у нас есть чатик, в котором вы можете задать интересующий вопрос, или наоборот, поделиться полезной информацией с другими — @mobile_compose_chat.
2 943
#Libs #Compose
Compose Sensors — удобная обёртка над Android Sensor API для работы с датчиками в Jetpack Compose.
P.S. Решил добавить новую рубрику на канал, которая будет посвящена различным библиотекам из мира Jetpack Compose. Таким образом и вы не пропустите какое-нибудь полезное решение от комьюнити, и контента на канале станет больше.
2 943
#GoogleIO #Featured #AndroidDevelopers #JetpackCompose
[Eng] Debugging Jetpack Compose
Чрезвычайно полезное видео с прошедшего Google I/O 2023, в котором разбирается такая тема как отладка Jetpack Compose. Почему происходит (или не происходит) рекомпозиция, как оптимизировать производительность экрана, а также как обычный лог может сам стать причиной рекомпозиции — обо всем этом в сегодняшнем видео.
2 943
#Release #Compose #Changelog
Compose Release Digest (19.04 — 02.06)
Традиционный дайджест по основным изменениям релизов библиотек фреймворка за последние полтора месяца, среди которых:
🔹RC/Stable🔹
🔸🔸Compose Compiler (1.4.6 — 1.4.7)
▫️Добавлена поддержка версии Kotlin 1.8.21.
▫️Требуемая версия Java понижена с 17 до 11.
🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.4.2 — 1.4.3)
▫️Исправлена проблема, при которой AndroidView мог отображаться неверно при использовании с некоторыми модификаторами. (Подробнее)
▫️Исправлен баг, из-за которого клавиатура не отображалась для текстовых полей внутри диалогов, не созданных через Dialog composable. (Подробнее)
🔹Alpha/Beta🔹
🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.5.0-alpha03 — 1.5.0-beta01)
▫️Изменено дефолтное поведение SubcomposeLayout в LookaheadScope, внутри которого нет условных slot-блоков (как TabRow, Scaffold или BoxWithConstraints), что позволяет ему лучше работать с lookahead анимациями.
▫️В AnimatedContent добавлена поддержка contentKey. (Подробнее)
▫️В ходе рефакторинга значительно сокращено количество выделений памяти в рекомпозиции, анимациях и AndroidComposeView. (Подробнее)
▫️FlowColumn/FlowRow теперь inline. (Подробнее)
▫️LazyStaggeredGrid API теперь stable. (Подробнее)
▫️Добавлены FlowRowScope и FlowColumnScope для дочерних элементов FlowRow и FlowColumn соответственно. (Подробнее)
▫️Добавлен экспериментальный модификатор Modifier.animateItemPlacement() для анимирования изменения/переупорядочивания позиций элементов при работе с LazyStaggeredGrid. (Подробнее)
▫️В BasicText добавлен отдельный лямбда-параметр color. Спорное решение, но, по заявлению разработчиков, это позволит эффективнее задавать цвет текста, а также его анимировать. (Подробнее)
▫️В методы DrawScope.drawText, Paragraph.paint и MultiParagraph.paint добавлен параметр BlendMode для поддержки различных алгоритмов смешивания при рисовании текста на Canvas. (Подробнее).
▫️TextMeasurer и связанные с ним API больше не являются экспериментальными. (Подробнее).
... и много всего ещё.
Также были обновлены и различные дополнения Compose, а именно:
▫️constraintlayout-compose обновлен до версии 1.1.0-alpha10
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версий 1.0.0-alpha05 и 1.2.0-beta01
▫️Paging-Compose обновлен до версии 1.0.0-alpha20
▫️Compose Material 3 (Material You) обновлен до версии 1.2.0-alpha02
2 943
Мы тут с ребятами собрали "Джентльменский набор мобильного разработчика" — 8 полезных Telegram каналов разной тематики, связанные с мобильной разработкой.
Сохраняйте папку для удобства — https://t.me/addlist/k3QvI6MeX49kMjhi
P.S. если вдруг ссылка не открывается, проверьте, что ваш Telegram-клиент обновлен до последней версии.
2 943
#Article #Medium #Recomposition #Compose
Exercises in futility: Jetpack Compose Recomposition
Очередная полезная статья на тему рекомпозиции. В данном случае автор на простом примере разбирает неочевидные кейсы, в которых может происходить излишняя рекомпозиция, а также дает советы по её избежанию.
2 943
#реклама
Онлайн-мероприятие Kaspersky Tech «Выйти в open source и нанести всем пользу». Начало 24 мая 16.00 по мск
На примере популярного open source фреймворка для тестирования пользовательского интерфейса Android расскажем, какой путь предстоит пройти контрибьюторам и какие подводные камни их могут ждать.
Что дает Kaspresso:
- Стабильность: устраняет flakyness тестов: они не ломаются на N+1й попытке
- Ускорение библиотек тестов пользовательского интерфейса: некоторые команды UI Automator выполняются в 10 раз быстрее
- Читаемость кода, читаемость логов: код делается значительно короче и читабельнее, а сам фреймворк пишет собственные и подробные логи
- Перехватчики: свои перехватчики поведения Kaspresso для обработки сбоев, чтобы добавлять настраиваемые действия и преодолеть ненадежные операции
- Конфигурируемость: можно самостоятельно настроить любую часть Kaspresso
Регистрируйтесь по ссылке на сайте: https://kas.pr/b54o
2 943
#Article #Medium #Compose
ViewCompositionStrategy Demystified
Существует такое непростое, но весьма важное понятие в Compose, как ViewCompositionStrategy. Если вкратце — это различные стратегии, используемые ComposeView и AbstractComposeView для определения того, когда и как должна очищаться композиция.
В статье автор разбирает что ViewCompositionStrategy из себя представляет, а также рассказывает о том, как правильно выбрать подходящую стратегию для конкретного UseCase-а.
2 943
#Medium #Article #Canvas #Compose
Learn Jetpack Compose Canvas Cubic and Quadratic Bezier And Its Usage
В продолжение предыдущей статьи, на этот раз автор рассказывает про рисование более сложных фигур с использованием квадратичных и кубических кривых Безье. И всё это на Compose Canvas.
2 943
#Medium #Article #Compose
Understand Drawing Arc of A Path In Jetpack Compose Canvas
Начинаем рабочую неделю сразу с интересного — рисование нестандартных фигур при помощи Canvas Path в Jetpack Compose.
2 943
#Article #Blog #Compose
Google’s account switcher with Jetpack Compose
Пример реализации фичи переключения Google аккаунта (как в Gmail) в приложении при помощи Compose.
Кому интересно, код на GitHub можно глянуть тут.
2 943
#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 году.
2 943
#Article #Medium #Compose #Glance
Taking Compose Glance Widgets under control
Автор статьи рассказывает о том, как можно создать Android-виджет при помощи библиотеки Glance Compose, а также как организовать настройку и обновление каждого экземпляра виджета по отдельности.
2 943
#Article #Medium #Animation
Creating a particle explosion animation in Jetpack Compose
Canvas + немного математики = интересная анимация с эффектом взрыва частиц на Compose.
Как это работает — в сегодняшней статье.
