Forwarded from Android Live 🤖
Jetpack Compose — Live coding сессия
#compose #youtube
Друзья, уже сегодня, 21 декабря в 18:30 мы с вами погрузимся в мир Jetpack Compose и создадим рабочее приложение.
По ходу сессии вы сможете задать вопросы нашему гостю Григорьеву Дмитрию, автору канала Jetpack Compose.
Напоминаю, что мы с вами рассмотрим:🔹
🔹как лучше строить архитектуру;
🔹как делать списки из разных типов view;
🔹что делать с навигацией между разными экранами;
🔹как сделать анимации;
🔹что делать с текущими приложениями;
🔹и много другое.
Ссылка на трансляцию тут.
#compose #youtube
Друзья, уже сегодня, 21 декабря в 18:30 мы с вами погрузимся в мир Jetpack Compose и создадим рабочее приложение.
По ходу сессии вы сможете задать вопросы нашему гостю Григорьеву Дмитрию, автору канала Jetpack Compose.
Напоминаю, что мы с вами рассмотрим:🔹
🔹как лучше строить архитектуру;
🔹как делать списки из разных типов view;
🔹что делать с навигацией между разными экранами;
🔹как сделать анимации;
🔹что делать с текущими приложениями;
🔹и много другое.
Ссылка на трансляцию тут.
Forwarded from Kotlin Multiplatform Broadcast
#AndroidBroadcast #Compose #Kotlin #KMP
🔴 Decompose. Компонентизация и навигация в Kotlin Multiplatform
Начало 17 июня в 19:00 (GMT+3)
Сегодня в прямом эфире Аркадий Иванов расскажет о своей библиотеки Decompose - мультиплатформенная библиотека для компонентизации и навигации. Вы узнаете как устроена библиотека, как она работает, и увидите livecoding использования.
Эксперт - Аркадий Иванов, Kotlin GDE. Автор библиотек MVIKotlin, Decompose, Reaktive и активно развивает Jetpack Compose и Kotlin Multiplatform.
🔴 Decompose. Компонентизация и навигация в Kotlin Multiplatform
Начало 17 июня в 19:00 (GMT+3)
Сегодня в прямом эфире Аркадий Иванов расскажет о своей библиотеки Decompose - мультиплатформенная библиотека для компонентизации и навигации. Вы узнаете как устроена библиотека, как она работает, и увидите livecoding использования.
Эксперт - Аркадий Иванов, Kotlin GDE. Автор библиотек MVIKotlin, Decompose, Reaktive и активно развивает Jetpack Compose и Kotlin Multiplatform.
Forwarded from Kotlin Multiplatform Broadcast
#compose
Compose Multiplatform goes Alpha, unifying Desktop, Web, and Android UIs
👉 Compose Desktop и Web перешли в альфу
👉 Унификация разработки Desktop, Web и Android UI
👉 Релиз 1.0 собираются сделать в этом (2021) году
👉 Новые плагины для IDEA и Android Studio для Compose Multiplatform
Что нового в Compose Desktop:
👉 Composable Window APIs теперь используется по умолчанию
👉 Адаптивный размер окна
👉 Новые фичи для меню окон
👉 Поддержка контекстных меню
👉 Изменение поведения курсор и API для иконки курсора
👉 Модификатор Mouse Clickable
👉 Унификация ресурсов графики
👉 Поддержка Linux ARM64
Compose Multiplatform goes Alpha, unifying Desktop, Web, and Android UIs
👉 Compose Desktop и Web перешли в альфу
👉 Унификация разработки Desktop, Web и Android UI
👉 Релиз 1.0 собираются сделать в этом (2021) году
👉 Новые плагины для IDEA и Android Studio для Compose Multiplatform
Что нового в Compose Desktop:
👉 Composable Window APIs теперь используется по умолчанию
👉 Адаптивный размер окна
👉 Новые фичи для меню окон
👉 Поддержка контекстных меню
👉 Изменение поведения курсор и API для иконки курсора
👉 Модификатор Mouse Clickable
👉 Унификация ресурсов графики
👉 Поддержка Linux ARM64
Forwarded from Android Broadcast
#AndroidBroadcast #Android12 #Compose
Android 12 Митап, организованный Google Россия и Android Broadcast
Когда: 21 сентября, 18:00-21:30
Совсем скоро выйдет новая версия ОС Android 12, а Jetpack Compose 1.0 уже stable. Мы позвали экспертов, чтобы рассказать нам об изменениях, будущем и гуглеров, которые ответят на вопросы:
👉 18:00 - 18:25 Что нового в Android 12, Анна Жаркова, Lead mobile developer, Usetech
👉 18:30 - 18:55 Android 12 Q&A, Murat Yener, Android Developer Advocate в Google
👉 19:00 - 19:20 На что способен Jetpack Compose, Алексей Гладков, Технический архитектор, Леруа Мерлен
👉 19:30 - 20:30 Jetpack Compose Q&A, Матвей Мальков, разработчик в команде Jetpack Compose, Google
* Записи всех докладов будут доступны на канале после мероприятия
Также у вас будет возможность выиграть книгу от Chet Hasse с его автогрофом (да-да, книжки едут из США)
Android 12 Митап, организованный Google Россия и Android Broadcast
Когда: 21 сентября, 18:00-21:30
Совсем скоро выйдет новая версия ОС Android 12, а Jetpack Compose 1.0 уже stable. Мы позвали экспертов, чтобы рассказать нам об изменениях, будущем и гуглеров, которые ответят на вопросы:
👉 18:00 - 18:25 Что нового в Android 12, Анна Жаркова, Lead mobile developer, Usetech
👉 18:30 - 18:55 Android 12 Q&A, Murat Yener, Android Developer Advocate в Google
👉 19:00 - 19:20 На что способен Jetpack Compose, Алексей Гладков, Технический архитектор, Леруа Мерлен
👉 19:30 - 20:30 Jetpack Compose Q&A, Матвей Мальков, разработчик в команде Jetpack Compose, Google
* Записи всех докладов будут доступны на канале после мероприятия
Также у вас будет возможность выиграть книгу от Chet Hasse с его автогрофом (да-да, книжки едут из США)
Forwarded from Мобильная разработка
Что почитать: Jetpack Compose Internals
Если вместо разрозненной документации вы предпочитаете книги, где вся информация собрана в одном месте, то советуем обратить внимание на книгу Jetpack Compose Internals.
В книге исследуются возможности Jetpack Compose — UI-фреймворка будущего Android-разработки. Также в ней рассмотрены различные кейсы использования Compose за пределами экосистемы Android.
И самое главное — книгу можно забрать бесплатно на официальном сайте.
#compose #android
Если вместо разрозненной документации вы предпочитаете книги, где вся информация собрана в одном месте, то советуем обратить внимание на книгу Jetpack Compose Internals.
В книге исследуются возможности Jetpack Compose — UI-фреймворка будущего Android-разработки. Также в ней рассмотрены различные кейсы использования Compose за пределами экосистемы Android.
И самое главное — книгу можно забрать бесплатно на официальном сайте.
#compose #android
Forwarded from Kotlin Multiplatform Broadcast
#compose #kmp
Compose Multiplatform 1.0 Beta 01
В этом году нам пообещали Compose Multiplatform 1.0 Stable, так вот походу всё правда. Уже готовится первая Beta с поддержкой Android, Desktop и Web.
Compose Multiplatform 1.0 Beta 01
В этом году нам пообещали Compose Multiplatform 1.0 Stable, так вот походу всё правда. Уже готовится первая Beta с поддержкой Android, Desktop и Web.
Forwarded from Android Broadcast
#compose
Compose Destinations - это KSP библиотека, которая на основе аннотаций генерирует код. Под капотом используется Jetpack Navigation для Compose, чтобы спрятать весь рутинный код, который придется писать руками.
Compose Destinations - это KSP библиотека, которая на основе аннотаций генерирует код. Под капотом используется Jetpack Navigation для Compose, чтобы спрятать весь рутинный код, который придется писать руками.
👍3
Forwarded from Android Broadcast
#compose
Learn Android with Jetpack Compose (no programming experience needed!)
Google запускает бесплатный англоязычный курс "Android Basics with Compose", которые предназначен для людей без знаний Android разработки и языков программирования.
Ну вот и положено начало программистам, которые не будут знать про View и RxJava. Не переживайте, курс на основе View "Android Basics in Kotlin course" никуда не пропадет.
Learn Android with Jetpack Compose (no programming experience needed!)
Google запускает бесплатный англоязычный курс "Android Basics with Compose", которые предназначен для людей без знаний Android разработки и языков программирования.
Ну вот и положено начало программистам, которые не будут знать про View и RxJava. Не переживайте, курс на основе View "Android Basics in Kotlin course" никуда не пропадет.
❤1
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Compose Multiplatform уже на iOS в Альфе и на официальном блоге добавили пост с основной инфой: связь с Jetpack Compose, интероп со SwiftUI и UIKit и др.
Начать с Compose for iOS можно тут
📺 Видео доклад с KotlinConf'23 (45 мин)
#compose #ios #kmm
Начать с Compose for iOS можно тут
📺 Видео доклад с KotlinConf'23 (45 мин)
#compose #ios #kmm
👍9🤡1
Forwarded from Mobile Compose
#Release #Compose #Changelog
Compose Release Digest (19.04 — 02.06)
Традиционный дайджест по основным изменениям релизов библиотек фреймворка за последние полтора месяца, среди которых:
🔹RC/Stable🔹
🔸🔸Compose Compiler (1.4.6 — 1.4.7)
▫️Добавлена поддержка версии Kotlin 1.8.21.
▫️Требуемая версия Java понижена с 17 до 11.
🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.4.2 — 1.4.3)
▫️Исправлена проблема, при которой AndroidView мог отображаться неверно при использовании с некоторыми модификаторами. (Подробнее)
▫️Исправлен баг, из-за которого клавиатура не отображалась для текстовых полей внутри диалогов, не созданных через Dialog composable. (Подробнее)
🔹Alpha/Beta🔹
🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.5.0-alpha03 — 1.5.0-beta01)
▫️Изменено дефолтное поведение SubcomposeLayout в LookaheadScope, внутри которого нет условных slot-блоков (как TabRow, Scaffold или BoxWithConstraints), что позволяет ему лучше работать с lookahead анимациями.
▫️В AnimatedContent добавлена поддержка contentKey. (Подробнее)
▫️В ходе рефакторинга значительно сокращено количество выделений памяти в рекомпозиции, анимациях и AndroidComposeView. (Подробнее)
▫️FlowColumn/FlowRow теперь inline. (Подробнее)
▫️LazyStaggeredGrid API теперь stable. (Подробнее)
▫️Добавлены FlowRowScope и FlowColumnScope для дочерних элементов FlowRow и FlowColumn соответственно. (Подробнее)
▫️Добавлен экспериментальный модификатор Modifier.animateItemPlacement() для анимирования изменения/переупорядочивания позиций элементов при работе с LazyStaggeredGrid. (Подробнее)
▫️В BasicText добавлен отдельный лямбда-параметр color. Спорное решение, но, по заявлению разработчиков, это позволит эффективнее задавать цвет текста, а также его анимировать. (Подробнее)
▫️В методы DrawScope.drawText, Paragraph.paint и MultiParagraph.paint добавлен параметр BlendMode для поддержки различных алгоритмов смешивания при рисовании текста на Canvas. (Подробнее).
▫️TextMeasurer и связанные с ним API больше не являются экспериментальными. (Подробнее).
... и много всего ещё.
Также были обновлены и различные дополнения Compose, а именно:
▫️constraintlayout-compose обновлен до версии 1.1.0-alpha10
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версий 1.0.0-alpha05 и 1.2.0-beta01
▫️Paging-Compose обновлен до версии 1.0.0-alpha20
▫️Compose Material 3 (Material You) обновлен до версии 1.2.0-alpha02
Compose Release Digest (19.04 — 02.06)
Традиционный дайджест по основным изменениям релизов библиотек фреймворка за последние полтора месяца, среди которых:
🔹RC/Stable🔹
🔸🔸Compose Compiler (1.4.6 — 1.4.7)
▫️Добавлена поддержка версии Kotlin 1.8.21.
▫️Требуемая версия Java понижена с 17 до 11.
🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.4.2 — 1.4.3)
▫️Исправлена проблема, при которой AndroidView мог отображаться неверно при использовании с некоторыми модификаторами. (Подробнее)
▫️Исправлен баг, из-за которого клавиатура не отображалась для текстовых полей внутри диалогов, не созданных через Dialog composable. (Подробнее)
🔹Alpha/Beta🔹
🔸🔸Compose Animation/Foundation/Material/Runtime/UI (1.5.0-alpha03 — 1.5.0-beta01)
▫️Изменено дефолтное поведение SubcomposeLayout в LookaheadScope, внутри которого нет условных slot-блоков (как TabRow, Scaffold или BoxWithConstraints), что позволяет ему лучше работать с lookahead анимациями.
▫️В AnimatedContent добавлена поддержка contentKey. (Подробнее)
▫️В ходе рефакторинга значительно сокращено количество выделений памяти в рекомпозиции, анимациях и AndroidComposeView. (Подробнее)
▫️FlowColumn/FlowRow теперь inline. (Подробнее)
▫️LazyStaggeredGrid API теперь stable. (Подробнее)
▫️Добавлены FlowRowScope и FlowColumnScope для дочерних элементов FlowRow и FlowColumn соответственно. (Подробнее)
▫️Добавлен экспериментальный модификатор Modifier.animateItemPlacement() для анимирования изменения/переупорядочивания позиций элементов при работе с LazyStaggeredGrid. (Подробнее)
▫️В BasicText добавлен отдельный лямбда-параметр color. Спорное решение, но, по заявлению разработчиков, это позволит эффективнее задавать цвет текста, а также его анимировать. (Подробнее)
▫️В методы DrawScope.drawText, Paragraph.paint и MultiParagraph.paint добавлен параметр BlendMode для поддержки различных алгоритмов смешивания при рисовании текста на Canvas. (Подробнее).
▫️TextMeasurer и связанные с ним API больше не являются экспериментальными. (Подробнее).
... и много всего ещё.
Также были обновлены и различные дополнения Compose, а именно:
▫️constraintlayout-compose обновлен до версии 1.1.0-alpha10
▫️Compose для Wear, а также дополнения compose-material и compose-navigation для него обновлены до версий 1.0.0-alpha05 и 1.2.0-beta01
▫️Paging-Compose обновлен до версии 1.0.0-alpha20
▫️Compose Material 3 (Material You) обновлен до версии 1.2.0-alpha02
❤7👍3
Forwarded from Kotlin Adept Notes (Alex Panov)
Что выбрать для навигации в Compose🤨
Это довольно распространенный вопрос и на сегодняшний день выбор либ просто огромен на любой вкус и цвет. Так что же выбрать? Конечно жеDecompose решать вам на основе требований к навигации в вашем приложении.
🤖 Jetpack Compose Navigation — официальная библиотека
👍 Поддержка от Google, интеграция с ViewModel
👎 Только для Android и еще миллион минусов
🤖 Jetpack Compose Destinations — обертка над официальной либой
👍 Решает некоторые проблемы первой либы
👎 Добавляет новых проблем из-за кодогенерации и зависимости на accompanist либы
🤖 Modo — либа от создателя Cicerone, Константина Цховребова
👍 Строится на принципах UDF, очень простая
👎 Только для Android, еще не в релизе, маленькое коммьюнити
👩💻 Appyx — решение для навигации от Bumble
👍 Декларативный подход, классные анимации из коробки, поддержка KMP
👎 Только для Compose, довольно сложная, небольшое коммьюнити
👩💻 Voyager — популярная и простая либа для навигации
👍 Много интеграций с привычными инструментами, легкая в использовании, поддержка KMP
👎 Только для Compose, есть проблемы со стабильностью
🌳 Decompose — либа от Аркадия Иванова, автора MVICore
👍 Единственное решение не завязанное на UI фреймворк, декларативный подход, огромная гибкость, высокая стабильность
👎 Высокий порог входа, приходится писать много кода
Есть еще решение Odyssey от Алексея Гладкова, но автор объявил о прекращении поддержки данной либы.
Таким образом настоятельно не рекомендую использовать официальное решение для навигации в любых более менее сложных приложениях. Можете посмотреть мой доклад, где я сравниваю эту либу и Decompose. Другие либы можно смело у себя использовать, но если вы проникнетесь подходом к навигации в Decompose, то можете посмотреть другой доклад, где уже разбираю как интегрироваться не только с Compose, но и SwiftUI.
Как вы поняли, я очень топлю за Decompose, хотя его сложность может многих отпугнуть, но стоит только проникнуться компонентым подходом и уже по-другому приложения писать не захочется!
#Compose #Navigation
Это довольно распространенный вопрос и на сегодняшний день выбор либ просто огромен на любой вкус и цвет. Так что же выбрать? Конечно же
Есть еще решение Odyssey от Алексея Гладкова, но автор объявил о прекращении поддержки данной либы.
Таким образом настоятельно не рекомендую использовать официальное решение для навигации в любых более менее сложных приложениях. Можете посмотреть мой доклад, где я сравниваю эту либу и Decompose. Другие либы можно смело у себя использовать, но если вы проникнетесь подходом к навигации в Decompose, то можете посмотреть другой доклад, где уже разбираю как интегрироваться не только с Compose, но и SwiftUI.
Как вы поняли, я очень топлю за Decompose, хотя его сложность может многих отпугнуть, но стоит только проникнуться компонентым подходом и уже по-другому приложения писать не захочется!
#Compose #Navigation
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
#compose Один из острых моментов при миграции на Compose - это правильно устроенная навигация. В статье как раз приходится набор полезных практик:
Forwarded from Compose Broadcast
Точнее это случится с релизом Kotlin 2.0. Это значит что вместе с релизом новой версии Kotlin сразу будет релизится Compose компилятор и не придется ждать обновлений из Jetpack.
androidx.compose.compiler:compiler
заменят на org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable
📦 Новый Compose Compiler Gradle плагин (раньше был частью Android Gradle Plugin) позволит быстро настроить фреймворк в вашем проекте. Пример миграции тут
Больше подробностей в обновленной документации
#compose #kotlin #k2
Больше про Compose в @compose_broadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
Forwarded from Compose Broadcast
Вышел Compose Compiler 1.5.13. Режим Strong Skipping теперь больше не является экспериментальным и в следующем релизе станет поведением по умолчанию
Strong Skipping Mode - делает менее строгой проверки на изменение данных что приводит к меньшему числу рекомпозиций.
#compose #производительность
Strong Skipping Mode - делает менее строгой проверки на изменение данных что приводит к меньшему числу рекомпозиций.
#compose #производительность
👍6
Forwarded from Compose Broadcast
Вышел официальный анонс Compose 1.6.10:
👉 Compose iOS Alpha ➡️ Beta
👉 Compose Web Experimental ➡️ Alpha
👉 Мультиплатформенное API ресурсов теперь Stable
👉 Экспериментальные библиотеки Jetpack Navigation, Lifecycle и ViewModel для KMP
👉 Поддержка Kotlin 2.0
👉 Отдельный Gradle плагин для Compose
#compose
👉 Compose iOS Alpha ➡️ Beta
👉 Compose Web Experimental ➡️ Alpha
👉 Мультиплатформенное API ресурсов теперь Stable
👉 Экспериментальные библиотеки Jetpack Navigation, Lifecycle и ViewModel для KMP
👉 Поддержка Kotlin 2.0
👉 Отдельный Gradle плагин для Compose
#compose
🔥5👍1
Forwarded from Android Broadcast
Вышел Glance 1.1.0 - создание App Widget для Android и Tile для Google WearOS на Compose
Что нового:
👉 Библиотека для Unit тестов виджетов
👉 Новые Modifier
👉 Улучшения превью виджетов в IDE
👉 Улучшения API
#android #compose #wearos
Что нового:
👉 Библиотека для Unit тестов виджетов
👉 Новые Modifier
👉 Улучшения превью виджетов в IDE
👉 Улучшения API
#android #compose #wearos
Forwarded from Kotlin Multiplatform Broadcast
Media is too big
VIEW IN TELEGRAM
Touchlab показали Compose Swift Bridge, который сгенерирует весь необходимый код для интеграции и позволят писать UI в Compose
#touchlab #compose #swiftui #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7💩2
Forwarded from Android Broadcast
Google объвила об отказе разработки Relay - инструмента для генерации Compose кода на основе макетов в Figma. Срок закрытия поддержки - 30 апреля 2025.
Причина закрытия проекта - появление Figma Code Connect с поддержкой Compose
#compose #figma
Причина закрытия проекта - появление Figma Code Connect с поддержкой Compose
#compose #figma
😁11👍1