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:
- CI で完全にテスト済み(ホスト側とデバイス上の両方のテストを含む)
- セマンティック バージョニング ポリシーに準拠したソースとバイナリの互換性トラッキング
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 マルチプラットフォーム ドキュメントをご覧ください。
kotlin-multiplatform-samples - KMP プロジェクトで Jetpack ライブラリの機能の一部を紹介しています。
KMP のスタートガイドの Codelab - プロジェクトに KMP を追加する方法を説明するガイド付きオンボーディング。
Room を Room KMP に移行する Codelab - Android 専用の Room から KMP へのガイド付き移行。
フィードバック
これらのライブラリに関するフィードバックがございましたら、Issue Tracker でお知らせください。
あなたへのおすすめ
- 注: JavaScript がオフになっている場合はリンクテキストが表示されます
- 既存のアプリを Room KMP に移行する Codelab
- KMP のスタートガイドの Codelab
- Android-KMP Gradle プラグインを使用する