Skip to content

Kotlin Multiplatformとは

Kotlin Multiplatform (KMP) は、JetBrainsが提供するオープンソースのテクノロジーです。ネイティブ開発の利点を維持しながら、Android、iOS、デスクトップ、ウェブ、サーバー間でコードを共有することを可能にします。

Compose Multiplatformを使用すると、UIコードも複数のプラットフォーム間で共有でき、コードの再利用性を最大限に高めることができます。

なぜ企業はKMPを選ぶのか

コスト効率と迅速なデリバリー

Kotlin Multiplatformは、技術面と組織面の両方のプロセスを合理化するのに役立ちます。

  • ロジックやUIコードをプラットフォーム間で共有することで、重複を減らし、メンテナンスコストを削減できます。これにより、複数のプラットフォームで機能を同時にリリースすることも可能になります。
  • 統一されたロジックが共有コード内でアクセス可能になるため、チームのコラボレーションが容易になります。チームメンバー間のナレッジ共有がスムーズになり、各プラットフォーム専用チーム間での作業の重複を減らすことができます。

市場投入までの時間の短縮に加え、KMPの採用後にユーザーの 55% がコラボレーションの向上を報告し、チームの 65% がパフォーマンスと品質の向上を報告しています(KMPアンケート 2024年第2四半期)。

KMPは、スタートアップからグローバル企業まで、あらゆる規模の組織のプロダクション環境で使用されています。Google、Duolingo、Forbes、Philips、McDonald's、Bolt、H&M、Baidu、Kuaishou、Bilibiliなどの企業が、その柔軟性、ネイティブのパフォーマンス、ネイティブなユーザーエクスペリエンスを提供する能力、コスト効率、および段階的な導入のサポートを理由にKMPを採用しています。KMPを採用している企業の詳細はこちらをご覧ください。

コード共有の柔軟性

自分のスタイルに合わせてコードを共有できます。ネットワークやストレージなどの独立したモジュールを共有し、時間の経過とともに共有コードを段階的に拡張していくことが可能です。 また、UIはネイティブに保ちつつビジネスロジックをすべて共有したり、Compose Multiplatformを使用してUIを段階的に移行したりすることもできます。

段階的なKMP導入の図:ロジックの一部を共有しUIは共有しない、UIを除いたすべてのロジックを共有する、ロジックとUIを共有する

iOSでのネイティブな操作感

SwiftUIやUIKitを使用してUIを完全に構築することも、Compose Multiplatformを使用してAndroidとiOSで統一されたエクスペリエンスを作成することも、必要に応じてネイティブUIコードと共有UIコードを組み合わせることもできます。

どのアプローチを採用しても、各プラットフォームでネイティブに感じられるアプリを作成できます。

ネイティブのパフォーマンス

Kotlin Multiplatformは Kotlin/Native を活用してネイティブバイナリを生成し、iOSのように仮想マシンが望ましくない、あるいは不可能な場所でプラットフォームAPIに直接アクセスします。

これにより、プラットフォームに依存しないコードを記述しながら、ネイティブに近いパフォーマンスを実現できます。

iPhone 13およびiPhone 16のiOSにおけるCompose MultiplatformとSwiftUIの同等のパフォーマンスを示すグラフ

シームレスなツール環境

IntelliJ IDEAとAndroid Studioは、Kotlin Multiplatform IDEプラグインによって、共通UIプレビュー、Compose Multiplatformのホットリロード、言語をまたいだナビゲーション、リファクタリング、そしてKotlinとSwiftコード間のデバッグといった、スマートなIDEサポートをKMPに提供します。

AIを活用した開発

JetBrainsのAIコーディングエージェントであるJunieにKMPのタスクを任せることで、チームの開発スピードを向上させましょう。

Kotlin Multiplatformのユースケースを見る

多くの企業や開発者が、Kotlinコードの共有によってどのようなメリットをすでに享受しているかを確認してください。

基本を学ぶ

KMPの動作をすぐに確認するには、クイックスタートを試してみてください。環境をセットアップし、さまざまなプラットフォームでサンプルアプリケーションを実行します。

ユースケースを選択する : * プラットフォーム間でUIとビジネスロジックの両方のコードを共有するアプリを作成するには、ロジックとUIの共有チュートリアルに従ってください。

技術的な詳細を掘り下げる : * まずは基本的なプロジェクト構造から始めましょう。

Kotlin Multiplatformを大規模に導入する

チームにクロスプラットフォームフレームワークを導入することは、挑戦となる場合があります。クロスプラットフォーム開発のメリットや潜在的な問題の解決策については、以下のハイレベルな概要をご覧ください。