プラットフォームを超えた開発を簡単にする

5月 14, 2024
Maru Ahues Bouza Product Management Director Android Developer
Brandon Badger Director, Product Management
異なるプラットフォームでもうまく動作するアプリを開発したいと考えています。適切な言語やフレームワーク、ツールは、どうすれば見つけることができるでしょうか?


これは、コミュニティのデベロッパーからよく聞かれる質問です。Google にはあらゆる選択肢がそろっているため、決めるのが難しいという一言を付け加える人もいます。

アプリにとって何が適切かは、チームやプロダクトの目標など、さまざまな要因によって変わってきます。私たちは、Google のさまざまなサービスを簡単に使っていただけるようにしてきました。このブログ投稿では、プロジェクトに適した技術スタックを選択するためのガイドをお届けします。


Android ならではの最新機能を活用するなら、Kotlin を使いましょう。

アプリで Android ならではの最新機能を活用したい場合、おすすめのプログラミング言語は Kotlin です。Jetpack Compose は、Kotlin で開発された Android の最新 UI ツールキットです。Kotlin で Jetpack Compose を使うと、Android にしかない最新の機能やサービスにすべてアクセスできるので、高品質でプレミアムなアプリを作成できます。さらに、スマートフォン、タブレット、折りたたみ式、ノートパソコン、時計、テレビ、自動車など、Android が動作するすべてのデバイスタイプと画面で、最高のアプリのパフォーマンスを実現できます。Kotlin は、ハードウェアや Android プラットフォームと密接に連携する Android アプリにも最適です。Kotlin と Jetpack Compose を使うと、ライブ編集によるコード編集、Android Studio の Compose UI プレビュー ツールのサポートにより、直感的な Kotlin API を使って短時間でシンプルに Android の UI を開発できます。詳しくは、Compose スタートガイドをご覧ください。


モバイルアプリとウェブアプリのビジネス ロジックを共有するなら、Kotlin Multiplatform を確認しましょう。

アプリ間でビジネス ロジックを共有するなら、おすすめの方法は Kotlin Multiplatform(KMP)です。今年の Google I/O では、Android が Kotlin Multiplatform をサポートし、モバイル、デスクトップ、ウェブ、サーバー間でビジネス ロジックを共有できるようになったことをお知らせしました。KMP を使うと、Kotlin コードをプラットフォーム固有のバイナリ(Android、iOS、JVM、WASM など)にコンパイルでき、最低限のオーバーヘッドでプラットフォーム固有の API を呼び出すことができるため、コードの重複が減り、共有ビジネス ロジックのメンテナンスが容易になります。UI は、プラットフォーム固有の API を使って開発を続けることができます。詳しくは、Android の Kotlin Multiplatform の最新情報をご覧ください。


プラットフォームを超えて UI コード
ビジネス ロジックの両方を共有するなら、Flutter をお試しください!

すべてのプラットフォームでビジネス ロジックと UI コードを共有し、信頼性の高い一貫したユーザー エクスペリエンスを提供したいなら、Google がおすすめする SDK は Flutter です。Flutter を使うと、1 つの共有アプリ コードベースから、Android、iOS、ウェブ、PC(Windows、macOS、Linux)を対象に高度なアプリ エクスペリエンスを作成できます。Flutter アプリは、Dart プログラミング言語で記述します。Dart は、ほとんどのプラットフォーム(iOS、Android など)でマシンコード(ARM、x86、RISC-V など)に直接コンパイルされます。ウェブでは JavaScript にコンパイルされますが、本日の Google I/O でお知らせしたように、WebAssembly にもコンパイルできるようになります。また、開発時にステートフルなホットリロードができるので、Flutter デベロッパーは外観の変更を何度でもすばやく試すことができます。詳しくは、Flutter スタートガイドをご覧ください。


私たちは、皆さんに選択肢を提供し続けるため、Flutter と Kotlin の両方で、あらゆるプラットフォーム間の相互運用性を改善する取り組みを積極的に行っています。

Flutter を使って複数のプラットフォーム間で UI ビジネス ロジックの両方を共有する場合でも、Kotlin Multiplatform で開発してビジネス ロジックを共有する場合でも、ビジネスに最適なアプローチを選択できます。このようなテクノロジーによって、優れたアプリを短時間で効率的に開発できるようにしたいと願っています。