Skip to content

Kotlin Multiplatform ロードマップ

Kotlin Multiplatform ロードマップは、Kotlin Multiplatform プロジェクトの優先事項と全体的な方向性の概要を示すものです。

最新のロードマップに関するブログ記事は、2024年10月28日に公開されました。 以下のページはそれを要約したものであり、宣言されたマイルストーンに到達したとき、または戦略の変更を反映する必要があるときに更新されます。

Kotlin Multiplatform の目標は、Kotlin ロードマップと密接に連携しています。私たちが進む方向性についてより多くの情報を得るために、ぜひご確認ください。

主要な優先事項

  • iOS 向け Compose Multiplatform の安定化:iOS ターゲットを安定版リリースに導くには、基盤となるフレームワークの改善と、iOS 固有の統合およびベンチマークの両方が必要です。
  • IntelliJ ベースの IDE におけるマルチプラットフォーム開発のサポート強化:Kotlin Multiplatform および Compose Multiplatform のために最適化された環境を提供します。
  • Kotlin から Swift へのエクスポートの最初の公開バージョンをリリースする。最初のリリースでは、既存の Objective-C エクスポートに匹敵するエクスペリエンスを提供し、将来的に Swift エクスポートを完全に活用するための道を開くことを目指します。
  • より良いツールとガイダンスを提供することで、マルチプラットフォームライブラリ作成のエクスペリエンスを向上させる。klib フォーマットをより柔軟で強力なものに改善し、マルチプラットフォームライブラリ作成のためのより良いテンプレートと手順を提供します。
  • Amper をマルチプラットフォームモバイル開発に適したものにする。2025年には、Amper は Compose Multiplatform を使用した UI コードの共有を含め、iOS と Android のマルチプラットフォーム開発を完全にサポートするはずです。

よくある質問とその回答は、FAQセクションで確認できます。

Compose Multiplatform

Compose Multiplatform の注力分野は以下の通りです。

  • Jetpack Compose との機能パリティ。すべてのコア API とコンポーネントがマルチプラットフォームであることを保証します。
  • iOS のレンダリングパフォーマンス。リグレッションを捕捉し、フレームワークのパフォーマンスをユーザーに透明化するためのベンチマークインフラストラクチャを実装します。
  • コアコンポーネントの機能完備。以下を含む、必須機能を完成させます。
    • ナビゲーション、
    • リソース管理、
    • アクセシビリティ、
    • 国際化。
  • フレームワークの全体的な安定化。Compose とネイティブビュー間の相互運用性を含め、全体的な安定性を向上させつつ、Compose Multiplatform のプレビューを通じてユーザーエクスペリエンスを強化します。
  • ドキュメント。Compose Multiplatform を学習し、使用するために必要なすべてのリソースを1か所でユーザーに提供します。
  • ウェブ向け Compose Multiplatform。他のサポートされているプラットフォームとの機能パリティを達成します。

Compose HTML に関する計画はありますか?

Compose HTML ライブラリのバグ修正によるメンテナンスを継続しつつ、既存ユーザー間でのユースケースも探求しており、将来の開発計画を策定できるようにします。

ツール

私たちは、Kotlin Multiplatform が IntelliJ IDEAAndroid Studio など、KMP 開発で既に一般的に使用されている IDE とシームレスに統合されることを目指し、プロジェクト内またはプロジェクト間でのコード共有をより簡単に行えるようにします。

開発エクスペリエンスを向上させるための新たな分野も探求しています。

  • Apple デバイスへのアクセスが容易でない開発者を支援するため、クラウドマシンを使用して iOS アプリをビルドすることを検討しています。
  • コード生成だけでなく、より複雑な開発タスクも支援するために、より深い AI ツール統合を試しています。

Kotlin から Swift へのエクスポート

2025年の私たちの目標は、Kotlin から Swift への直接エクスポートの最初の公開バージョンをリリースすることです。 最初のリリースでは、既存の Objective-C エクスポートに匹敵するユーザーエクスペリエンスを提供しつつ、Objective-C の制約を克服することを目指します。

これにより、Swift 言語のより幅広いサポートが可能になり、API のエクスポートが容易になり、将来的に Swift エクスポートを完全に活用するための道が開かれます。

ライブラリエコシステム

Kotlin Multiplatform エコシステムが急速に拡大するにつれて、ライブラリの後方互換性を確保することが重要になります。 私たちが計画していることは以下の通りです。

  • ライブラリ作成者が JVM ライブラリ構築の知識を活用できるように、klib フォーマットを改善します。
  • Kotlin Multiplatform ライブラリで、JVM と同じコードインライン化の動作を実装します。
  • マルチプラットフォームライブラリのパブリック API が後方互換性を保つことを保証するツールを提供します。

私たちはまた、Kotlin Multiplatform ライブラリの公開プロセスを改善することを目指しています。私たちは以下を望んでいます。

  • KMP ライブラリを作成および公開するためのテンプレートと包括的なガイドラインを提供します。
  • 異なるプラットフォームでの klib クロスコンパイルを安定化させます。
  • 完全に再設計された KMP ライブラリ公開プロセスを開始します。
  • ライブラリのドキュメント作成プロセスを大幅に改善します。

Kotlin Multiplatform は大幅な更新を受ける一方で、現在のフォーマットで構築されたライブラリは、新しい Kotlin バージョンでも引き続き機能します。

マルチプラットフォームライブラリの検索改善

現在、2500を超えるKotlin Multiplatformライブラリが利用可能です。 しかし、幅広い選択肢があるにもかかわらず、開発者が自身の特定のニーズを満たし、選択したプラットフォームをサポートするライブラリを見つけるのは難しい場合があります。

私たちの目標は、これらのライブラリの発見を容易にし、開発者が簡単に試せるようにするソリューションを導入することです。

Amper

Amper は JetBrains が提供する実験的なプロジェクト設定およびビルドツールです。2025年には、Amper を Android および iOS 向けのマルチプラットフォームモバイルアプリ開発に完全に適合させ、Compose Multiplatform UI を共有できるようにすることに注力します。

以下のサポートを目指します。

  • アプリケーションをローカル、物理デバイス、および CI 内で実行およびテストすること。
  • アプリケーションに署名し、Play Store および App Store で公開すること。
  • スムーズで快適なエクスペリエンスを保証するための IDE 統合。

Gradle およびその他のビルドツール

2025年に向けて、Gradle の機能強化に関する私たちの取り組みは、Kotlin ロードマップに概説されています。

特に Kotlin Multiplatform に関して、私たちが取り組む主要な分野は以下の通りです。

  • プロジェクトレベルでの Kotlin Multiplatform の依存関係宣言をサポートする。これにより、開発者がプロジェクトの依存関係を効果的に管理しやすくなります。
  • Kotlin/Native ツールチェーンの Gradle への統合を改善する。
  • マルチプラットフォームライブラリの次世代配布フォーマットを実装する。 これにより、マルチプラットフォームライブラリの依存関係モデルと公開レイアウトが簡素化され、サードパーティのビルドツールでの使用が容易になり、ライブラリ作成者の複雑さを軽減します。
  • Declarative Gradle における Kotlin Multiplatform の完全なサポートを提供する。 Declarative Gradle をサポートする Experimental Kotlin Ecosystem Plugin に関する私たちの取り組みは、開発者が Gradle ビルドへの宣言的アプローチを探求するのに役立つことを目指しています。
  • このロードマップは、チームが取り組んでいるすべてのことを網羅したリストではなく、最も大規模なプロジェクトのみを対象としています。
  • 特定のバージョンで特定の機能や修正を提供することを約束するものではありません。
  • 私たちは進捗に応じて優先順位を調整し、ロードマップを更新します。

FAQ

IntelliJ IDEA での KMP サポートは修正できますか?

私たちは IntelliJ IDEA における素晴らしい KMP エクスペリエンス提供の重要性を認識しています。 KMP ツールに関するブログ記事で述べられているように、私たちは IntelliJ Platform 全体での KMP サポートの強化に専念します。 これには、品質と安定性の向上、および特定の機能の導入が含まれ、IntelliJ IDEA をマルチプラットフォーム開発に好む開発者が、好みの IDE で完全な KMP サポートを享受できるようにします。

Android Studio での KMP サポートはどうなりますか?

私たちは Google と積極的に協力して、Android Studio での KMP サポートを改善しています。 詳細な計画は後日発表されます。 ご期待ください!

現在、KMP 開発に推奨される IDE は何ですか?

主なユースケースがモバイルである場合は、Android Studio の使用をお勧めします。 IntelliJ IDEA での優れたサポートも提供できるよう取り組んでいます。

IntelliJ IDEA と Android Studio で Swift は利用可能になりますか?

Swift は特定の KMP シナリオの重要な部分であり、私たちはこれらのユースケースをサポートするよう取り組んでいます。

ウェブを諦めるのですか?

いいえ、ウェブをまったく諦めていません! 私たちは Kotlin/Wasm のサポートと、他のプラットフォームとの機能パリティを達成するためにウェブ向け Compose Multiplatform に積極的に取り組んでいます。 現在の取り組みには、ドラッグ&ドロップサポートの実装、テキスト入力とレンダリングの改善、HTML コンテンツとのシームレスな相互運用性の確保が含まれます。 ウェブに関する詳細な計画は近日中に共有します。ご期待ください!

Compose HTML についてはどうですか?

Compose HTML ライブラリのバグ修正によるメンテナンスを継続しつつ、既存ユーザー間でのユースケースも探求しており、将来の開発計画を策定できるようにします。