Wiki · Технологии разработки
Jetpack Compose
Jetpack Compose – это рекомендованный Google набор инструментов для создания интерфейса Android-приложений на языке Kotlin. Экран описывают кодом как функцию от данных, и при изменении данных Compose сам обновляет нужную часть экрана.
В смете на Android-приложение всё чаще пишут «интерфейс на Compose». Для заказчика за этим стоят три вопроса: быстрее ли так делать и менять экраны, кого искать на поддержку и что делать, если ваше приложение написано по-старому, на XML.
Кто развивает Compose и сколько приложений на нём
Compose развивает Google как часть библиотек Android Jetpack. Версия 1.0 вышла 28 июля 2021 года. По данным Google на июль 2026 года, Compose используют больше 68% из тысячи крупнейших Android-приложений. На странице Compose Google приводит в пример Airbnb, Reddit, Dropbox, Booking.com.
Compose подключают к проекту как обычные библиотеки, а не получают вместе с системой. Поэтому его версию обновляет разработчик вместе с приложением, и она не зависит от того, какая версия Android стоит у пользователя.
На Google I/O 2026 Google объявила подход Compose-first: новые инструменты, документацию и примеры делают в расчёте на Compose. Старый набор элементов интерфейса (Views) переведён в режим поддержки и получает только критические исправления.
Экран как функция от данных
В старом подходе экран рисовали в XML-разметке, а код находил на нём элементы и вручную менял текст, цвет, видимость. Чем больше состояний у экрана, тем больше мест, где можно забыть что-то обновить.
В Compose экран описывают функцией от данных. Вот счётчик товаров в корзине:
var count by remember { mutableStateOf(0) }
Button(onClick = { count++ }) {
Text("Cart: $count")
}
Код не говорит «найди надпись и замени в ней цифру». Он говорит: кнопка показывает текущее число. Когда число меняется, Compose сам перерисует кнопку. Такой стиль называют декларативным.

Что Compose ускоряет и где не выручит
- Меньше кода на экран, поэтому правки интерфейса делают быстрее и с меньшим риском что-то задеть.
- Предпросмотр в Android Studio: разработчик видит экран при каждом изменении кода, не запуская приложение.
- Встроены Material 3, тёмная тема, анимации и адаптивные макеты. Один и тот же подход работает на телефонах, планшетах, складных устройствах, часах на Wear OS и экранах автомобилей.
- Только Kotlin. Команде, которая писала на Java, придётся переучиваться.
- Сам по себе Compose работает только на Android. Для iPhone есть Compose Multiplatform от JetBrains, но это отдельное решение и отдельная настройка проекта.
Compose рядом с Views, SwiftUI и Flutter
| Подход | Платформы | Когда подходит |
|---|---|---|
| Jetpack Compose | Android | Новое Android-приложение или новые экраны в существующем |
| Views на XML | Android | Поддержка уже работающих экранов, которые пока не трогают |
| Compose Multiplatform | Android, iOS, компьютеры | Общий интерфейс на Kotlin для нескольких платформ |
| SwiftUI | iPhone, iPad, Mac | Тот же декларативный подход для устройств Apple |
| Flutter | iOS, Android, веб, компьютеры | Одно приложение с общим интерфейсом на Dart |
Как проверить, на Compose ли приложение
По репозиторию. Признаки Compose: зависимости androidx.compose в настройках сборки и функции с пометкой @Composable. Если экраны лежат в папке res/layout в виде XML-файлов, это Views. Смесь того и другого означает, что переход уже начат.
Если приложение написано на старых Views
В режим поддержки ушли и популярные библиотеки для Views: RecyclerView для списков, Fragment, Navigation, ConstraintLayout. Работать они продолжат, но новых возможностей в них не появится.
Переписывать всё разом Google не требует и не советует. Compose и Views умеют жить в одном приложении: экран на Compose можно вставить в старый, и наоборот. Обычно переход идёт так:

Начинают с темы: цвета, шрифты, кнопки и поля ввода переносят в Compose один раз, и дальше все экраны собирают из них. Если у вас есть дизайн-система, это самая удобная точка входа. Заодно стоит проверить юзабилити старых экранов: переписывать неудобный экран один в один в новом коде нет смысла.
Дальше новые экраны делают сразу на Compose, а старые переносят при очередной доработке, когда в них всё равно нужно что-то менять. Последними удаляют XML-макеты и библиотеки Views, которые больше нигде не используются.
Android-разработчик с опытом Compose сейчас обычная история: инструмент стабилен с 2021 года. Но если в приложении много старых экранов, в команде нужен человек, который уверенно работает и с Views. Когда заказываете редизайн или крупную доработку Android-приложения, попросите оценку в двух вариантах: правка старых экранов и перенос их на Compose. Так проще решить, где перенос окупится, а где старый экран лучше пока не трогать.
Почему переход на Compose затягивается или разочаровывает
- Остановить развитие приложения ради полного переписывания интерфейса.
- Переносить экраны на Compose без общей темы. Каждый разработчик рисует кнопки по-своему, и приложение расползается.
- Ждать, что Compose автоматически даст версию для iPhone.
Android-приложения на Kotlin и Jetpack Compose проектируем и разрабатываем по услуге «Разработка мобильного приложения», интерфейсы кабинетов по услуге «Разработка личного кабинета». Если проект уже работает на Jetpack Compose, берём его на доработку и поддержку.
Установка, элементы экрана и совместимость Compose
Где взять Jetpack Compose и что для него установить?
Отдельной программы нет: Compose подключают к проекту как набор библиотек в настройках сборки. Работают с ним в Android Studio, она бесплатна и скачивается с developer.android.com, а при создании проекта там можно сразу выбрать шаблон с экраном на Compose.
Из каких элементов собирают экран на Compose?
Из небольших функций-компонентов. Text выводит надпись, Button рисует кнопку, Row и Column ставят элементы в строку или столбик, Box накладывает их друг на друга. Готовые поля, карточки и меню в стиле Material 3 подключаются отдельной библиотекой, из них же собирают общую тему приложения.
Перенесётся ли экран на Compose в версию для iPhone?
В SwiftUI нет: подход у них похожий, но код на Kotlin в Swift-проект не переходит. Общий интерфейс для Android и iPhone даёт Compose Multiplatform от JetBrains, к октябрю 2026 года его поддержка iOS считается стабильной. Это отдельная настройка проекта, и выпускать iOS-версию всё равно придётся через Mac и Xcode, с аккаунтом в Apple Developer.
Чем Jetpack Compose отличается от Kotlin?
Kotlin это язык, на котором пишут всё приложение: логику, работу с сетью, хранение данных. Compose это библиотеки на этом языке только для экранов. Без Kotlin Compose не работает, а Kotlin без Compose вполне: старые экраны на Views тоже ведут на нём.
Будут ли экраны на Compose работать на старых телефонах?
Будут, в пределах минимальной версии Android, выбранной для приложения. Compose едет внутри сборки как обычная библиотека и от прошивки телефона не зависит.
Документация и справки
- Документация Android: Jetpack Compose, подход Compose-first
- Блог Android Developers: Celebrating 5 years of Jetpack Compose
- Документация Kotlin Multiplatform: стабильность платформ
Остались вопросы по теме «Jetpack Compose»?
Напишите нам в Telegram или MAX. Ответит специалист, который отвечает за эту тему, или руководитель проектов в рабочее время.
Отвечает по темеСергей ЧерняковWeb-разработчикНад статьёй работали
Услуги
Услуги по теме
Посчитайте стоимость проекта за 2 минуты
Калькулятор соберёт смету по нашим тарифам: сайт, дизайн, интеграции и поддержка.
