Пять ошибок при работе с Jetpack Compose, из-за которых тормозит recomposition

Привет, Хабр! Jetpack Compose в 2026 году стал стандартом разработки UI на Android, но в проектах регулярно повторяется одна и та же история: на экране со списком в пару сотен элементов прокрутка идёт рывками, профайлер показывает скачки кадров до 200 миллисекунд, а команда чешет голову и предлагает откатиться обратно на RecyclerView. Проблема почти всегда не в Compose, а в том, как написан UI: recomposition спроектирован как дешёвая операция, но эта дешевизна работает только при соблюдении ряда правил, которые в документации описаны рассыпанно и часто игнорируются. Разберём пять ошибок, из-за которых производительность Compose-экранов проседает заметно для глаза, и покажем, как их находить и чинить. Ускорить Compose

https://habr.com/ru/companies/otus/articles/1049282/

#jetpack_compose #android #recomposition #мобильные_приложения #Compose_Compiler #оптимизация_UI #производительность_Android

Пять ошибок при работе с Jetpack Compose, из-за которых тормозит recomposition

Привет, Хабр! Jetpack Compose в 2026 году стал стандартом разработки UI на Android , но в проектах регулярно повторяется одна и та же история: на экране со списком в пару сотен элементов прокрутка...

Хабр

Backend-Driven UI для умного дома: как обучить сервер верстать интерфейсы

Привет, Хабр! Я Дмитрий, iOS-разработчик из команды Салют — мы делаем устройства и программное обеспечение для Умного дома Сбер. У нас много собственных устройств и ещё больше устройств брендов-партнёров, которые поддерживает платформа. Релизный круговорот фичей и интеграций заставляет думать: как оптимизировать процесс доставки новых функций пользователям? В статье расскажу про опыт разработки, внедрения и поддержки нашей собственной backend-driven UI парадигмы (BDUI) — подхода, в котором сервер управляет не только данными, но и вёрсткой интерфейсов.

https://habr.com/ru/companies/sberdevices/articles/1049570/

#iOS #Swift #SwiftUI #Android #Jetpack_Compose #BDUI #BackendDriven_UI #умный_дом #mobile #умныйдомСбер

Backend-Driven UI для умного дома: как обучить сервер верстать интерфейсы

Привет, Хабр!  Я Дмитрий, iOS-разработчик из команды Салют — мы делаем устройства и программное обеспечение для Умного дома Сбер. У нас много собственных устройств и ещё больше устройств...

Хабр

Интерфейсная биомимимикрия: может ли фрактальная навигация заменить «кладбище иконок» в SuperApp?

В прошлом посте https://habr.com/ru/articles/1045002/ я рассказывал про ORDO как про приватный мессенджер с нестандартной навигацией. Но сегодня я хочу отложить тему анонимности и поговорить о чем-то более глобальном — о том, как мы взаимодействуем с информацией в 2026 году. У меня есть гипотеза, и я хочу проверить её вместе с вами.

https://habr.com/ru/articles/1046706/

#ordo #superapp #uxui_дизайн #дизайн_интерфейсов #биомиметика #фрактальная_навигация #пространственная_память #интерфейсы_будущего #jetpack_compose #когнитивная_нагрузка

Я устал от бесконечных списков чатов и написал свой приватный мессенджер на гексагональных сотах (Kotlin + Go)

Привет, Хабр! Меня, честно говоря, просто утомили современные интерфейсы общения и навигации. Куда ни посмотри — в Telegram, Slack, WhatsApp, на почте — нас везде встречает один и тот же шаблон:...

Хабр

Impact Analysis в дизайн-системе: как мы сделали CI осмысленнее, а review понятнее

Меня зовут Даниил, я Android-разработчик в «БКС Мир инвестиций». В первой статье мой коллега рассказывал, как мы использовали Kotlin IR Compiler Plugin, чтобы автоматически добавлять testTag и semantics в Compose-компоненты: Kotlin IR Compiler Plugin в дизайн-системе: автотесты с Compose без ручной разметки . Эта статья — следующий шаг: как мы начали использовать информацию о структуре дизайн-системы, чтобы понимать область влияния изменения.

https://habr.com/ru/companies/bcs_company/articles/1039404/

#Android #Design_System #Jetpack_Compose #CI #Impact_Analysis

Impact Analysis в дизайн-системе: как мы сделали CI осмысленнее, а review понятнее

Меня зовут Даниил, я Android-разработчик в «БКС Мир инвестиций». В первой статье мой коллега рассказывал, как мы использовали Kotlin IR Compiler Plugin, чтобы автоматически добавлять testTag и...

Хабр

[Перевод] Mission Impossible: как добиться 0 рекомпозиций в сложном кастомном UI

Сотня рекомпозиций в секунду при скролле — это приговор. Приговор батарее устройства, плавности анимаций и вашей репутации как инженера. Мы привыкли мыслить высокоуровневыми абстракциями: закинуть LazyColumn , добавить пару Modifier.padding и отправить в продакшен. Но что делать, когда стандартные компоненты начинают "захлебываться", а Layout Inspector горит красным от избыточных отрисовок?

https://habr.com/ru/articles/1035388/

#Jetpack_Compose #Android #Recomposition #Performance #LazyLayout #Custom_UI #Kotlin #Оптимизация #Рендеринг

Mission Impossible: как добиться 0 рекомпозиций в сложном кастомном UI

Image by author Это перевод моей собственной статьи, опубликованной ранее в ProAndroidDev. Сотня рекомпозиций в секунду при скролле — это приговор. Приговор батарее устройства, плавности анимаций...

Хабр

Как мы считаем досрочное погашение кредита: что реально работает в коде

Когда я начал делать кредитный трекер, казалось, что финансовая математика — самая простая часть проекта. Формула аннуитета есть в любом учебнике, Excel справляется за пять минут. Я ошибался. Небольшой контекст: до этого я довольно долго не делал ничего для Android — работал в других областях, экосистема успела заметно измениться. Вернуться оказалось неожиданно приятно: Compose после нескольких лет XML-вёрстки ощущается как глоток свежего воздуха, KSP вместо KAPT работает заметно быстрее, а Room с Flow и корутинами — это уже совсем другой уровень удобства по сравнению с тем, что я помнил. Так что статья отчасти и про это: как выглядит возвращение в Android-разработку после перерыва. Под катом — технический разбор того, как на самом деле устроен кредитный калькулятор внутри Android-приложения. С реальным кодом, реальными компромиссами и честным признанием того, что мы намеренно упростили.

https://habr.com/ru/articles/1027196/

#финтех #мобильная_разработка #Android #личные_финансы #Kotlin #Jetpack_Compose #алгоритмы #опыт #personal_finance #money_management

Как мы считаем досрочное погашение кредита: что реально работает в коде

Когда я начал делать кредитный трекер, казалось, что финансовая математика — самая простая часть проекта. Формула аннуитета есть в любом учебнике, Excel справляется за пять минут. Я ошибался....

Хабр

Anubis: заморозка приложений по состоянию VPN

Приложения на вашем телефоне могут обнаружить VPN через SOCKS5 на localhost и слить IP-адрес сервера. Рабочий профиль (Island, Insular, Shelter) скрывает VPN от ConnectivityManager, но не от tun0, маршрутов и локальных портов. Так родился open-souce Anubis, который решает проблему иначе - автоматически отключает приложения через pm disable-user при смене состояния VPN. Мёртвое приложение не может ничего детектить, потому что его не существует. Под капот Anubis

https://habr.com/ru/articles/1023352/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1023352

#Android #VPN #Shizuku #pm_disableuser #приватность #заморозка_приложений #Kotlin #Jetpack_Compose #reverse_engineering #open_source

Anubis: заморозка приложений по состоянию VPN

Anubis: pm disable вместо песочницы - почему заморозка приложений надёжнее Island, Shelter и Knox Представьте: вы подключились к рабочему VPN – нужно зайти на корпоративный сервер или проверить...

Хабр

Anubis: заморозка приложений по состоянию VPN

Приложения на вашем телефоне могут обнаружить VPN через SOCKS5 на localhost и слить IP-адрес сервера. Рабочий профиль (Island, Insular, Shelter) скрывает VPN от ConnectivityManager, но не от tun0, маршрутов и локальных портов. Так родился open-souce Anubis, решает проблему иначе - автоматически отключает приложения через pm disable-user при смене состояния VPN. Мёртвое приложение не может ничего детектить, потому что его не существует. Под капот Anubis

https://habr.com/ru/articles/1023352/

#Android #VPN #Shizuku #pm_disableuser #приватность #заморозка_приложений #Kotlin #Jetpack_Compose #reverse_engineering #open_source

Anubis: заморозка приложений по состоянию VPN

Anubis: pm disable вместо песочницы - почему заморозка приложений надёжнее Island, Shelter и Knox Представьте: вы подключились к рабочему VPN – нужно зайти на корпоративный сервер или проверить...

Хабр

Разбираем Remote Compose: как Google предлагает строить BDUI

Технологии Backend-Driven UI уже давно используются во многих компаниях, включая Альфа-Банк. Существует множество реализаций этого подхода, и недавно Google представил собственное решение — Remote Compose . Remote Compose выглядит очень перспективной технологией. Фреймворк активно развивается и поддерживается командой Google. Однако на момент написания статьи технология всё ещё находится в alpha-версии, поэтому использовать её на проде пока рано. Но я изучил этот фреймворк и хочу поделиться своим опытом,а когда Remote Compose выйдет в бета-версию вы будете знать, как с ним работать В статье разберём: — общую концепцию Remote Compose, — чем он отличается от классического BDUI, — какие интересные технические решения используются внутри, — несколько практических примеров использования.

https://habr.com/ru/companies/alfa/articles/1018986/

#android #compose #jetpack_compose #bdui #sdui #google #backenddriven_ui #remote_compose #compose_remote

Разбираем Remote Compose: как Google предлагает строить BDUI

Технологии Backend-Driven UI уже давно используются во многих компаниях, включая Альфа-Банк. Существует множество реализаций этого подхода, и недавно Google представил собственное решение — Remote...

Хабр

Как автор книг по Kotlin проверял мой проект: разбор ошибок в Coroutines и архитектуре

Проведя аудит GitHub, я обнаружил, что полноценных реализаций Gemini-клиента с глубокой проработкой архитектуры практически нет. Я решил стать первым, кто выложит в открытый доступ не просто обертку над API, а готовую архитектурную базу с точным повторением UI оригинального Gemini.

https://habr.com/ru/articles/1018040/

#Android #Kotlin #Coroutines #Jetpack_Compose #AI #Gemini_AI #Structured_Concurrency #Проектирование_систем

Как автор книг по Kotlin проверял мой проект: разбор ошибок в Coroutines и архитектуре

Всем привет! Меня зовут Шамиль, и я хочу поделиться историей о том, как обычное желание разобраться в корутинах привело к детальному аудиту проекта Марчином Москалой, по итогам которого архитектурные...

Хабр