Kotlin マルチプラットフォームを使用して、複数のプラットフォームで実行される単一のコードベースを作成します。

Kotlin マルチプラットフォーム(KMP)は、Android と iOS の間でビジネス ロジックを共有するために Google が正式にサポートしています。Kotlin マルチプラットフォームは安定しており、本番環境で使用できます。JetBrains の Compose Multiplatform(CMP)を使用すると、デベロッパーはプラットフォーム間で UI を共有することもできます。

パスウェイ
今すぐマルチプラットフォーム開発を始めましょう。このパスでは、プロジェクトのセットアップ、コードの共有、プラットフォーム固有の API の使用から、Room データベースの Kotlin マルチプラットフォームへの移行まで、Kotlin マルチプラットフォームの基本を説明します。
Android Studio プラグイン
Android Studio 内の開発エクスペリエンスを向上させるため、JetBrains が開発した Kotlin Multiplatform Android Studio プラグインをインストールすることをおすすめします。
  • 新しいプロジェクト ウィザード: IDE 内で新しいマルチプラットフォーム プロジェクトを作成します。
  • プリフライト チェック: プリフライト チェックは、環境の構成に役立ちます。
  • 実行構成: IDE から直接、iOS と Android の両方でアプリケーションの実行、デバッグ、テストを行います。
  • IDE での基本的な Swift サポート: IDE で基本的な Swift サポートを利用できます。これには、言語間のデバッグツール、ナビゲーション、クイック ドキュメントが含まれます。

Kotlin マルチプラットフォームのメリット

Kotlin マルチプラットフォームを使用すると、コアビジネス ロジックのみからアプリケーション全体まで、プラットフォーム間で共有するものを選択できます。主なメリットは次のとおりです。
複雑なビジネス ロジックを各プラットフォームで複製する必要はありません。
Kotlin マルチプラットフォームを使用すると、プラットフォーム間でコードの共有を開始するためにアプリケーション全体を書き直す必要はありません。
Kotlin マルチプラットフォームは、ターゲット プラットフォームがコードを実行するネイティブな方法でコンパイルされるため、ネイティブ実装と同等のパフォーマンスを実現します。

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

Jetpack ライブラリの多くはすでに KMP 対応に移行されています。次の Jetpack ライブラリは KMP をサポートしています。

Android ロゴ Android によって構築 JetBrains のロゴ JetBrains によって構築 サポート対象外

ライブラリ 最新リリース Android iOS JVM ウェブ
annotation 2025 年 10 月 22 日
collection 2025 年 8 月 27 日
compose 2025 年 10 月 22 日
datastore

ドキュメント
2025 年 10 月 22 日
ライフサイクル

ドキュメント
2025 年 10 月 22 日
viewModel

ドキュメント
2025 年 10 月 22 日
viewModel-compose

ドキュメント
2025 年 10 月 22 日
paging 2025 年 9 月 10 日
room

ドキュメント
2025 年 10 月 22 日
savedstate 2025 年 10 月 22 日
sqlite

ドキュメント
2025 年 9 月 24 日

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

ツールサポート

マルチプラットフォーム プロジェクトは、Android Studio で開いたり、編集したり、実行したりできます。
Android Studio 内で KMP 共有モジュールを作成することで、KMP への移行を開始できます。このモジュールは、Android アプリと iOS アプリの開発を開始するために必要なすべてのプラグイン(Android-KMP プラグインなど)を自動的に適用します。
ライブ編集は、Android デバイスでビルドするときに、プロジェクト内の任意のコード(androidMain 内のコードだけでなく)を編集する場合に機能します。
Jetpack Compose のプレビューは、commonMain ソースセットの JetBrains の Compose Multiplatform でも利用できます。

Kotlin Multiplatform で作成されたアプリ

すでに多くのアプリが Kotlin Multiplatform を使用して成功を収めています。
Blinkit
Cash App
Duolingo
Forbes
Google Docs
JioHotstar
Swiggy
Ultrahuman
Wrike
Zomato

対応プラットフォーム

公式にサポートされているプラットフォーム(Android と iOS)向けの Jetpack ライブラリのリリースでは、同じ品質と互換性の要件が維持されます。ただし、Jetpack の Kotlin マルチプラットフォーム サポートを他のプラットフォームに拡大する作業が進められているため、ツールとインフラストラクチャのサポートは進行中の可能性があります。
コードは CI で完全にテストされます。これには、ホスト側とデバイス上の両方のテストが含まれます。Google は、セマンティック バージョニング ポリシーに従って、ソースとバイナリの互換性を追跡しています。
  • Android
  • JVM
  • iOS
コードは CI で部分的にテストされます。ホスト側テストに限定されます。ソースまたはバイナリの互換性は追跡されません。
  • macOS
  • Linux
コードが CI でテストされていません。ソースまたはバイナリの互換性の追跡はありません。
  • watchOS
  • tvOS
  • Windows
  • JavaScript
  • WASM

参考情報

マルチプラットフォーム エコシステム全体とより高度な構成について詳しくは、Kotlin Multiplatform の公式ドキュメントをご覧ください。
Android と iOS 向けの Jetpack ライブラリの使用方法を示す Kotlin マルチプラットフォーム サンプルのセット。
プロジェクトに KMP を追加する方法に関するオンボーディング ガイド。
Android 専用の Room から KMP へのガイド付き移行。
詳細なガイダンスについては、Kotlinlang.org の Kotlin Multiplatform ドキュメント ハブをご覧ください。
Kotlin マルチプラットフォームの概要、仕組み、使用するメリットについて学習します。