Возвращаемся к урокам по Compose после летних каникул.
Новая важная тема - Stability. В первом уроке разбираемся, что это такое и зачем вообще нужно.
Подключим compiler metrics отчеты, чтобы видеть, какие классы компилятор считает stable/unstable, а какие функции - skippable.
Используем аннотацию Immutable, чтобы увидеть, как можно сломать Stability.
В качестве примеров пока используем примитивы и data классы.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Новая важная тема - Stability. В первом уроке разбираемся, что это такое и зачем вообще нужно.
Подключим compiler metrics отчеты, чтобы видеть, какие классы компилятор считает stable/unstable, а какие функции - skippable.
Используем аннотацию Immutable, чтобы увидеть, как можно сломать Stability.
В качестве примеров пока используем примитивы и data классы.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
👍29🔥14👏1🖕1
Рассуждения на тему, где и в какой момент лучше загружать данные: LaunchedEffect или ViewModel.init()
#android #kotlin #compose #architecture
https://proandroiddev.com/loading-initial-data-in-launchedeffect-vs-viewmodel-f1747c20ce62
#android #kotlin #compose #architecture
https://proandroiddev.com/loading-initial-data-in-launchedeffect-vs-viewmodel-f1747c20ce62
🔥13👍4🤔1
Новый урок по Compose
Продолжаем тему Stability на примере более сложных типов: коллекции, state holder, лямбды
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Продолжаем тему Stability на примере более сложных типов: коллекции, state holder, лямбды
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
👍32💩1
Разработчик из команды Compose рассказывает, как они оптимизировали свой Kotlin код.
#android #compose #kotlin #performance
https://www.youtube.com/watch?v=WAbaEE8qRdw
#android #compose #kotlin #performance
https://www.youtube.com/watch?v=WAbaEE8qRdw
YouTube
Going fast with Kotlin | Andrei Shikov
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
Kotlin is leaning on JVM a lot, making most Java features accessible and easy to use. Sometimes, however, this results in curiously unexpected results during execution if…
Kotlin is leaning on JVM a lot, making most Java features accessible and easy to use. Sometimes, however, this results in curiously unexpected results during execution if…
👍10😁1
Romain Guy рассказывает (часто переходя на байткод), как удается оптимизировать Compose.
#android #kotlin #compose #bytecode
https://www.youtube.com/watch?v=5cxw_fdpnoA
#android #kotlin #compose #bytecode
https://www.youtube.com/watch?v=5cxw_fdpnoA
YouTube
Practical Optimizations
In this session we will look at a series of optimizations that were done in Jetpack Compose to learn about how different types of optimizations can affect performance, including code flow/algorithms, new data structures, low-level bytecode optimizations,…
❤12👍5👎1
Новый урок по Compose
Небольшой урок в завершение темы Stability. Выясняем, что означает restartable, и разбираемся, какие изменения несет нам Strong Skipping Mode, который будет включен по умолчанию, начиная с Kotlin 2.0.20.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Небольшой урок в завершение темы Stability. Выясняем, что означает restartable, и разбираемся, какие изменения несет нам Strong Skipping Mode, который будет включен по умолчанию, начиная с Kotlin 2.0.20.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
👍21❤12👎2😡1
Новый урок по Compose.
Краткий обзор основных инструментов для работы с Compose: Preview, Live Edit, Layout Inspector, Debug, Trace.
Тема простая, материала по ней много, поэтому я не стал много расписывать.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Краткий обзор основных инструментов для работы с Compose: Preview, Live Edit, Layout Inspector, Debug, Trace.
Тема простая, материала по ней много, поэтому я не стал много расписывать.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
👍21🔥9❤5👎1
Автор попытался создать ViewModel со временем жизни Composable функции. Штука, может и ненужная, но интересная, чтобы лучше понимать и Compose и ViewModel.
#android #compose #viewmodel #lifecycle
https://proandroiddev.com/composable-scoped-viewmodel-an-interesting-experiment-b982b86d84cd
#android #compose #viewmodel #lifecycle
https://proandroiddev.com/composable-scoped-viewmodel-an-interesting-experiment-b982b86d84cd
Medium
Composable-scoped ViewModel: An interesting experiment
Scope any ViewModel to the composition of the Composable it is in, while surviving configuration changes, by using the power of Lifecycle.
🤯8👍7🔥2😱1
Jetpack Compose может работать у вас медленнее, чем система View, из-за своей архитектуры и дизайна. Но точно имеет бóльшую гибкость.
Дело в том, что Jetpack Compose — это unbundled-библиотека. В этой статье я расскажу о том, что это значит и почему оно влияет на производительность, на примере нашего переезда на Compose.
В статье мы вместе ужаснёмся тому, как долго открываются экраны после переезда на Compose. Но порадуемся за то, что теперь мы не скованы версией Андроида и можем писать Compose-код с расправленными крыльями!
#android #compose
https://habr.com/ru/companies/dododev/articles/862878/
Дело в том, что Jetpack Compose — это unbundled-библиотека. В этой статье я расскажу о том, что это значит и почему оно влияет на производительность, на примере нашего переезда на Compose.
В статье мы вместе ужаснёмся тому, как долго открываются экраны после переезда на Compose. Но порадуемся за то, что теперь мы не скованы версией Андроида и можем писать Compose-код с расправленными крыльями!
#android #compose
https://habr.com/ru/companies/dododev/articles/862878/
Хабр
Jetpack Compose как unbundled-библиотека. Скорость UI vs. Гибкость разработки
Введение Jetpack Compose может работать у вас медленнее, чем система View, из-за своей архитектуры и дизайна. Но точно имеет бóльшую гибкость. Дело в том, что Jetpack Compose — это...
👍15💩6🤔4👏2❤1🔥1
Обзор паттернов, полезных при создании своих UI-компонентов в Compose
#android #compose
https://proandroiddev.com/best-practices-for-composition-patterns-in-jetpack-compose-39676ffcc933
Slot pattern: This uses slots to group components together in a flexible way, making it easy to organize and rearrange UI elements.
Compound Component pattern: This shares the state of a parent component with its children to reduce coupling between components and is useful for separating UI and business logic.
#android #compose
https://proandroiddev.com/best-practices-for-composition-patterns-in-jetpack-compose-39676ffcc933
Medium
Best Practices for Composition Patterns in Jetpack Compose
Learn the Slot pattern and Compound Component pattern through real-world best practices.
👍5