Compose Broadcast
4.88K subscribers
237 photos
64 videos
348 links
Все о Jetpack Compose и Compose Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Android - @android_broadcast
iOS - @ios_broadcast
Kotlin - @kotlin_broadcast
Download Telegram
Интересная статья где автор показывает как с помощью инструментов Perfetto и Diffetto искать проблемы в работе Composable функций

#compose #производительность #android
Статья (9м) с реализацией виджета выбора даты на Compose

#compose
Media is too big
VIEW IN TELEGRAM
📺 Видео от Android Developers (4м) про использование Modifier.anchoredDraggable для перемещения компонентов UI

#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
Короткая статья с описанием того как под капотом устроена работа Compose чтобы модифицировать код с Composable аннотациями и привести его к исполняемому виду

#подкапотом #compose
Media is too big
VIEW IN TELEGRAM
Пример создания паралакс эффекта в Compose

#анимация #compose
Вышел загрузчик изображений Coil 3.0 c поддержкой 🏝Kotlin Multiplatform. Теперь помимо 🤖 Android поддерживается iOS, JVM, JS и WASM. Подробнее тут

Что еще нового:
❗️ Изменился пакет с io.coil-kt на io.coil-kt.coil3
👉 Можно выбрать библиотеку для работы с сетью: OkHttp или Ktor
👉 Улучшили работы с Compose Preview
Убрали загрузку Android ресурсов через android.resource://example.package.name/drawable/image
❗️ По умолчанию размер декодированной картинки не будет превосходить размер 4096 на 4096
❗️ Работу с Coil 2 Parameters API заменил на Extras
🛠 Важные улучшения и исправления

Новая версия требует внесения изменения в код. Подробное руководство читайте в руководстве по миграции

#kmp #сеть #картинки #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
Если хотите сделать такое форматирование с Compose, то обратите внимание на библиотеку Compose Rich Editor

#compose
Forwarded from Мобильное Чтиво (Maxim Kachinkin)
This media is not supported in your browser
VIEW IN TELEGRAM
🇺🇸 Рисуем SVG в Compose Great Again

Сегодня расскажу, как можно нарисовать сложный рисунок в Compose, если у вас есть SVG файл. А именно как распарсить SVG файл в удобные для нас Path и отрисовать их “руками”.

🔍 Парсинг SVG: Мы загружаем SVG файл с помощью XmlPullParser, который читает каждый элемент. В каждом path элементе хранится информация о том, как рисовать фигуру — всё закодировано в атрибуте d. Этот атрибут содержит команды типа "M" (move to), "L" (line to), "C" (curve to) и координаты. Вместе они формируют контур, который и станет нашим рисунком.

🛠️ Конвертация Path: Здесь проблема. В Compose пока нет метода для декодирования пути напрямую из d атрибута SVG.

Но мы сделаем конвертацию Great Again! Мы сначала создаём старый добрый Path из androidx.core.graphics (через метод createPathFromPathData), а потом конвертируем его в Compose Path с помощью asComposePath. Немного костыльно, но работает.

Теперь, когда мы всё распарсили и конвертировали, можем просто отобразить это в Compose.

Я выложил пример на GitHub, где вы можете посмотреть, как это работает. В этом проекте пярмо то, что изображено на видосе, какая-то карта и какие-то непонятные области.

P.S. Да, нажатия сделаны не совсем идеально — попадание внутрь Path осуществляется по bounding box, а не точно по форме. Но это уже отдельная задача, а здесь у нас фокус на отрисовке! 😎

💬 А что интересного вы рисовали в Compose?

#compose #svg
This media is not supported in your browser
VIEW IN TELEGRAM
Вышел Haze 1.0 - Compose Multiplatform библиотека для блюра в UI. Нужна версия Compose 1.7.0

‼️ Если использовали предыдущие версии, то в 1.0 произошли изменения API

🐱 Исходники на GitHub

#compose #android #ios #desktop
Please open Telegram to view this post
VIEW IN TELEGRAM
Compose Swift Bridge от TouchLab - инструмент для Compose MP разработчиков. Генерирует 🦢 Swift код для делегации вызовов Compose функций в нативных iOS View.

Исходный код на 🐱 GitHub

#kmp #ios #compose #touchlab
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Статья(EN,5м) с примером реализации центрированного слайдера

#compose #виджет
💡 Preview Driven Development - новый подход к разработке Android-приложений

Концепция предлагает активно использовать превью-компоненты для тестирования и разработки интерфейсов и функций. Вот в чем суть:

👉 Jetpack Compose Previews позволяют не просто просматривать, но и тестировать функции на этапе разработки. Это упрощает процесс, снижает количество ошибок и дает визуальное представление всех состояний приложения.

👉 Мини-приложения для тестирования — каждый превью-компонент можно использовать как изолированное мини-приложение. Это значит, что тестировать отдельные элементы приложения можно без полной сборки и запуска.

👉 Автоматизация тестов — с помощью таких инструментов, как Emerge Snaphots, можно автоматизировать процесс проверки UI. Это делает разработку более стабильной и ускоряет релиз новых версий.

Для тех, кто хочет упрощать разработку и избегать неожиданных багов, Preview Driven Development — отличный инструмент! 💻

Исходники приложения доступны на 🐱 GitHub

#android #androidstudio #compose #автотесты
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышел Compose Multiplatform 1.7.1
🚀 Улучшения производительности
🛠 Исправлена бинарная совместимость на JVM
🛠 ИСправлены баги
⬆️ Обновились до Jetpack Compose 1.7.5 и других свежих библиотек

#compose #kmp #jvm
🐱 Libre-Sudoku - open-source Android приложение на Jetpack Compose ⚙️ и Material 3

#пример #android #compose #material3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Анимированное лого Airbnb в Jetpack Compose

Статья с реализацией анимирования лого Airbnb. Используется SVG логотип и происходит анимация по его точкам

#compose #android #анимация
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Библиотека для интеграции Bottom Sheets из Material 3 в Jetpack Navigation Compose

#compose #навигация #material3
Please open Telegram to view this post
VIEW IN TELEGRAM
Composable Screens - приложение с демонстрацией сложных интерфейсов, реализованных на Compose UI.

#пример #compose
Media is too big
VIEW IN TELEGRAM
⚙️ JetBrains сделала Hot Reload для Compose Desktop не хуже чем в Flutter

Добились этого благодаря использованию специальной JVM с поддержкой переопределения классов, доступной в JetBrains Runtime.

В 📹 видео (EN,6м) происходит демонстрация

Пока всё в экспериментальном режиме, но результаты радуют ❤️. Когда же уже Compose MP превью в IDE будет работать из коробки

#compose #desktop #jvm #idea #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Важный совет по ускорению Compose

Порой вместо передачи значения в Composable функцию лучше делать это через лямбду, так как это не приведет к рекомпозицям. Лучший пример - Modifier.offset. В статье как раз демонстрируется какой эффект оказывает описанный подход

#compose #производительность
Please open Telegram to view this post
VIEW IN TELEGRAM