AndroidがKotlin Multiplatformをサポート、クロスプラットフォーム開発の選択肢が拡大へ

text: XEXEQ編集部


AndroidでKotlin Multiplatformのサポートが発表された

  • AndroidがKotlin Multiplatformのサポートを発表し、モバイル、Web、サーバー、デスクトップ間でコードを共有可能に
  • ビジネスロジックの共有に焦点を当て、Android開発者の生産性向上とアプリ品質向上を目指す
  • GoogleワークスペースチームもKMPを採用し、Android、iOS、Web版Google Docsアプリで共通ロジックを活用
  • JetpackライブラリのKMP対応が進み、iOSプラットフォームターゲットのバイナリ互換性検証も強化

Android 14でKotlin対応が大幅に強化、マルチプラットフォーム開発を促進へ

2024年5月16日、GoogleはAndroidにおけるKotlin Multiplatform(KMP)のサポートを発表した。これによりAndroid開発者は、モバイル、Web、サーバー、デスクトップといった複数のプラットフォーム間でKotlinコードを共有できるようになる。Googleは特にビジネスロジックの共通化に注力しており、開発者の生産性向上とアプリの品質向上を目指している。[1]

GoogleワークスペースチームはKMPを用いてAndroid、iOS、Web向けのGoogle Docsアプリを開発しており、共通のビジネスロジックを活用することで効率的なマルチプラットフォーム展開を実現している。今後もKMPを軸にアーキテクチャ戦略を進化させていく方針だろう。

GoogleはJetBrainsと協力し、JetpackライブラリのKMP対応を着々と進めている。主要ライブラリの多くが既にKMPをサポートしており、iOSプラットフォームターゲットについてもバイナリ互換性の検証体制を Android並みに強化し、安定性と品質の向上に努めている。

Flutter 3.10でWebアセンブリのガベージコレクションをサポート、KMPとの連携も視野に

2024年5月時点での最新版であるFlutter 3.10では、WebアセンブリのガベージコレクションがChromeでサポートされた。これはKotlin/NativeとJavaScriptの相互運用を可能にするKotlin Multiplatform(KMP)にとっても朗報だ。WebアセンブリとKMPの組み合わせにより、ブラウザ上でもネイティブに近いパフォーマンスを実現できる。

一方、Flutterの基盤言語であるDartは、KMPとの親和性を高めるための取り組みを進めている。Dart 3.0ではAOTコンパイルによるネイティブコード生成が強化され、iOS、Android、macOS、Windowsなどの主要プラットフォームでDartVMを介さずに直接実行できるようになった。将来的にはKMPとの連携を視野に入れており、両者の長所を組み合わせたマルチプラットフォーム開発の選択肢が広がることが期待される。

FlutterとKMPはそれぞれ独自の強みを持つが、相互に補完し合える関係にある。統一的な開発体験を追求するFlutter、プラットフォームネイティブとの深い融合を目指すKMP、両者が歩み寄ることでクロスプラットフォーム開発の理想形に近づけるかもしれない。

Kotlin Multiplatformに関する考察

Kotlin Multiplatform(KMP)は、コード共有によるマルチプラットフォーム開発の生産性向上において大きな可能性を秘めている。特にビジネスロジックの共通化は、機能追加や不具合修正の手間を大幅に削減できる。一方でUIフレームワークとの連携や各プラットフォーム固有の機能との統合など、課題も少なくない。KMPの真価が問われるのは、こうした課題にいかに効果的に対処できるかだろう。

JetpackライブラリのKMP対応が着実に進んでいることは心強い。Jetpackは優れたアーキテクチャとAPIを提供しており、KMPとの組み合わせでより堅牢で メンテナンス性の高いアプリ開発が可能になる。Androidの「Kotlin-first」戦略とも相まって、KMPはモバイルアプリのクロスプラットフォーム開発における有力な選択肢となりつつある。

今後は、Web、デスクトップ、組み込みシステムなど、より多様なプラットフォームとの連携が求められるだろう。KMPがカバーする領域を広げ、真のクロスプラットフォームフレームワークへと進化していくためには、言語機能やツール、ライブラリ、コミュニティの一層の充実が不可欠である。GoogleだけでなくJetBrainsやオープンソースコミュニティとの強力な連携が鍵を握ることになるだろう。

参考サイト

  1. ^ Android Developers Blog. 「Android Developers Blog: Android Support for Kotlin Multiplatform to Share Business Logic Across Mobile Web Server and Desktop Platforms」. https://android-developers.googleblog.com/2024/05/android-support-for-kotlin-multiplatform-to-share-business-logic-across-mobile-web-server-desktop.html, (参照 24-05-28).
  2. Google. https://blog.google/intl/ja-jp/

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「プログラミング」に関するコラム一覧「プログラミング」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。