Google @ KotlinConf 2024: KMP を使ったマルチプラットフォーム開発の詳細など

5月 23, 2024
Murat Yener Developer Relations Engineer

先日の Google I/O の発表では、Kotlin Multiplatform(KMP)を使ってモバイル、ウェブ、サーバー、PC プラットフォームでビジネス ロジックを共有することをおすすめしました。そして、Google Workspace で KMP を使おうという取り組みの次の活動の場所となったのが、KotlinConf 2024 でした。そこではハイライトが共有され、Kotlin コミュニティと交流する機会が持たれました。

Kotlin Multiplatform は JetBrains によって開発されました。これを使うと、Kotlin コードをプラットフォーム ネイティブのバイナリにコンパイルし、最新のメモリ管理言語の機能をフル活用して、クロスプラットフォーム アプリを開発できます。Google Workspace チームはこのアプローチに長期にわたって取り組み、さまざまなプラットフォームでビジネス ロジックを共有できるようにしています。

Android チームは KMP のサポートに取り組んでおり、先日には KMP をサポートする Room のアルファ版をリリースしました。今日現在、アノテーション、コレクション、DataStore の KMP サポートは安定版となっています。また、Lifecycle、ViewModel、Paging ライブラリを共通化し、Android 以外のプラットフォームに組み込めるようにしました。


基調講演とテクニカル セッション

カンファレンスは基調講演で始まり、その中で Google の Jeffrey van Gogh が Kotlin エコシステムに対する Google の貢献について、概要を説明しました。そこで Jeffrey は、Google がどのように Kotlin Multiplatform(KMP)を活用し、プロダクト ポートフォリオ全体の開発を効率化しているかについて詳しくお話ししました。また、Google のプロジェクトで KMP を利用することで、コード共有と効率化という利点を得られたこと、Android アプリ開発に関する最新の推奨事項に準拠できたこともお伝えしました。

KotlinConf 2024 のテクニカル セッションでは、さまざまなトピックを取り上げています。

  • John Pampuch の二語物語では、Java と Kotlin の進化を魅力いっぱいに比較し、その共生関係と相互影響に注目してお話ししました。

  • Android Jetpack チームからは、Elif Bilgin、Yigit Boyar、Daniel Santiago Rivera が Kotlin マルチプラットフォームを成功させる: Android Jetpack の取り組みをテーマにお話ししました。ここでは、Jetpack での KMP の現状に関する知見を提供したほか、KMP 対応の Jetpack ライブラリのアップデートについてお知らせし、実績ある Jetpack ライブラリを KMP に移行するプロセスについて考察しました。

  • Andrei Shikov の Kotlin で高速化するでは、Android 用 Compose の最適化から得られた貴重な知見が共有されました。そこでは、最適なパフォーマンスを実現するために、Kotlin のパフォーマンスに関する細かく興味深い推奨事項や、Compose チームが定めた遵守事項が説明されました。

  • Google Workspace の Kotlin Multiplatform では、現在 Google Workspace で行われている Java 指向のマルチプラットフォーム基盤から Kotlin Multiplatform への移行について、Jason Parachoniak が説明しました。これは、幅広く KMP を採用しようという Google の取り組みと歩調を合わせたものです。Jason は、そこで学んだ教訓と、この野心的な移行作業の現状についてお話ししました。

  • Android Studio エンジニアリング ディレクターの Tor Norbye の独自の Kotlin Lint チェックを書こう!では、デベロッパーが独自のチェックを作成することで、数百万人が使う静的分析ツールである Android Lint を拡張できるようにしました。名前とは異なり、このツールは Android 専用ではなく、Google のサーバーで Kotlin と Java のコードを分析するためにも使われています。


KotlinConf のコミュニティ エンゲージメント

私たちは常に、Kotlin コミュニティと積極的に交流する方法を模索しています。KotlinConf に参加した方は、私たちのブースを確認したり、エンジニアとチャットしたり、質問に答えてもらったり、Kotlin や KMP を活用する方法を詳しく学んだりするチャンスがあったはずです。


KMP についてさらに学ぶ

さらに、KMP についての更新版ドキュメントや新しいモバイル サンプルを確認できます。こういったリソースには、KMP を学び始めるために必要なものがそろっているはずです。フィードバックがある方や問題が発生した方は、こちらのリンクからお知らせください。


今後の予定

私たちは Kotlin の将来に期待しており、AndroidX ライブラリの KMP サポートを拡大する予定です。皆さんがどのようにして次世代アプリに KMP を採用し、開発を進めるのか、楽しみにしています。

このイベントを実現し、Kotlin ファンを集めてくれた KotlinConf の主催者、講演者、参加者、そして Kotlin コミュニティ全体に感謝いたします。