Что это простыми словами
Compose Multiplatform — это инструмент для создания интерфейса приложений, который работает сразу на всех платформах: Android, iOS, компьютеры и веб. Вместо того чтобы рисовать кнопки и экраны отдельно для каждой системы, разработчик пишет их один раз — и они работают везде.
Аналогия: представьте, что вы пишете инструкцию по сборке мебели. Обычно пришлось бы делать отдельные версии на русском, английском и китайском. А Compose Multiplatform — это как универсальный язык картинок, понятный всем сразу. Написали один раз — все собрали мебель.
Это экономит время и деньги: не нужна отдельная команда под iOS, отдельная под Android и так далее. Один разработчик покрывает все платформы.
Официальное определение
Теперь, когда суть понятна, вот как это описывают в вакансиях и документации. Эту формулировку вы будете встречать у заказчика, в резюме и в речи разработчиков — теперь вы понимаете, что за ней стоит.
«Compose Multiplatform — декларативный кросс-платформенный UI-фреймворк на базе Kotlin Multiplatform и Jetpack Compose, позволяющий разделять код интерфейса между Android, iOS, Desktop и Web».
Разберём по словам. «UI» (user interface) — всё, что видит пользователь: кнопки, формы, картинки. «Декларативный» — разработчик описывает, каким должен быть результат, а не расписывает каждый шаг. «Кросс-платформенный» — один код работает на разных системах (Android, iOS, компьютеры). «Разделять код» — написать один раз, использовать везде. «Kotlin Multiplatform» — основа, на которой построен Compose Multiplatform. «Jetpack Compose» — подход к созданию интерфейсов, изначально придуманный для Android.
Зачем нужен и какую задачу решает
Раньше, чтобы сделать приложение для телефона и компьютера, нужны были разные специалисты: один пишет для iOS на Swift, другой для Android на Kotlin, третий для веб-версии. Каждую кнопку, каждый экран делали трижды. Это долго, дорого, и версии легко рассинхронизировать — на iPhone одна кнопка синяя, на Android другая.
Compose Multiplatform решает эту боль: интерфейс описывается один раз на языке Kotlin, а потом собирается под нужную платформу. Обновили дизайн — изменения попадут сразу везде. Нашли баг — починили один раз, а не пять. Компании экономят на команде и ускоряют выход продукта на рынок.
К кому относится: язык, специальность, экосистема
Compose Multiplatform работает на языке Kotlin и построен поверх фреймворка Kotlin Multiplatform (тот отвечает за общую логику приложения, а Compose Multiplatform добавляет к ней интерфейс).
Им пользуются мобильные разработчики, которые хотят покрыть и Android, и iOS одним кодом. Также его используют команды, которые делают десктопные приложения для Windows, macOS и Linux — всё на одной базе. В резюме вы увидите связку «Kotlin + Compose Multiplatform» или «Kotlin Multiplatform + Compose».
Экосистема вокруг Compose Multiplatform ещё молодая, но активно растёт. Разработчики часто упоминают рядом:
Jetpack Compose — оригинальный инструмент для Android, на котором основан Compose Multiplatform.
Kotlin Multiplatform — фундамент, на котором построен Compose Multiplatform; отвечает за логику.
Ktor, SQLDelight — библиотеки для работы с сетью и базами данных в Kotlin Multiplatform.
С чем взаимозаменяем
Главные конкуренты Compose Multiplatform в кросс-платформенной разработке — это Flutter (от Google, на языке Dart) и React Native (от Meta, на JavaScript). Все три решают одну задачу: написать приложение один раз и запустить на разных платформах.
Но это не взаимозаменяемые навыки: они работают на разных языках (Kotlin, Dart, JavaScript), устроены по-разному, и опыт между ними почти не переносится. Разработчик на Flutter не сможет сразу писать на Compose Multiplatform, и наоборот. Переход занимает месяцы.
При найме это означает: если вакансия требует Compose Multiplatform, кандидат с Flutter или React Native — почти наверняка не подходит, даже если у него большой опыт в мобильной разработке.
Что не путать
Compose Multiplatform ≠ Jetpack Compose: Jetpack Compose — это инструмент только для Android. Compose Multiplatform построен на тех же идеях, но работает сразу на всех платформах. Кто знает Jetpack Compose, быстрее освоит Compose Multiplatform, но это не одно и то же.
Compose Multiplatform ≠ Kotlin Multiplatform: Kotlin Multiplatform — это основа для общей логики приложения (расчёты, работа с данными), а Compose Multiplatform добавляет к ней интерфейс. Они работают вместе, но отвечают за разное. Можно использовать Kotlin Multiplatform без Compose, но не наоборот.
«Compose для Desktop» или «Compose для iOS» — это не отдельные технологии, а части Compose Multiplatform. Если в резюме написано «Compose for Desktop», речь о том же фреймворке, просто человек указал конкретную платформу.
Compose Multiplatform ≠ Flutter: звучат похоже по задаче, но это совершенно разные инструменты на разных языках. Опыт не переносится.
Насколько это важно при отборе
Короткий ответ: это жёсткий фильтр, если технология явно указана в вакансии.
Compose Multiplatform — относительно молодой фреймворк, и если компания выбрала его, значит, она сознательно идёт по этому пути. Опыт с Flutter или React Native сюда не переносится: другой язык, другая архитектура, другие подходы. Предлагать Flutter-разработчика на Compose Multiplatform — ошибка, даже если у человека десять лет в мобильной разработке.
Однако есть нюанс: разработчик с опытом Jetpack Compose (Android) быстро освоит Compose Multiplatform — они построены на одних идеях. Если в вакансии Compose Multiplatform, а у кандидата есть Jetpack Compose и Kotlin Multiplatform, это сильный сигнал: человек освоит недостающее быстро. Отбраковывать такого не стоит.
Правило простое: отсеивать по кросс-платформенному фреймворку можно, но учитывайте близость Jetpack Compose.
Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.