Mobile Compose – Telegram
Mobile Compose
2.91K subscribers
135 photos
3 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

Understanding Jetpack Compose — Part 1 of 2

Статья от человека, имеющего непосредственное участие в разработке Jetpack Compose — Leland Richardson. Автор рассказывает о причинах тех или иных архитектурных решений и как они должны помочь разработчикам, а также объясняет, чем композиция лучше наследования.
#Article #Medium

Under the hood of Jetpack Compose — part 2 of 2

Продолжение статьи от Leland Richardson о том, как работает Jetpack Compose "под капотом". На этот раз автор рассказывает что такое Composer, как происходит рекомпозиция отдельных функций, а также как работает @Composable функция внутри и в чем её сходство с suspend-функцией.
​​#Links #Github

Jetpack Compose Playground

Ресурс, содержащий много полезной информации для работы с Jetpack Compose, такой как:
1) Список компонентов с примерами их использования в коде
2) Примеры готовых приложений на Jetpack Compose
3) Подборка библиотек для JC и многое другое.
#Article #Medium

Building a Design System implementation using Jetpack Compose — Part1 (Theme)

Дизайн-система, как набор правил и инструментов для визуального и технического исполнения, всё чаще становится неотъемлемой частью Android приложения. Автор статьи приводит пример создания такой системы при использовании Jetpack Compose.
#Release #Alpha

Вышел новый релиз Jetpack Compose — alpha-06

Новый минорный релиз включает в себя добавление двух долгожданных фич — navigation-compose и paging-compose
#Libs #Github

Accompanist by Chris Banes

Accompanist - это набор библиотек, содержащий различные полезные утилиты для работы с Jetpack Compose. Проект активно развивается и уже на данном этапе предоставляет функционал для работы с:
- Изображениями (используя Glide, Picasso или Coil)
- WindowInsets
#Links #Desktop #Github

Jetpack Compose for Desktop: Milestone 1 Released

Сегодня компанией JetBrains был анонсирован первый релиз Jetpack Compose for Desktop, с помощью которого можно декларативно писать приложения для десктопных ОС (поддержка Windows, macOS и Linux).
С примерами приложений можно ознакомиться в отдельном репозитории GitHub.
#Article #Medium

Android Jetpack Compose — Exploring State Based UI

Отображение списка данных является неотъемлимой частью большинства мобильных приложений. На данный момент в Jetpack Compose существует возможность создания лишь линейных списков при помощи функций LazyColumnFor() и LazyRowFor(). В качестве решения этой проблемы автор статьи предлагает использовать собственное решение - LazyGridFor() (аналог GridLayoutManager для RecyclerView). Помимо этого, в статье рассматривается пошаговая реализация UI-состояний экрана с таким списком, а также их обработка при помощи StateFlow.
#Release #Alpha #Changelog

Релиз Jetpack Compose 1.0.0-alpha07

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

▫️ Добавлена поддержка Modifier.fillParentMaxSize внутри скоупа LazyColumn/Row
▫️ Добавлен BasicTextField на замену BaseTextField и CoreTextField
▫️ foundation.Text теперь deprecated, вместо него нужно использовать material.Text
▫️ Добавлен параметр KeyboardOptions для работы с текстовыми полями (вместо отдельных KeyboardType и ImeAction) и многое другое.

Также обновление коснулось и дополнений, связанные с навигацией и пагинацией — navigation-compose и paging-compose были обновлены до версии 1.0.0-alpha02.
Краткий список изменений, появившихся с обновлением:

▫️ Добавлен NavOptionsBuilder в качестве опционального параметра для функции .navigate()
▫️ Добавлены функции .popUpTo() и .launchSingleTop(), реализуемы с помощью NavOptions
▫️ Добавлены методы .peek(), .snapshot(), .retry() и .refresh() для LazyPagingItems

P.S. Разработчики заявили что уходят на небольшой перерыв в связи с приближающимся праздником Дня благодарения, а поэтому новый релиз стоит ожидать не раньше чем через 3 недели.
Друзья, в прошлой публикации я решил сделать обзор нового релиза Jetpack Compose с кратким описанием основных изменений. Это полезно при миграции с одной версии на другую, особенно если речь идет об альфе. В связи с тем, что таких релизов планируется еще множество, есть идея выкладывать такие обзоры и дальше. Как вам такая идея?

P.S. Также не забывайте о нашем чат-канале, в котором мы можете писать свои предложения. 🙂
#Article #Blog #Animation

Jetpack Compose Animations Tutorial: Getting Started

Анимация играет далеко не маловажную роль в любом Android приложении. Зачастую именно при помощи красивой и качественно реализованной анимации можно акцентировать внимание пользователя на деталях, или же, наоборот, компенсировать другие недостатки приложения. В Jetpack Compose анимациям уделено особое внимание в виде отдельного API. Именно об этом инструменте и о различных возможностях работы с ним рассказывает автор статьи на примере простой кнопки.
#Article #Medium #Navigation

Implement Bottom Bar Navigation in Jetpack Compose

Bottom Navigation - один из самых популярных паттернов в формировании дизайна Android приложения, который используется практически в каждом большом проекте. С его помощью приложение можно разделить на разные по содержимому контенту и выполняемым функциям секции. Автор статьи предлагает свой вариант реализации навигации через Bottom Navigation при помощи уже известного navigation-compose.
#Article #Medium

Jetpack Compose Interop Part 1: Using Traditional Views and Layouts in Compose with AndroidView

Интероперабельность - одно из важнейших преимуществ Jetpack Compose, обеспечивающее обратную совместимость между классическим и Composable кодом. Это позволяет без особого труда комбинировать оба подхода в рамках одного проекта, что важно, если необходимо внедрить JC в уже существующее приложение. В статье рассказывается о возможностях использования функции AndroidView, позволяющей размещать классические UI-компоненты внутри Composable-функций.
#Article #Medium

Jetpack Compose Interop Part 2: Using Compose in Traditional Android Views and Layouts with ComposeView

Продолжение предыдущей статьи о возможности обратной совместимости между Jetpack Compose и традиционным UI-фреймворком. На этот раз автор статьи рассказывает о возможностях ComposeView и AbstractComposeView, позволяющих "встраивать" Composable-код в XML-вёрстку.
#Article #Medium #Recomposition

Android Jetpack Compose: Recomposition Made Easy

Автор статьи рассказывает о рекомпозиции — свойстве Jetpack Compose, позволяющем перерисовывать UI-компоненты без необходимости вызова самих Composable-функций. Всё это решается при помощи mutableStateOf().
#Release #Alpha #Changelog

Релиз Jetpack Compose 1.0.0-alpha08

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

▫️Убран параметр maxLines у CoreTextField. Для этих целей теперь нужно использовать BasicTextField. Также в BasicTextField, TextField and OutlinedTextField добавлен параметр singeLine.
▫️Добавлен детектор таких мультитач-жестов, как rotation, zoom и panning.
▫️AbsoluteArrangement заменен на Arrangement.Absolute.
▫️Modifier.drawOpacity и Modifier.drawShadow переименованы в Modifier.alpha и Modifier.shadow соответственно.
▫️Новое API для запуска анимаций из корутин и многое другое.

Также обновление коснулось и дополнений, связанные с навигацией и пагинацией — navigation-compose и paging-compose были обновлены до версии 1.0.0-alpha03.
Изменений на этот раз довольно мало, в основном исправление существующих проблем:

▫️Исправлена проблема, при которой popBackStack() и navigateUp() не работали после смены конфигурации или пересоздания процесса приложения
▫️Исправлена навигация по вложенному графу внутри NavHost

P.S. Также важно, что для перехода на alpha08 необходимо поднять версию Kotlin compiler до 1.4.20
#Article #Medium #Recomposition

Android Jetpack Compose: Remember Made Easy

Совсем недавно на канале выходил пост о рекомпозиции в Jetpack Compose при помощи mutableStateOf(). В качестве продолжения, в этой статье автор решил рассмотреть другую немаловажную концепцию в работе со State — remember.
#Links #Github #Codelabs #Medium

На данные момент существует большое количество источников, позволяющих детально рассмотреть основные Composable-функции для формирования UI с примерами их использования. Большим плюсом таковых является поддержание актуальности документации и примеров, что весьма немаловажно когда продукт находится в Alpha-статусе.
Решил собрать в рамках одного поста все полезные источники:

▫️ Google codelabs - официальные кодлабы от Google

▫️ Jetpack Compose Playground - отличный источник с большим количеством разделов, гайдов и примеров

▫️ Learn Jetpack Compose By Example - в дополнение к предыдущему, содержит много ответов на часто возникающие вопросы у начинающих.

▫️ Which Compose API to use? - интересный сервис, позволяющий по выбранному компоненту из классического UI-фреймворка получить эквивалентный ему в Jetpack Compose, а также посмотреть примеры его использования

▫️ Jetpack Compose Awesome - как и Playground, содержит в себе много полезных ссылок по Jetpack Compose.

P.S. Если есть интересные источники, которых нет в этом списке, пишите в наш чат-канал😉.
Mobile Compose pinned «#Links #Github #Codelabs #Medium На данные момент существует большое количество источников, позволяющих детально рассмотреть основные Composable-функции для формирования UI с примерами их использования. Большим плюсом таковых является поддержание актуальности…»