Spec-Zone.ru › Kotlin 2

Связь между Compose Multiplatform и Jetpack Compose

Compose Multiplatform created by JetBrains, Jetpack Compose created by Google

Compose Multiplatform — это кроссплатформенный инструментарий для создания пользовательского интерфейса, разработанный JetBrains. Он расширяет инструментарий Google Jetpack Compose для Android, добавляя поддержку других целевых платформ.

Compose Multiplatform позволяет использовать API Compose из общего кода Kotlin, благодаря чему вы можете писать общий код пользовательского интерфейса Compose, который будет работать на Android, iOS, настольных компьютерах и в вебе.

Compose Multiplatform

Jetpack Compose

Платформы

Android, iOS, настольные компьютеры, веб

Android

Разработчик

JetBrains

Google

Jetpack Compose и компонуемые функции

Jetpack Compose — это декларативный инструментарий для создания пользовательских интерфейсов нативных приложений Android. В его основе лежат компонуемые функции, помеченные аннотацией @Composable. Эти функции определяют части интерфейса и автоматически обновляются при изменении базовых данных. Вы можете объединять компонуемые функции для создания макетов, обработки пользовательского ввода, управления состоянием и применения анимации. Jetpack Compose включает распространённые компоненты пользовательского интерфейса, такие как Text, Button, Row и Column, которые можно настраивать с помощью модификаторов.

Compose Multiplatform основан на тех же принципах. Он использует общие с Jetpack Compose компилятор и среду выполнения Compose, а также те же API: функции @Composable, средства управления состоянием, такие как remember, компоненты макета, модификаторы и поддержку анимации. Это значит, что вы можете применить свои знания Jetpack Compose в Compose Multiplatform, чтобы создавать кроссплатформенные интерфейсы для Android, iOS, настольных компьютеров и веба.

Возможности Compose Multiplatform и Jetpack Compose

Основы обоих UI-фреймворков можно изучить практически по любым материалам о Jetpack Compose, включая официальную документацию Google.

Разумеется, у Compose Multiplatform есть особенности и нюансы, связанные с конкретными платформами:

  • На странице Компоненты только для Android перечислены API, тесно связанные с платформой Android и поэтому недоступные из общего кода Compose Multiplatform.

  • Некоторые API для отдельных платформ, например API для управления окнами на настольных компьютерах или API совместимости с UIKit для iOS, доступны только на соответствующих платформах.

Ниже приведён обзор доступности популярных компонентов и API:

Compose Multiplatform

Jetpack Compose

Compose Animation

Да

Да

Compose Compiler

Да

Да

Compose Foundation

Да

Да

Compose Material

Да

Да

Compose Material 3

Да

Да

Compose Runtime

Да, за исключением androidx.compose.runtime.rxjava2 и androidx.compose.runtime.rxjava3

Да

Compose UI

Да

Да

Jetpack Lifecycle

Да

Да

Jetpack ViewModel

Да

Да

Jetpack Navigation Compose

Да

Да

Ресурсы

Библиотека ресурсов Compose Multiplatform с использованием класса Res

Система ресурсов Android с использованием класса R

Maps Compose

Нет

Да

Сторонние библиотеки для компонентов пользовательского интерфейса, навигации, архитектуры и других задач

Библиотеки Compose Multiplatform

Библиотеки Jetpack Compose и Compose Multiplatform

Технические подробности

Compose Multiplatform основан на коде и выпусках, публикуемых Google. Хотя Google сосредоточен на Jetpack Compose для Android, Google и JetBrains тесно сотрудничают, чтобы обеспечить поддержку Compose Multiplatform.

В Jetpack входят библиотеки, разрабатываемые Google, например Foundation и Material, которые Google публикует для Android. Чтобы API, предоставляемые этими библиотеками, можно было использовать в общем коде, JetBrains поддерживает их многоплатформенные версии, публикуемые для целевых платформ, отличных от Android.

Подробнее о циклах выпусков см. на странице Совместимость и версии.

При сборке приложения Compose Multiplatform для Android используются артефакты Jetpack Compose, опубликованные Google. Например, если добавить compose.material3 в зависимости, в целевом модуле Android проект будет использовать androidx.compose.material3:material3, а в остальных целевых модулях — org.jetbrains.compose.material3:material3. Это происходит автоматически на основе метаданных модулей Gradle в многоплатформенных артефактах.

Библиотеки для Compose Multiplatform

С помощью Compose Multiplatform вы можете публиковать библиотеки, использующие API Compose, как библиотеки Kotlin Multiplatform. Благодаря этому их можно использовать из общего кода Kotlin для нескольких платформ.

Поэтому, если вы создаёте новую библиотеку с API Compose, рассмотрите возможность воспользоваться этим и создать многоплатформенную библиотеку с помощью Compose Multiplatform. Если вы уже создали библиотеку Jetpack Compose для Android, подумайте о том, чтобы сделать её многоплатформенной. В экосистеме уже доступно множество библиотек Compose Multiplatform.

Если библиотека опубликована с помощью Compose Multiplatform, приложения, использующие только Jetpack Compose, по-прежнему могут использовать её без каких-либо затруднений: они просто используют артефакты библиотеки для Android.

Что дальше

Подробнее о реализации Compose Multiplatform для следующих компонентов:

  • Жизненный цикл

  • Ресурсы

  • Многоплатформенный ViewModel

  • Навигация и маршрутизация

27 ноября 2025 г.
Что нового в Compose Multiplatform 1.6.0Как упаковываются многоплатформенные библиотеки Jetpack

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform/compose-multiplatform-and-jetpack-compose.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API