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
#Article #Medium

Architecture in Jetpack Compose — MVP, MVVM, & MVI

Интересная статья, разбирающая извечный вопрос “Какую архитектуру использовать для presentation-слоя приложения?” в контексте приложения на Jetpack Compose.

А какой архитектурный подход нравится больше вам?
#Article #Medium #Recomposition

How To Understand Composables & Recomposition: A Beginners Guide To Jetpack Compose

Неплохая статья, покрывающая основные фундаментальные концепции и термины, относящиеся к Jetpack Compose. Для лучшего восприятия материала, автор старается использовать как можно меньше незнакомых терминов, а также рассматривать новые концепции в сравнении с уже имеющимися решениями в традиционном UI-фреймворке.
#Release #Beta #Changelog

Релиз Jetpack Compose 1.0.0-beta02

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

▫️Небольшие изменения, связанные с выравниванием контента внутри AppBar и BottomAppBar. (Подробнее)
▫️Оптимизировали логику измерения LazyColumn, что позволило улучшить производительность списка примерно на 35%. (Подробнее)
▫️Добавлено дополнение hilt-navigation-compose с новым API для работы с viewmodel. (Подробнее)
▫️Исправлена проблема, возникавшая при сохранении состояния через rememberSaveable внутри NavHost destination. (Подробнее)

Новое обновление коснулось и дополнения, связанного с навигацией — navigation-compose было обновлено до версии 1.0.0-alpha09, основным изменением которой является то, что LocalViewModelStoreOwner.current теперь возвращает ViewModelStoreOwner? для точного определения, доступен ли ViewModelStoreOwner в текущей композиции.

Важно также помнить, что для перехода на beta02 необходимо поднять версию Kotlin compiler до 1.4.31.
#Article #Article

Dealing with flaky tests in Jetpack Compose

Статья рассказывает о том, как работать с так называемыми “Flaky” тестами при покрытии Jetpack Compose кода. В качестве решения проблемы автор предлагает использовать функционал библиотеки Barista. Подробнее в сегодняшней статье.
#Article #Medium

Android Jetpack Compose: CompositionLocal Made Easy

Совсем недавно здесь была пост о том, как ребята из “Технократии” сделали библиотеку для динамической смены локализации при помощи CompositionLocal. В сегодняшней статье знакомимся поближе с этим инструментом, а также разбираемся в чём же разница между staticCompositionLocalOf и compositionLocalOf.
#Release #Beta #Changelog

Релиз Jetpack Compose 1.0.0-beta03

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

▫️DefaultMonotonicFrameClock теперь deprecated. Теперь вызов функций withFrameNanos и Recomposer.runRecomposeAndApplyChanges без использования MonotonicFrameClock будет выбрасывать IllegalStateException. (Подробнее)
▫️Добавлено новое API LeadingIconTab для поддержки отображения табами иконок и текста. (Подробнее)
▫️Добавлены опциональные параметры startX/endX и startY/endY для функций swipeUp/swipeDown/swipeLeft/swipeRight из GestureScope. (Подробнее)
▫️FlingBehavior.performFling() теперь вызывается даже при velocity равной 0. (Подробнее)

Новое обновление получилось довольно компактным, без кардинальных изменений, а также обновлений navigation-compose и paging-compose.
#Article #Medium

Android Jetpack Compose: Theme Made Easy

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

Jetpack Compose Animations I

Одни из наиболее значительных изменений, появившихся с приходом бета-версии, касаются нового API анимации, упрощающего процесс поддержки уже существующих, а также создания новых анимаций. Часть анимаций из нового API с примерами кода и демонстрацией результата показывает автор сегодняшней статьи.
#Release #Beta #Changelog

Релиз Jetpack Compose 1.0.0-beta04

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

▫️Методы showSoftwareKeyboard() и hideSoftwareKeyboard() интерфейса SoftwareKeyboardController переименованы в show() и hide() соответственно. (Подробнее)
▫️Добавлен новый тип TextOverflow для текстовых полей — Visible. (Подробнее)
▫️Теперь локальные composable функции (объявленные внутри других аналогичных) не будут игнорироваться при рекомпозиции внешней функции. (Подробнее)
▫️Исправлена проблема rememberSaveable() с восстановлением некорректного значения при работе с полями ввода. (Подробнее)
▫️Добавлено новое LiveRegion API для работы со специальными возможностями Android. (Подробнее)

Новое обновление коснулось и дополнения, связанного с навигацией — navigation-compose было обновлено до версии 1.0.0-alpha10.

Важно также помнить, что для перехода на beta04 необходимо поднять версию Kotlin compiler до 1.4.32.
#Article #Medium #Animation

Android Jetpack Compose: Animation Spec Made Easy

Грамотное использование интерполяции позволяет задать анимации более реалистичное поведение. При работе с Jetpack Compose наиболее распространенным способом интерполировать анимацию является использование интерфейса AnimationSpec. Что это и как это правильно использовать в своих проектах в сегодняшней статье.
#Article #Medium #Animation

Android Jetpack Compose: DecayAnimationSpec Made Easy

Продолжаем тему анимаций. На этот раз мы поговорим о Fling-анимациях, которые при работе с Jetpack Compose реализуются при помощи интерфейса DecayAnimationSpec. Подробнее об этом в сегодняшней статье.
#Article #Medium #Canvas

Exploring Jetpack Compose Canvas: the power of drawing

Работа с Canvas является одной из основополагающих в создании собственных UI-компонентов. В сегодняшней статье автор делится своим опытом работы с Canvas при помощи Jetpack Compose. Большая часть примеров кода приведена из проекта автора, созданного в рамках TheAndroidDevChallenge#2.
#Youtube #Video

Android Crew LiveCoding: Compose Advanced

Совсем недавно на очередной Podlodka Android Crew была организована livecoding сессия по Jetpack Compose, а вел ее сам разработчик фреймворка из Google (а по совместительству гость нашего канала 🙂) — Андрей Куликов. Целью доклада было сфокусироваться на более продвинутых вариантах использования приложений, а также показать как они реализуются при помощи Jetpack Compose. Рекомендую к просмотру!
#Article #Blog #Web #Compose

Technology Preview: Jetpack Compose for Web

Команда разработчиков JetBrains несколько дней назад представили технологическое превью Compose for Web — имплементацию известного нам UI-фреймворка для Web разработки. Больше подробностей о новой разработке можно прочитать в блоге компании.
#Release #Beta #Changelog

Релиз Jetpack Compose 1.0.0-beta05 & 1.0.0-beta06

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

▫️Добавлены новые CollectionInfo и CollectionItemInfo API для работы с semantics списков. (Подробнее)
▫️Добавлены дефолтные значения (0.dp) для PaddingValues. (Подробнее)
▫️Исправлен баг с некорректным размером Row/Column при использовании weight(fill = false) дочерним элементом. (Подробнее)
▫️Добавлены Font() функции для получения шрифтов из ресурсов, файлов и FileDenoscriptor. (Подробнее)
▫️Добавлен конструктор TextUnit(value: Float, type: TextUnitType). (Подробнее)

Последние обновления получились без кардинальных изменений и не затронули navigation-compose и paging-compose.
#Article #Medium

Compose CameraX on Android

Jetpack Compose + CameraX = ?
На данный момент официального способа интегрировать CameraX в приложение на компоузе нет. Автор статьи рассказывает как можно обойти это ограничение, предлагая для этого свое решение.
​​Друзья, у меня для вас маленькое объявление🔥.

Нас уже почти 600, и это наше общее большое достижение. За чуть больше полугода существования канал вырос до крупнейшего ресурса в Telegram, посвященного Jetpack Compose. Однако на этом мы останавливаться не будем. Отныне тематика канала будет посвящена использованию Compose не только в Android, но и в мобильной (а также кроссплатформенной) разработке в целом.

А для формирования правильной айдентики канала я решил, что теперь он будет называться "Mobile Compose", что наиболее точно будет отражать его контент.

Всем спасибо, двигаемся дальше!🙂
​​#Conference

SECON'2021

Уже совсем скоро, в конце июня пройдет XII Международная конференция разработчиков ПО SECON'2021, на которой будет куча интересных докладов про мобильную разработку, кроссплатформу, геймдев и многое другое (кстати, я там тоже выступлю с материалом 😉). Ну а для тех, кто захочет отдохнуть между докладами, на территории конференции будет доступно множество активностей (включая Afterparty в конце первого дня).

◽️ Где? — гостиничный комплекс «Арт-Пенза»
◽️ Когда? — 19 и 20 июня
◽️ Подробности? — На официальном сайте мероприятия
#Article #Medium

Wastewater tracking app with HMS ML Kit sound detection and Jetpack Compose

Разнообразие идей применения Jetpack Compose в различных задачах не перестает удивлять. На этот раз автор решил написать приложение для учёта расхода воды при помощи HMS ML Kit и Jetpack Compose. Как и что из этого вышло — в сегодняшней статье.
#compose #desktop #kotlin

Compose for Desktop: Milestone 4 Released

Compose для десктоп продолжает стремительно развиваться и вот уже вчера, ребята из JetBrains представили новое обновление фреймворка — Milestone 4. Новый релиз содержит множество функций, которые упростят разработку десктопных решений, в числе которых:

▫️Новое эксперементальное API для работы с Window, Dialog, MenuBar, и Tray
▫️Добавление поддержки Tooltip при помощи компонента BoxWithTooltip
▫️Улучшения функций работы с текстом и многое другое.

Больше информации в блоге компании.