#Article #Habr #Compose
Осознанная оптимизация Compose
Статья с перечислением достаточно большого количества оптимизаций кода на Compose. Можно проходить прямо по списку и подмечать те или иные моменты для улучшения вашего приложения.
Любопытное наблюдение: в последнее время стало явно заметно, что после появления у многих проблем с доступом к Medium, стремительно активизировался поток статей про Compose на Habr.
Осознанная оптимизация Compose
Статья с перечислением достаточно большого количества оптимизаций кода на Compose. Можно проходить прямо по списку и подмечать те или иные моменты для улучшения вашего приложения.
Любопытное наблюдение: в последнее время стало явно заметно, что после появления у многих проблем с доступом к Medium, стремительно активизировался поток статей про Compose на Habr.
Хабр
Осознанная оптимизация Compose
Jetpack Compose — относительно молодая технология написания декларативного UI. Множество разработчиков даже не предполагают, что пишут неоптимальный код в такой критически важной части, и впоследствии...
👍14🔥3❤🔥2❤1
#Предложка #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.
Подборка 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.
🔥13❤🔥1👍1🆒1
#GoogleIO #Featured #AndroidDevelopers #JetpackCompose
[Eng] Advanced state and side effects in Jetpack Compose
Большое видео от ребят из Google, посвященное работе со State и Side Effects API в Jetpack Compose. Тема достаточно важная для понимания, поэтому рекомендую к просмотру.
[Eng] Advanced state and side effects in Jetpack Compose
Большое видео от ребят из Google, посвященное работе со State и Side Effects API в Jetpack Compose. Тема достаточно важная для понимания, поэтому рекомендую к просмотру.
YouTube
Advanced state and side effects in Jetpack Compose
In this workshop you will learn advanced concepts related to State and Side Effects APIs in Jetpack Compose. We'll see how to create a state holder for stateful composables whose logic isn't trivial and how to create coroutines and call suspend functions…
👍7❤🔥2🔥2
#Предложка #Libs #Compose
Подборка Compose библиотек от подписчика (Часть 2)
Продолжение предыдущего поста о Compose библиотеках:
▫️Charty и Vico — библиотеки для работы с графиками и диаграммами разных видов.
▫️Pagecurl — добавляет эффект "книжной страницы" при перелистывании.
▫️Orbital — содержит различные анимации (к примеру, shared element transition).
▫️Seeker — добавляет свою реализацию SeekBar с высоким уровнем кастомизации.
▫️Compose Rich Editor — добавляет полностью кастомизируемый редактор Rich Text
▫️Rebugger (плагин для IDE) — библиотека для отладки UI, позволяющая отслеживать рекомпозиции, а так же причины которые их вызывают. Информацию выводит в Logcat.
Подборка Compose библиотек от подписчика (Часть 2)
Продолжение предыдущего поста о Compose библиотеках:
▫️Charty и Vico — библиотеки для работы с графиками и диаграммами разных видов.
▫️Pagecurl — добавляет эффект "книжной страницы" при перелистывании.
▫️Orbital — содержит различные анимации (к примеру, shared element transition).
▫️Seeker — добавляет свою реализацию SeekBar с высоким уровнем кастомизации.
▫️Compose Rich Editor — добавляет полностью кастомизируемый редактор Rich Text
▫️Rebugger (плагин для IDE) — библиотека для отладки UI, позволяющая отслеживать рекомпозиции, а так же причины которые их вызывают. Информацию выводит в Logcat.
❤🔥8👍6🔥6❤2🎉2🆒1
#Tools #Compose
Jetpack Compose SVG to Compose converter
Появился онлайн конвертер SVG файлов (можно загрузить как SVG код так и файл целиком) в Composable функции. В некоторых кейсах вполне полезный инструмент.
Jetpack Compose SVG to Compose converter
Появился онлайн конвертер SVG файлов (можно загрузить как SVG код так и файл целиком) в Composable функции. В некоторых кейсах вполне полезный инструмент.
🔥26👍6❤🔥1❤1
#Article #Medium #Canvas
Plotting Gradient Bezier Trends with Jetpack Compose
Новая (и очередная) статья о рисовании графика на канвасе в Compose при помощи кривых Безье.
Для тех, у кого проблемы с открытием Medium - зеркало.
Plotting Gradient Bezier Trends with Jetpack Compose
Новая (и очередная) статья о рисовании графика на канвасе в Compose при помощи кривых Безье.
Для тех, у кого проблемы с открытием Medium - зеркало.
Medium
Plotting Gradient Bezier Trends with Jetpack Compose
Either Compose is elegant, or if you want to draw something with an Android View you have to inherit from the View and implement the onDraw…
👍9❤🔥2❤1🆒1
#Video #Compose #Navigation
Навигируемся в Jetpack Compose
Доклад с осеннего Mobius 2022, посвященный одной из наиболее холиварных тем в Compose — выбору решения для навигации. В сравнении участвовали 4 основных библиотеки — Google Navigation, Appyx, Voyager и Modo.
Навигируемся в Jetpack Compose
Доклад с осеннего Mobius 2022, посвященный одной из наиболее холиварных тем в Compose — выбору решения для навигации. В сравнении участвовали 4 основных библиотеки — Google Navigation, Appyx, Voyager и Modo.
YouTube
Игорь Кареньков — Навигируемся в Jetpack Compose
Подробнее о конференции Mobius: https://jrg.su/ojGU3B
— —
Есть несколько библиотек для реализации навигации в Jetpack Compose: google navigation, voyager, modo, appyx, но что выбрать и как понять, что лучше?
Спикер сравнит различные библиотеки, выделит их…
— —
Есть несколько библиотек для реализации навигации в Jetpack Compose: google navigation, voyager, modo, appyx, но что выбрать и как понять, что лучше?
Спикер сравнит различные библиотеки, выделит их…
👍6🔥2❤🔥1🆒1
Утренний опрос.
Хватает ли вам русскоязычного контента (статьи/видео/курсы), посвященного Compose, для полного понимания фреймворка?
Хватает ли вам русскоязычного контента (статьи/видео/курсы), посвященного Compose, для полного понимания фреймворка?
Anonymous Poll
12%
Да, хватает
11%
Да, но некоторые темы плохо или вообще не разобраны
18%
Контента много, но базового уровня
22%
Не хватает, хотелось бы больше структурированного материала
33%
Читаю документацию на английском
3%
Другой ответ (в комментариях)
👍5❤🔥1👎1🌚1
#Libs #Compose
compose-bandage-reveal — интересный пример реализации эффекта "наклейки" для Swipe-To-Dismiss жестов.
compose-bandage-reveal — интересный пример реализации эффекта "наклейки" для Swipe-To-Dismiss жестов.
🔥31🆒7❤4👍4❤🔥2
#Article #Medium #Libs
Introducing Nibel: A Navigation Library for Adopting Jetpack Compose in Fragment-Based Apps
Команда Turo Engineering представила Nibel — навигационную open-source библиотеку для интеграции Jetpack Compose в Android-приложения на основе фрагментов. Используя возможности Kotlin Symbol Processor (KSP), Nibel обеспечивает типобезопасный способ навигации между экранами в следующих сценариях:
▫️fragment → compose
▫️compose → compose
▫️compose → fragment
Introducing Nibel: A Navigation Library for Adopting Jetpack Compose in Fragment-Based Apps
Команда Turo Engineering представила Nibel — навигационную open-source библиотеку для интеграции Jetpack Compose в Android-приложения на основе фрагментов. Используя возможности Kotlin Symbol Processor (KSP), Nibel обеспечивает типобезопасный способ навигации между экранами в следующих сценариях:
▫️fragment → compose
▫️compose → compose
▫️compose → fragment
Medium
Introducing Nibel: A Navigation Library for Adopting Jetpack Compose in Fragment-Based Apps
Smooth and seamless adoption of Jetpack Compose for your Android apps
👍4🔥2❤🔥1❤1
Mobile Compose
Похоже, что убийца Twitter новое приложение Threads от Meta полностью написано на Compose. И всё это при своём живом React Native 🙃 Такие дела. #News #Compose #Offtop
👤 К слову, официальное приложение ChatGPT на Android также полностью написано на Compose.
#News #Compose #Offtop
#News #Compose #Offtop
❤🔥19👍14🤯2👎1🔥1
#Article #Medium #Compose
Jetpack Compose — The order of modifiers does matter
Статья посвящена такой важной теме при знакомстве с Jetpack Compose, как порядок модификаторов.
Jetpack Compose — The order of modifiers does matter
Статья посвящена такой важной теме при знакомстве с Jetpack Compose, как порядок модификаторов.
👍11❤🔥1❤1👎1
🇰🇷 Внезапно в Сеуле 🙃
Кстати, буквально неделю назад исполнилось ровно два года, как вышел первый стабильный релиз Jetpack Compose (1.0).
Как быстро летит время...
#Offtop
Кстати, буквально неделю назад исполнилось ровно два года, как вышел первый стабильный релиз Jetpack Compose (1.0).
Как быстро летит время...
#Offtop
❤19🔥11🤣5👎2❤🔥1🆒1
#News #Compose #Compiler
🆕🔥 Новости с полей: начиная с версии 1.5.0 Compose Compiler обеспечивает экспериментальную поддержку компилятора K2.
При этом, пока не весь функционал Compose поддерживается новой версией компилятора, часть будет добавлена позже в будущих версиях.
Надеюсь, скоро руки всё-таки дойдут до дайджеста, и там получится разобрать больше изменений последних релизов.
🆕🔥 Новости с полей: начиная с версии 1.5.0 Compose Compiler обеспечивает экспериментальную поддержку компилятора K2.
При этом, пока не весь функционал Compose поддерживается новой версией компилятора, часть будет добавлена позже в будущих версиях.
Надеюсь, скоро руки всё-таки дойдут до дайджеста, и там получится разобрать больше изменений последних релизов.
🔥7👍4❤🔥1
#News #Multiplatform #Release #Compose
📣 🆕 Релиз Compose Multiplatform 1.5.0-beta01
Из основных изменений:
Common
▫️Добавлены Dialog и Popup, а также поддержка WindowInsets
▫️Оптимизирована работа Canvas
iOS
▫️Физика скролла теперь похожа на нативную в iOS
▫️Шрифт по умолчанию теперь San Francisco
▫️Добавлена поддержка Density.textSize (Dynamic Type)
▫️Добавлена поддержка 120 FPS.
Подробнее о релизе 👉 тут
📣 🆕 Релиз Compose Multiplatform 1.5.0-beta01
Из основных изменений:
Common
▫️Добавлены Dialog и Popup, а также поддержка WindowInsets
▫️Оптимизирована работа Canvas
iOS
▫️Физика скролла теперь похожа на нативную в iOS
▫️Шрифт по умолчанию теперь San Francisco
▫️Добавлена поддержка Density.textSize (Dynamic Type)
▫️Добавлена поддержка 120 FPS.
Подробнее о релизе 👉 тут
🔥8👍4❤🔥1
#Article #Medium #Compose
A Developer’s Approach to Identifying Jetpack Compose Usage in Apps
🗣 Отвлечемся от всех этих релизов...
Тут человек обнаружил способ определять какой UI фреймворк использует приложение без изучения его кода. Для этого нужен всего-лишь старый советский ... тоггл "Show layout bounds" из раздела Developer Options устройства.
Если вкратце:
▫️Android Views, React Native, и даже Compose внутри ComposeView — отмечаются синим цветов по углам
▫️Jetpack Compose — никаких синих углов, но обводка всё еще сохраняется
▫️Flutter — вообще никаких обводок ui компонентов
Зеркало статьи 👉 тут
A Developer’s Approach to Identifying Jetpack Compose Usage in Apps
🗣 Отвлечемся от всех этих релизов...
Тут человек обнаружил способ определять какой UI фреймворк использует приложение без изучения его кода. Для этого нужен всего-лишь старый советский ... тоггл "Show layout bounds" из раздела Developer Options устройства.
Если вкратце:
▫️Android Views, React Native, и даже Compose внутри ComposeView — отмечаются синим цветов по углам
▫️Jetpack Compose — никаких синих углов, но обводка всё еще сохраняется
▫️Flutter — вообще никаких обводок ui компонентов
Зеркало статьи 👉 тут
🔥16🤔4👍3❤🔥2🤣2❤1
#Video #Compose #Navigation
Декларативная архитектура и навигация с Decompose
Доклад c весеннего сезона Mobius 2023 от Алексея Панова, в котором он рассказывает про декларативную архитектуру и навигацию, а также на реальном примере показывает, как всё это интегрировать в проект с помощью библиотеки Decompose.
Декларативная архитектура и навигация с Decompose
Доклад c весеннего сезона Mobius 2023 от Алексея Панова, в котором он рассказывает про декларативную архитектуру и навигацию, а также на реальном примере показывает, как всё это интегрировать в проект с помощью библиотеки Decompose.
YouTube
Алексей Панов, Контур — Декларативная архитектура и навигация с Decompose
Подробнее о конференции Mobius: https://jrg.su/ojGU3B
— —
В современных мобильных приложениях декларативный подход все чаще вытесняет императивный. Вы, наверняка, слышали о плюсах использования однонаправленного потока данных или о преимуществах декларативных…
— —
В современных мобильных приложениях декларативный подход все чаще вытесняет императивный. Вы, наверняка, слышали о плюсах использования однонаправленного потока данных или о преимуществах декларативных…
🔥12👍3❤2❤🔥1
#Article #Medium #State #Compose
Jetpack Compose: Mastering States
Короткая, но полезная статья с разбором policy: SnapshotMutationPolicy<T> — второго и опционального параметра всем нам знакомой функции mutableStateOf, который может принимать одно из трёх значений:
▫️structuralEqualityPolicy
▫️neverEqualPolicy
▫️referentialEqualityPolicy
О том, что каждое из них означает и где может быть применено — в сегодняшнем материале.
Jetpack Compose: Mastering States
Короткая, но полезная статья с разбором policy: SnapshotMutationPolicy<T> — второго и опционального параметра всем нам знакомой функции mutableStateOf, который может принимать одно из трёх значений:
▫️structuralEqualityPolicy
▫️neverEqualPolicy
▫️referentialEqualityPolicy
О том, что каждое из них означает и где может быть применено — в сегодняшнем материале.
Medium
Jetpack Compose: Mastering States
State in Jetpack Compose is something we deal with about 90% of the time in our projects. So, mastering all the tricks about it will…
👍10❤🔥4👎2