Полезные советы по написанию Composable функций
#android #compose #bestpractices
https://www.youtube.com/watch?v=JvbyGcqdWBA
#android #compose #bestpractices
https://www.youtube.com/watch?v=JvbyGcqdWBA
YouTube
Designing scalable Compose APIs
This talk will cover best practices and guidelines for developing idiomatic Compose APIs. We'll go over how to think about and plan for your components, how to leverage Kotlin and naming conventions, how to define a solid structure for your component, and…
👍9❤2
Видео о том, как Compose Multiplatform работает на iOS:
- Definition of what performance is and what our goals are
- Overview of Compose Multiplatform machinery and how it works on iOS
- Summary of interesting problems we had and how we overcame them
#compose #ios #multiplatform
https://www.youtube.com/watch?v=Df1ZCmmHWzM
- Definition of what performance is and what our goals are
- Overview of Compose Multiplatform machinery and how it works on iOS
- Summary of interesting problems we had and how we overcame them
#compose #ios #multiplatform
https://www.youtube.com/watch?v=Df1ZCmmHWzM
YouTube
Compose Multiplatform performance on iOS | Elijah Semyonov
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
Enjoyed this talk? Experience it live at KotlinConf 2025—the biggest in history! Grab your tickets now: https://kotl.in/kotlinconf25
One of the main goals of Compose Multiplatform…
Enjoyed this talk? Experience it live at KotlinConf 2025—the biggest in history! Grab your tickets now: https://kotl.in/kotlinconf25
One of the main goals of Compose Multiplatform…
👍12🔥3❤1
На связи эксперты из Стингрей Технолоджиз – Юрий Шабалин, Веселина Зацепина и Игорь Кривонос.
Недавно специалисты из компании Positive Technologies нашли серьезную проблему безопасности в популярной библиотеке для навигации в приложениях Android – Jetpack Navigation. Эта уязвимость позволяет открывать любые фрагменты внутри приложения.
К большому сожалению, несмотря на усилия сообщества, об этой уязвимости мало кто знает. Поэтому сегодня мы хотим еще раз подсветить данную проблему с углублением в детали. В статье мы разберем, что из себя представляет библиотека Jetpack Navigation и ее основные элементы, в чем заключается уязвимость и насколько она опасна, а также приведем немного статистики по уязвимым приложениям.
#android #compose #navigation #security
https://habr.com/ru/companies/swordfish_security/articles/830338/
Недавно специалисты из компании Positive Technologies нашли серьезную проблему безопасности в популярной библиотеке для навигации в приложениях Android – Jetpack Navigation. Эта уязвимость позволяет открывать любые фрагменты внутри приложения.
К большому сожалению, несмотря на усилия сообщества, об этой уязвимости мало кто знает. Поэтому сегодня мы хотим еще раз подсветить данную проблему с углублением в детали. В статье мы разберем, что из себя представляет библиотека Jetpack Navigation и ее основные элементы, в чем заключается уязвимость и насколько она опасна, а также приведем немного статистики по уязвимым приложениям.
#android #compose #navigation #security
https://habr.com/ru/companies/swordfish_security/articles/830338/
Хабр
Разбираемся с новой уязвимостью Android-библиотеки Jetpack Navigation: как открыть любой фрагмент из вашего приложения?
Всем привет! На связи эксперты из Стингрей Технолоджиз – Юрий Шабалин, Веселина Зацепина и Игорь Кривонос. Недавно специалисты из компании Positive Technologies нашли серьезную проблему безопасности в...
🥰5😁4👍3😱1
Обзор Compose компонентов из Material 3 Adaptive, которые помогают создавать UI под разные размеры экранов.
#android #ui #adaptive #compose
https://www.youtube.com/watch?v=xPUZENis4gc
#android #ui #adaptive #compose
https://www.youtube.com/watch?v=xPUZENis4gc
👍16🔥2
Возвращаемся к урокам по 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
Подробная статья о том, как в Compose приложении держать Global State данные: authentication status, feature flag и т.п.
#android #state #compose
https://proandroiddev.com/mastering-global-state-management-in-android-with-jetpack-compose-e99350fad822
#android #state #compose
https://proandroiddev.com/mastering-global-state-management-in-android-with-jetpack-compose-e99350fad822
Medium
Mastering Global State Management in Android with Jetpack Compose
As Android developers, we often face the challenge of managing state across our applications. Whether it’s user authentication, theme preferences, or app-wide settings, having a reliable way to…
👍8
Обзор последних изменений в Compose BOM 2025.04.01
- Autofill
- Text
- Visibility tracking
- Animate composable bounds
- Increased API stability
- Improvements and fixes for core features
#android #compose
https://android-developers.googleblog.com/2025/04/whats-new-in-jetpack-compose-april-25.html
- Autofill
- Text
- Visibility tracking
- Animate composable bounds
- Increased API stability
- Improvements and fixes for core features
#android #compose
https://android-developers.googleblog.com/2025/04/whats-new-in-jetpack-compose-april-25.html
Android Developers Blog
What’s new in the Jetpack Compose April ’25 release
Upgrade your Android UI development with Jetpack Compose 1.8: autofill integration, text enhancements, visibility tracking, stabilized APIs, and more
👍14
Небольшая статья о том, почему стоит обратить внимание на новую библиотеку для навигации в Compose - Navigation 3
#android #compose #navigation
https://proandroiddev.com/future-of-android-why-navigation-3-is-a-game-changer-f835f841c17f
#android #compose #navigation
https://proandroiddev.com/future-of-android-why-navigation-3-is-a-game-changer-f835f841c17f
Medium
Future Of Android: Why Navigation 3 is a Game-Changer!
New Navigation Library that fits for all use cases.
👍12❤1
Автор рассказывает про Scene Strategy в новом Navigation 3, на примере перехода между single pane и dual pane.
#android #compose #navigation
https://proandroiddev.com/custom-scene-strategy-in-navigation-3-make-your-app-flow-your-way-2feffc86ba4b
#android #compose #navigation
https://proandroiddev.com/custom-scene-strategy-in-navigation-3-make-your-app-flow-your-way-2feffc86ba4b
Medium
Custom Scene Strategy in Navigation 3 — Make Your App Flow Your Way
Take Full Control of Screen Transitions in Jetpack Compose with Your Own Scene Strategy
❤3👍2😱1
Обзор новой Compose функции - retain. Похоже на функцию remember с временем жизни ViewModel.
#compose #lifecycle #viewmodel #retain #remember
https://proandroiddev.com/exploring-retain-api-a-new-way-to-persist-state-in-jetpack-compose-bfb2fe2eae43
#compose #lifecycle #viewmodel #retain #remember
https://proandroiddev.com/exploring-retain-api-a-new-way-to-persist-state-in-jetpack-compose-bfb2fe2eae43
Medium
Previewing retain{} API: A New Way to Persist State in Jetpack Compose
Jetpack Compose has reshaped how we think about UI in Android. With its declarative nature, reactive state model, and composable functions…
👍10
RetainedEffect - Side Effect в Compose на базе новой функции retain
#compose #kotlin #sideeffect #retain
https://proandroiddev.com/previewing-retainedeffect-a-new-side-effect-to-bridge-between-composition-and-retention-lifecycles-685b9e543de7
#compose #kotlin #sideeffect #retain
https://proandroiddev.com/previewing-retainedeffect-a-new-side-effect-to-bridge-between-composition-and-retention-lifecycles-685b9e543de7
Medium
Previewing RetainedEffect: A New Side Effect to Bridge Between Composition and Retention Lifecycles
The Jetpack Compose ecosystem has grown exponentially in recent years, and it is now widely adopted for building production-level UIs in…
👍3