フルスタックのマルチプラットフォーム アプリの開発を改善する実験 Project IDX のご紹介

8月 08, 2023
Bre Arder UX Research Lead
Kirupa Chinnathambi Product Lead
Ashwin Raghav Mohan Ganesh Engineering Lead
Erin Kidwell Director of Engineering
Roman Nurik Design Lead

最近では、アプリをゼロから本番環境に対応させるプロセスが非常に複雑になっています。モバイル、ウェブ、デスクトップ プラットフォームのすべてでうまく動作するアプリの場合は特にそうです。無限の複雑さを乗り越え、アプリをブートストラップ、コンパイル、テスト、デプロイ、監視できるようにする技術スタックを組み合わせる必要があります。

Googleは、AngularFlutter から Google CloudFirebase に至るまで、マルチプラットフォーム アプリの開発をより簡単にするために何年も取り組んできましたが、マルチプラットフォーム アプリの開発ワークフロー全体を高速化し、よりスムーズなものにするには、さらに多くのことができると考えています。数か月前、数人の社員が協力して、Project IDX と呼ばれる実験を始めましたが、本日、その実験のごく初期の様相をお知らせできることをとてもうれしく思います。

Project IDX は、Google Cloud 上に構築されたブラウザベースの開発環境であり、コードでトレーニングされた、PaLM 2 をベースにした AI モデルである Codey を搭載しています。この開発環境は、一般的なフレームワークと言語を使用して、フルスタック ウェブおよびマルチプラットフォーム アプリの構築、管理、デプロイを容易にするように設計されています。また、Code OSS 上に構築されているため、何を開発しているかに関係なく、使い慣れた環境だと感じるはずです。

本日、Project IDX を発表する主な理由は、どうすれば作業を速められるかについて、より広範なデベロッパー コミュニティからご意見を伺いたいからです。今回は、Project IDX で現在できることを手短に紹介します。

どこからでもすばやく作業に取り掛かれる

Project IDX の中核にあるのは、ローカル環境での開発を忠実に再現して、あらゆるデバイスでどこからでも開発できるようにすべきであるという Google の信念です。すべての Project IDX ワークスペースには、Linux ベース VM の全機能が備わっており、お近くのデータセンターでのクラウド ホスティングによるユニバーサル アクセスも可能です。

既存のアプリをインポートするか、新しいアプリを作成する

Project IDX を使用すると、既存のプロジェクトを GitHub からインポートできるため、前回作業を中断したところからすぐに再開できます。Angular、Flutter、Next.js、React、Svelte、Vue などの一般的なフレームワーク向けに用意されたテンプレートを使用して、新しいプロジェクトを作成することもでき、JavaScript、Dart、(近日対応予定の)Python、Go などの言語を利用できます。また、私たちは、より多くのプロジェクト タイプとフレームワークに対応できるようにするために、最高レベルのサポートを追加することにも積極的に取り組んでいます。サポートすべき技術スタックについてご提案がある場合は、ぜひお知らせください。

projectidx3

さまざまなプラットフォームでアプリをプレビューする

最新の優れたアプリを作成するには、さまざまなプラットフォームでアプリのデザインと動作を最適化し、ユーザーに表示される状態でアプリをプレビューする必要があります。これを簡単に行うために、Project IDX にはウェブ プレビュー機能が組み込まれており、完全に構成された Android エミュレータと埋め込み型の iOS シミュレータが、まもなくブラウザから直接利用できるようになります。

AI による支援

デベロッパーはコードを書くのに多くの時間を費やしていますが、最近の AI の高度化により、その時間をより生産的にする大きなチャンスが生まれています。Project IDX では、Android Studio の Studio Bot で使用されている Codey や PaLM 2 モデル、Google Cloud の Duet など、Google の AI イノベーションが、コードをより迅速に書くことだけでなく、より高品質なコードの作成をどのように支援できるかを探究しています。現在、Project IDX には、スマートなコード補完、アシスタント チャットボット、「コメントの追加」や「このコードの説明」などの文脈に即したコード アクションがあります。Google の AI 能力はごく初期の段階にあり、デベロッパーの作業をより効果的にお手伝いできるようにするために、IDX AI のさらなる改善に取り組んでいます。

Firebase Hosting でウェブに公開する

最後になりますが、アプリを本番環境に導入する際に一般的に難しいのは、そのデプロイです。私たちはデプロイを簡単にするために、Firebase Hosting を統合して、数回クリックするだけで、ウェブアプリの共有可能なプレビュー版を展開したり、高速で安全なグローバル ホスティング プラットフォームを使用して本番環境にリリースしたりできるようにしています。また、Firebase Hosting は Cloud Functions を搭載した動的バックエンドをサポートしているため、Next.js などのフルスタック フレームワークに最適です。

Project IDX をともに開発する

Project IDX がマルチプラットフォーム アプリの開発をどのように改善していくことができるかについてお話ししました。また、こうした分野で Google が進めているいくつかの取り組みについても説明しました。しかし、エンドツーエンドの開発ワークフローを改善するための道のりはまだ始まったばかりであり、皆さんの助けがなければこのビジョンを達成できません。そこで、粗削りな部分もありますが、Project IDX の初期バージョンを皆さんと共有して、アプリチームのワークフローでうまく機能している部分と、さらに改善できる部分について確認するサイクルを繰り返していきたいと思います。この取り組みに参加し、Project IDX をいち早く試したいと思われる方は、Project IDX のウェブサイトにアクセスしてご登録ください。

今後は、新機能の追加とフィードバックへの対応に継続的に取り組んでいきます。このハイブリッド ワークの世界ではコラボレーションが非常に重要であるため、新しいコラボレーション機能の開発をすでに開始しています。また、フレームワークのより深い統合と、よりパーソナライズされた、より正確に文脈を理解する AI の開発にも着手しています。機能リクエストがあれば、ぜひお知らせください!