#Article #Habr
Трансформация Android-разработки с Jetpack Compose и Корутинами
Jetpack Compose + Coroutines + MVI
Интересная статья об опыте использования такого стека технологий в рамках небольшого приложения для контроля количества выпитого кофе.
Трансформация Android-разработки с Jetpack Compose и Корутинами
Jetpack Compose + Coroutines + MVI
Интересная статья об опыте использования такого стека технологий в рамках небольшого приложения для контроля количества выпитого кофе.
Хабр
Трансформация Android-разработки с Jetpack Compose и Корутинами
Jetpack Compose — одна из наиболее обсуждаемых тем из серии видео про Android 11, заменивших собой Google IO. Многие ожидают от библиотеки, что она решит проблем...
#Article #Medium
Building a Design System implementation using Jetpack Compose — Part1 (Theme)
Дизайн-система, как набор правил и инструментов для визуального и технического исполнения, всё чаще становится неотъемлемой частью Android приложения. Автор статьи приводит пример создания такой системы при использовании Jetpack Compose.
Building a Design System implementation using Jetpack Compose — Part1 (Theme)
Дизайн-система, как набор правил и инструментов для визуального и технического исполнения, всё чаще становится неотъемлемой частью Android приложения. Автор статьи приводит пример создания такой системы при использовании Jetpack Compose.
Medium
Building a Design System implementation using Jetpack Compose — Part1 (Theme)
Recently working on a Design System project using Jetpack Compose building the implementation on Android application. I Hope can through…
#Release #Alpha
Вышел новый релиз Jetpack Compose — alpha-06
Новый минорный релиз включает в себя добавление двух долгожданных фич — navigation-compose и paging-compose
Вышел новый релиз Jetpack Compose — alpha-06
Новый минорный релиз включает в себя добавление двух долгожданных фич — navigation-compose и paging-compose
Android Developers
Recent Release Notes | Android Developers
#Libs #Github
Accompanist by Chris Banes
Accompanist - это набор библиотек, содержащий различные полезные утилиты для работы с Jetpack Compose. Проект активно развивается и уже на данном этапе предоставляет функционал для работы с:
- Изображениями (используя Glide, Picasso или Coil)
- WindowInsets
Accompanist by Chris Banes
Accompanist - это набор библиотек, содержащий различные полезные утилиты для работы с Jetpack Compose. Проект активно развивается и уже на данном этапе предоставляет функционал для работы с:
- Изображениями (используя Glide, Picasso или Coil)
- WindowInsets
GitHub
GitHub - google/accompanist: A collection of extension libraries for Jetpack Compose
A collection of extension libraries for Jetpack Compose - google/accompanist
#Links #Desktop #Github
Jetpack Compose for Desktop: Milestone 1 Released
Сегодня компанией JetBrains был анонсирован первый релиз Jetpack Compose for Desktop, с помощью которого можно декларативно писать приложения для десктопных ОС (поддержка Windows, macOS и Linux).
С примерами приложений можно ознакомиться в отдельном репозитории GitHub.
Jetpack Compose for Desktop: Milestone 1 Released
Сегодня компанией JetBrains был анонсирован первый релиз Jetpack Compose for Desktop, с помощью которого можно декларативно писать приложения для десктопных ОС (поддержка Windows, macOS и Linux).
С примерами приложений можно ознакомиться в отдельном репозитории GitHub.
#AndroidBroadcast #Desktop #Youtube
Jetpack Compose на Desktop - Android Broadcast
В прошлом посте я рассказывал о дебютном релизе Jetpack Compose for Desktop, а уже сегодня, в гости к каналу Android Broadcast пришёл руководитель команды Compose for Desktop в JetBrains — Николай Иготти. Рекомендую к просмотру.
Jetpack Compose на Desktop - Android Broadcast
В прошлом посте я рассказывал о дебютном релизе Jetpack Compose for Desktop, а уже сегодня, в гости к каналу Android Broadcast пришёл руководитель команды Compose for Desktop в JetBrains — Николай Иготти. Рекомендую к просмотру.
YouTube
Compose for Desktop / Kotlin Multiplatform UI
#AndroidBroadcast #Compose #Kotlin
Jetpack Compose выходит за пределы Android и уже стал доступен на Desktop. Обсуждаем перенос технологии на различные платформы и будущий ее рост
Гость - Николай Иготти, Руководитель команды Compose for Desktop в JetBrains.…
Jetpack Compose выходит за пределы Android и уже стал доступен на Desktop. Обсуждаем перенос технологии на различные платформы и будущий ее рост
Гость - Николай Иготти, Руководитель команды Compose for Desktop в JetBrains.…
#Article #Medium
Android Jetpack Compose — Exploring State Based UI
Отображение списка данных является неотъемлимой частью большинства мобильных приложений. На данный момент в Jetpack Compose существует возможность создания лишь линейных списков при помощи функций LazyColumnFor() и LazyRowFor(). В качестве решения этой проблемы автор статьи предлагает использовать собственное решение - LazyGridFor() (аналог GridLayoutManager для RecyclerView). Помимо этого, в статье рассматривается пошаговая реализация UI-состояний экрана с таким списком, а также их обработка при помощи StateFlow.
Android Jetpack Compose — Exploring State Based UI
Отображение списка данных является неотъемлимой частью большинства мобильных приложений. На данный момент в Jetpack Compose существует возможность создания лишь линейных списков при помощи функций LazyColumnFor() и LazyRowFor(). В качестве решения этой проблемы автор статьи предлагает использовать собственное решение - LazyGridFor() (аналог GridLayoutManager для RecyclerView). Помимо этого, в статье рассматривается пошаговая реализация UI-состояний экрана с таким списком, а также их обработка при помощи StateFlow.
Medium
Android Jetpack Compose — Exploring State Based UI
This Article walks through step by step implementation of Compose UI to load data into Grid with paging, along with loading and error UI.
#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 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 недели.
Android Developers
Recent Release Notes | Android Developers
Друзья, в прошлой публикации я решил сделать обзор нового релиза Jetpack Compose с кратким описанием основных изменений. Это полезно при миграции с одной версии на другую, особенно если речь идет об альфе. В связи с тем, что таких релизов планируется еще множество, есть идея выкладывать такие обзоры и дальше. Как вам такая идея?
P.S. Также не забывайте о нашем чат-канале, в котором мы можете писать свои предложения. 🙂
P.S. Также не забывайте о нашем чат-канале, в котором мы можете писать свои предложения. 🙂
Telegram
Mobile Compose сhat
Обсуждение новостей из @mobile_compose
#Article #Blog #Animation
Jetpack Compose Animations Tutorial: Getting Started
Анимация играет далеко не маловажную роль в любом Android приложении. Зачастую именно при помощи красивой и качественно реализованной анимации можно акцентировать внимание пользователя на деталях, или же, наоборот, компенсировать другие недостатки приложения. В Jetpack Compose анимациям уделено особое внимание в виде отдельного API. Именно об этом инструменте и о различных возможностях работы с ним рассказывает автор статьи на примере простой кнопки.
Jetpack Compose Animations Tutorial: Getting Started
Анимация играет далеко не маловажную роль в любом Android приложении. Зачастую именно при помощи красивой и качественно реализованной анимации можно акцентировать внимание пользователя на деталях, или же, наоборот, компенсировать другие недостатки приложения. В Jetpack Compose анимациям уделено особое внимание в виде отдельного API. Именно об этом инструменте и о различных возможностях работы с ним рассказывает автор статьи на примере простой кнопки.
kodeco.com
Jetpack Compose Animations Tutorial: Getting Started
In this tutorial, you’ll build beautiful animations with Jetpack Compose Animations, and discover the API that lets you build these animations easily.
#Article #Medium #Navigation
Implement Bottom Bar Navigation in Jetpack Compose
Bottom Navigation - один из самых популярных паттернов в формировании дизайна Android приложения, который используется практически в каждом большом проекте. С его помощью приложение можно разделить на разные по содержимому контенту и выполняемым функциям секции. Автор статьи предлагает свой вариант реализации навигации через Bottom Navigation при помощи уже известного navigation-compose.
Implement Bottom Bar Navigation in Jetpack Compose
Bottom Navigation - один из самых популярных паттернов в формировании дизайна Android приложения, который используется практически в каждом большом проекте. С его помощью приложение можно разделить на разные по содержимому контенту и выполняемым функциям секции. Автор статьи предлагает свой вариант реализации навигации через Bottom Navigation при помощи уже известного navigation-compose.
Medium
Implement Bottom Bar Navigation in Jetpack Compose
in this article we would explore the new navigation component released for Jetpack Compose and implement a bottom bar navigation system.
#Article #Medium
Jetpack Compose Interop Part 1: Using Traditional Views and Layouts in Compose with AndroidView
Интероперабельность - одно из важнейших преимуществ Jetpack Compose, обеспечивающее обратную совместимость между классическим и Composable кодом. Это позволяет без особого труда комбинировать оба подхода в рамках одного проекта, что важно, если необходимо внедрить JC в уже существующее приложение. В статье рассказывается о возможностях использования функции AndroidView, позволяющей размещать классические UI-компоненты внутри Composable-функций.
Jetpack Compose Interop Part 1: Using Traditional Views and Layouts in Compose with AndroidView
Интероперабельность - одно из важнейших преимуществ Jetpack Compose, обеспечивающее обратную совместимость между классическим и Composable кодом. Это позволяет без особого труда комбинировать оба подхода в рамках одного проекта, что важно, если необходимо внедрить JC в уже существующее приложение. В статье рассказывается о возможностях использования функции AndroidView, позволяющей размещать классические UI-компоненты внутри Composable-функций.
Medium
Jetpack Compose Interop Part 1: Using Traditional Views and Layouts in Compose with AndroidView
Like most Android developers following the development of Jetpack Compose you are probably wondering if you will need to rewrite your…
#Article #Medium
Jetpack Compose Interop Part 2: Using Compose in Traditional Android Views and Layouts with ComposeView
Продолжение предыдущей статьи о возможности обратной совместимости между Jetpack Compose и традиционным UI-фреймворком. На этот раз автор статьи рассказывает о возможностях ComposeView и AbstractComposeView, позволяющих "встраивать" Composable-код в XML-вёрстку.
Jetpack Compose Interop Part 2: Using Compose in Traditional Android Views and Layouts with ComposeView
Продолжение предыдущей статьи о возможности обратной совместимости между Jetpack Compose и традиционным UI-фреймворком. На этот раз автор статьи рассказывает о возможностях ComposeView и AbstractComposeView, позволяющих "встраивать" Composable-код в XML-вёрстку.
Medium
Jetpack Compose Interop Part 2: Using Compose in Traditional Android Views and Layouts with…
In Part 1 I demonstrated how we can use AndroidView to render traditional Views inside our Compose UI. For this part, we are now going to…
#Article #Medium #Recomposition
Android Jetpack Compose: Recomposition Made Easy
Автор статьи рассказывает о рекомпозиции — свойстве Jetpack Compose, позволяющем перерисовывать UI-компоненты без необходимости вызова самих Composable-функций. Всё это решается при помощи mutableStateOf().
Android Jetpack Compose: Recomposition Made Easy
Автор статьи рассказывает о рекомпозиции — свойстве Jetpack Compose, позволяющем перерисовывать UI-компоненты без необходимости вызова самих Composable-функций. Всё это решается при помощи mutableStateOf().
Medium
Android Jetpack Compose: Recomposition Made Easy
Make Learning Jetpack Compose Easier
#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
Релиз 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
Android Developers
Recent Release Notes | Android Developers
#Article #Medium #Recomposition
Android Jetpack Compose: Remember Made Easy
Совсем недавно на канале выходил пост о рекомпозиции в Jetpack Compose при помощи mutableStateOf(). В качестве продолжения, в этой статье автор решил рассмотреть другую немаловажную концепцию в работе со State — remember.
Android Jetpack Compose: Remember Made Easy
Совсем недавно на канале выходил пост о рекомпозиции в Jetpack Compose при помощи mutableStateOf(). В качестве продолжения, в этой статье автор решил рассмотреть другую немаловажную концепцию в работе со State — remember.
Medium
Android Jetpack Compose: Remember Made Easy
Make Learning Jetpack Compose Easier
#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. Если есть интересные источники, которых нет в этом списке, пишите в наш чат-канал😉.
На данные момент существует большое количество источников, позволяющих детально рассмотреть основные 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 с примерами их использования. Большим плюсом таковых является поддержание актуальности…»
#Article #Medium
RecyclerView and LazyColumnFor in Jetpack Compose
Большинство мобильных приложений так или иначе работают со списками данных. В одном из прошлых постов рассказывалось как реализовать Grid-список при помощи LazyGridFor(). На этот раз поговорим о более часто используемом виде списка — линейном, который представлен в Jetpack Compose функциями LazyColumnFor() и LazyRowFor() в зависимости от необходимой ориентации списка. В статье также затрагиваются такие темы как работа с несколькими видами ViewType, а также обработка таких кейсов как ItemDecoration и Workaround.
RecyclerView and LazyColumnFor in Jetpack Compose
Большинство мобильных приложений так или иначе работают со списками данных. В одном из прошлых постов рассказывалось как реализовать Grid-список при помощи LazyGridFor(). На этот раз поговорим о более часто используемом виде списка — линейном, который представлен в Jetpack Compose функциями LazyColumnFor() и LazyRowFor() в зависимости от необходимой ориентации списка. В статье также затрагиваются такие темы как работа с несколькими видами ViewType, а также обработка таких кейсов как ItemDecoration и Workaround.
Medium
RecyclerView and LazyColumnFor in Jetpack Compose
Learn The RecyclerView of Jetpack Compose
#Release #Alpha #Changelog
Релиз Jetpack Compose 1.0.0-alpha09
Некоторые из изменений, пришедших с новым минорным обновлением:
▫️LazyColumnFor и LazyRowFor теперь deprecated, вместо них надо использовать LazyColumn и LazyRow
▫️Добавлен LazyVerticalGrid 🔥
▫️В конструктор текстовых полей добавлен параметр InteractionState (для работы с состояниями Dragged, Pressed и Focused)
▫️Modifier.focusObserver теперь deprecated, вместо этого надо использовать Modifier.onFocusChanged или Modifier.onFocusEvent
▫️Modifier.offset теперь возвращает в лямбде IntOffset вместо Float
Также обновление коснулось и дополнений, связанные с навигацией и пагинацией — navigation-compose и paging-compose были обновлены до версии 1.0.0-alpha04.
Изменений на этот раз довольно мало, в основном исправление существующих проблем:
▫️Обновлены свойства CombinedLoadStates.refresh, CombinedLoadStates.prepend и CombinedLoadStates.append применимо к переходу из состояния Loading в состояние NotLoading
▫️По навигации существенных изменений нет
P.S. Также важно, что для перехода на alpha09 необходимо поднять версию Kotlin compiler до 1.4.21. По заявлению разработчиков это последний релиз в уходящем года и новый стоят ожидать уже в январе.
Релиз Jetpack Compose 1.0.0-alpha09
Некоторые из изменений, пришедших с новым минорным обновлением:
▫️LazyColumnFor и LazyRowFor теперь deprecated, вместо них надо использовать LazyColumn и LazyRow
▫️Добавлен LazyVerticalGrid 🔥
▫️В конструктор текстовых полей добавлен параметр InteractionState (для работы с состояниями Dragged, Pressed и Focused)
▫️Modifier.focusObserver теперь deprecated, вместо этого надо использовать Modifier.onFocusChanged или Modifier.onFocusEvent
▫️Modifier.offset теперь возвращает в лямбде IntOffset вместо Float
Также обновление коснулось и дополнений, связанные с навигацией и пагинацией — navigation-compose и paging-compose были обновлены до версии 1.0.0-alpha04.
Изменений на этот раз довольно мало, в основном исправление существующих проблем:
▫️Обновлены свойства CombinedLoadStates.refresh, CombinedLoadStates.prepend и CombinedLoadStates.append применимо к переходу из состояния Loading в состояние NotLoading
▫️По навигации существенных изменений нет
P.S. Также важно, что для перехода на alpha09 необходимо поднять версию Kotlin compiler до 1.4.21. По заявлению разработчиков это последний релиз в уходящем года и новый стоят ожидать уже в январе.
Android Developers
Recent Release Notes | Android Developers
Друзья, у меня есть хорошая новость! Кто еще не в курсе, Александр Горшков (автор канала Android Live) позвал меня в гости на свой Youtube-канал, где мы в прямом эфире напишем небольшое мобильное приложение на Jetpack Compose, а вы сможете задать интересующие вас вопросы.
▫️Что? — На встрече разберем такие аспекты как работа со списком, навигацией, анимацией и много чего еще.
▫️Где? — Youtube-канал Android Live (ссылка появится немного позже)
▫️Когда? — 21 декабря в 18:30 по МСК
#News
▫️Что? — На встрече разберем такие аспекты как работа со списком, навигацией, анимацией и много чего еще.
▫️Где? — Youtube-канал Android Live (ссылка появится немного позже)
▫️Когда? — 21 декабря в 18:30 по МСК
#News
Telegram
Android Live 🤖
Самые свежие новости, новинки и тренды Android от практикующего разработчика.
Автор: @al_gorshkov,
Чат: @android_live_chat
Личный блог: @al_gorshkov_blog
Рекламу не размещаю
Автор: @al_gorshkov,
Чат: @android_live_chat
Личный блог: @al_gorshkov_blog
Рекламу не размещаю