Kotlin マルチプラットフォームの概要

Kotlin マルチプラットフォーム(KMP)を使用すると、異なるプラットフォームの間で Kotlin コードを共有できます。Kotlin マルチプラットフォームは JetBrains によって開発されており、Android と iOS の間でビジネス ロジックを共有するために Google によって正式にサポートされています。KMP を使用してモバイル プラットフォームをターゲットにすることは、安定した実稼働対応のバージョンとしてこれを使用し、モバイル プラットフォームをターゲットにできます。

マルチプラットフォームの Jetpack ライブラリ

Jetpack ライブラリの多くは、すでに KMP を活用するために移行されています。次の Jetpack ライブラリは KMP をサポートしています。

Maven グループ ID 最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース ドキュメント
annotation(*) 2025 年 7 月 16 日 1.9.1 - - -
collection 2025 年 3 月 12 日 1.5.0 - - -
datastore 2025 年 5 月 20 日 1.1.7 - - 1.2.0-alpha02 ドキュメント
lifecycle(*) 2025 年 7 月 30 日 2.9.2 - - 2.10.0-alpha01
paging(*) 2025 年 7 月 30 日 3.3.6 - - 3.4.0-alpha02
room 2025 年 8 月 1 日 2.7.2 - 2.8.0-beta01 - ドキュメント
savedstate 2025 年 7 月 30 日 1.3.1 - - 1.4.0-alpha01
sqlite 2025 年 8 月 1 日 2.5.2 - 2.6.0-beta01 - ドキュメント

リファレンス ドキュメント

これらのライブラリのリファレンス ドキュメント(DataStoreFactory など)では、共通コード、Android、ネイティブで利用可能かどうかに基づいて API にマークが表示されています。

各ページの上部で、宣言をプラットフォーム別にフィルタすることもできます。次の表に、各マーカーの意味を示します。

対応プラットフォーム

公式にサポートされているプラットフォーム(Android と iOS)向けの Jetpack ライブラリ リリースは、同じ品質と互換性の要件を維持しています。ただし、Jetpack の Kotlin マルチプラットフォーム サポートを他のプラットフォームに拡大する作業を進めているため、ツールとインフラストラクチャのサポートは開発中の可能性があります。

各プラットフォームの現在のサポートレベルは、次のように階層でまとめることができます。

Tier 1:

Tier 2:

  • CI で部分的にテスト済み。ホスト側のテストに限定
  • ソースまたはバイナリの互換性の追跡なし

Tier 3:

  • CI でテストされていない
  • ソースまたはバイナリの互換性の追跡なし
プラットフォーム サポートレベル
Android Tier 1
JVM Tier 1
iOS Tier 1
macOS Tier 2
Linux Tier 2
watchOS Tier 3
tvOS Tier 3
Windows Tier 3
JavaScript Tier 3
WASM Tier 3

ツールのサポート

マルチプラットフォーム プロジェクトは、Android Studio で開いたり、編集したり、実行したりできます。ただし、IDE の一部の機能は、このプロジェクトでまだ利用できません。

Android Studio で新しい KMP モジュールを作成する

KMP への移行は、Android Studio 内で KMP 共有モジュールを作成することから始められます。このモジュールは、Android アプリと iOS アプリの開発を開始するために必要なすべてのプラグイン(Android-KMP プラグインなど)を自動的に適用します。

Kotlin Multiplatform Android Studio プラグイン

JetBrains が開発した Kotlin マルチプラットフォーム Android Studio プラグインをインストールすることをおすすめします。このプラグインには、開発エクスペリエンスを容易にするためのいくつかの機能があります。

  • 新しいプロジェクト ウィザード: IDE 内で新しいマルチプラットフォーム プロジェクトを作成します。
  • プリフライト チェック: プリフライト チェックは、環境の構成に役立ちます。
  • 実行構成: IDE から直接、iOS と Android の両方でアプリケーションの実行、デバッグ、テストを行います。
  • IDE での基本的な Swift サポート: IDE で基本的な Swift サポートを利用できます。これには、言語間のデバッグ ツール、ナビゲーション、クイック ドキュメントが含まれます。

参考情報

マルチプラットフォーム エコシステム全般とより高度な構成について詳しくは、公式の Kotlin マルチプラットフォーム ドキュメントをご覧ください。

フィードバック

これらのライブラリに関するフィードバックがございましたら、Issue Tracker でお知らせください。