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

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

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

Kotlin マルチプラットフォームは、Android と iOS の間でビジネス ロジックを共有するために Google によって正式にサポートされています。Jetpack ライブラリの多くは、KMP を活用するようにすでに移行されています。

次の Jetpack ライブラリは KMP をサポートしています。

Maven グループ ID 最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース ドキュメント
annotation(*) 2024 年 10 月 30 日 1.9.1 - - -
collection 2024 年 11 月 13 日 1.4.5 - - 1.5.0-alpha06
datastore 2024 年 5 月 1 日 1.1.1 - - - ドキュメント
lifecycle(*) 2024 年 11 月 13 日 2.8.7 - - 2.9.0-alpha07
paging(*) 2024 年 11 月 13 日 3.3.4 - - -
room 2024 年 10 月 30 日 2.6.1 - - 2.7.0-alpha11 ドキュメント
sqlite 2024 年 10 月 30 日 2.4.0 - - 2.5.0-alpha11 ドキュメント

API の利用可能なプラットフォームを示すマーカー

これらのライブラリのリファレンス ドキュメントでは、共通コード、Android、ネイティブで利用可能かどうかに基づいて API にマークが表示されています。各ページの上部で、宣言をプラットフォーム別にフィルタすることもできます。

kotlin-multiplatform-samples GitHub リポジトリでは、これらのライブラリの機能の一部を紹介しています。

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

対応プラットフォーム

公式にサポートされているプラットフォーム(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
watchOS Tier 3
tvOS Tier 3
Linux Tier 2
Windows Tier 3
WASM Tier 3

ツールのサポート

マルチプラットフォーム プロジェクトは、Android Studio で開いたり、編集したり、実行したりできます。ただし、IDE の一部の機能は、このプロジェクトでまだ利用できません。新しいプロジェクトを作成するには、JetBrainsKotlin マルチプラットフォーム ウィザードを使用します。

また、新しいリリースのコアシナリオをテストして、Android Gradle プラグインが Kotlin マルチプラットフォームと互換性があることを確認しています。