Skip to content

互換性とバージョン

Compose Multiplatformのリリースは、KotlinおよびJetpack Composeのリリースとは別に提供されます。このページでは、Compose Multiplatformのリリース、Composeのリリースサイクル、およびコンポーネントの互換性に関する情報を提供します。

サポートされているプラットフォーム

Compose Multiplatform 1.8.2 は、以下のプラットフォームをサポートしています。

プラットフォーム最小バージョン
AndroidAndroid 5.0 (API level 21)
iOSiOS 13
macOSmacOS 12 x64, macOS 13 arm64
WindowsWindows 10 (x86-64, arm64)
LinuxUbuntu 20.04 (x86-64, arm64)
WebWasmGCサポートのあるブラウザ

Compose Multiplatformのすべてのリリースは、64ビットプラットフォームのみをサポートしています。

Kotlinの互換性

最新のCompose Multiplatformは、常に最新バージョンのKotlinと互換性があります。 バージョンを手動で合わせる必要はありません。 いずれかの製品のEAPバージョンを使用すると、まだ不安定になる可能性があることに注意してください。

Compose Multiplatformは、Kotlin Multiplatformプラグインと同じバージョンのCompose Compiler Gradleプラグインが適用されている必要があります。 詳細については、未定義を参照してください。

Compose Multiplatform 1.8.0以降、UIフレームワークはK2コンパイラに完全に移行しました。 したがって、最新のCompose Multiplatformリリースを使用するには、以下を行う必要があります。

  • プロジェクトにKotlin 2.1.0以上を使用する、
  • Compose Multiplatformベースのライブラリは、Kotlin 2.1.0以上でコンパイルされている場合にのみ依存する。

すべての依存関係が更新されるまでの後方互換性の問題に対する回避策として、 gradle.propertiesファイルにkotlin.native.cacheKind=noneを追加することで、Gradleキャッシュをオフにできます。 これにより、コンパイル時間が長くなります。

デスクトップ版Compose Multiplatformの制限事項

デスクトップ版Compose Multiplatformには以下の制限事項があります。

  • Skiaバインディングで使用されているメモリ管理スキームにより、JDK 11以降のみがサポートされています。
  • jpackageの制限により、ネイティブディストリビューションのパッケージングにはJDK 17以降のみがサポートされています。
  • macOSでキーボードレイアウトを切り替える際に、OpenJDK 11.0.12に既知の問題があります。 この問題はOpenJDK 11.0.15では再現されません。

Jetpack ComposeとCompose Multiplatformのリリースサイクル

Compose Multiplatformは、Googleが開発したフレームワークであるAndroid版Jetpack Composeと多くのコードを共有しています。共通コードが適切にテストされ、安定化されるように、Compose MultiplatformのリリースサイクルをJetpack Composeのリリースサイクルに合わせています。

Jetpack Composeの新しいバージョンがリリースされると、弊社は以下を行います。

  • 次のCompose Multiplatformバージョンのベースとして、リリースコミットを使用します。
  • 新しいプラットフォーム機能のサポートを追加します。
  • すべてのプラットフォームを安定化させます。
  • Compose Multiplatformの新しいバージョンをリリースします。

Compose MultiplatformのリリースとJetpack Composeのリリースの間隔は、通常1〜3ヶ月です。

Compose Multiplatformの開発バージョン

Compose Multiplatformコンパイラプラグインの開発バージョン(例: 1.8.2+dev2544)は、正式リリース間のアップデートをテストするために、定められたスケジュールなしでビルドされます。

これらのビルドはMaven Centralでは利用できません。 それらにアクセスするには、リポジトリのリストにこの行を追加します。

kotlin
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")

使用されるJetpack Composeアーティファクト

Android向けにアプリケーションをビルドする際、Compose MultiplatformはGoogleが公開するアーティファクトを使用します。 例えば、Compose Multiplatform 1.5.0 Gradleプラグインを適用し、dependenciesimplementation(compose.material3)を追加すると、Androidターゲットではandroidx.compose.material3:material3:1.1.1アーティファクトが使用されます(ただし、他のターゲットではorg.jetbrains.compose.material3:material3:1.5.0が使用されます)。

以下の表は、各Compose Multiplatformバージョンで使用されるJetpack Composeアーティファクトのバージョンを示しています。

Compose MultiplatformバージョンJetpack ComposeバージョンJetpack Compose Material3バージョン
1.8.21.8.21.3.2
1.7.31.7.61.3.1
1.7.11.7.51.3.1
1.7.01.7.11.3.0
1.6.111.6.71.2.1
1.6.101.6.71.2.1
1.6.21.6.41.2.1
1.6.11.6.31.2.1
1.6.01.6.11.2.0
1.5.121.5.41.1.2
1.5.111.5.41.1.2
1.5.101.5.41.1.2
1.5.11.5.01.1.1
1.5.01.5.01.1.1
1.4.31.4.31.0.1
1.4.11.4.31.0.1
1.4.01.4.01.0.1
1.3.11.3.31.0.1
1.3.01.3.31.0.1
1.2.11.2.11.0.0-alpha14
1.2.01.2.11.0.0-alpha14
1.1.11.1.01.0.0-alpha05
1.1.01.1.01.0.0-alpha05
1.0.11.1.0-beta021.0.0-alpha03
1.0.01.1.0-beta021.0.0-alpha03