公開から半年、マルチプラットフォームのワークスペース「Project IDX」のアップデート内容と活用法をGoogleが解説:ワークスペースから離れずアプリを直接プレビュー可能に
2023年8月にGoogleによって立ち上げられたクラウドベースのワークスペース、Project IDXは開発者のワークフローを合理化するものだ。本記事ではProject IDXを利用した開発プロジェクトやアップデート内容について紹介する。
Googleは2024年1月25日(米国時間)、「Project IDX」(以下、IDX)を利用した開発プロジェクトやIDXのアップデート内容について同社公式ブログで紹介した。IDXは、Googleが2023年8月に立ち上げた、マルチプラットフォームでソフトウェア開発ができる、クラウドベースのワークスペースだ。IDXは、開発者のワークフローを簡素化、合理化するために構築され、従来のアプリ開発に関連する多くの複雑な作業を減らすことを目指している。
Googleの開発者も社内でIDXを利用し、さまざまなプロジェクトで開発のスピードアップに役立てているという。その一例が「Firebase Blog」で、「Astro」を搭載したプロジェクトのオーサリング、開発、デプロイメントの全てにIDXを使っている。
IDXの拡張性モデルを活用しているもう1つのプロジェクトは、新しいオープンソースのデータ言語である「Malloy」だ。Malloyは、「BigQuery」のようなデータベースに対して動作し、「Visual Studio Code」の拡張機能として利用できる。
Googleの特別ソフトウェアエンジニアであるロイド・タブ氏は、次のように語っている。「私はIDXとMalloyを使っている。IDXを使えば、問題を解決するためにインスタンスを素早く立ち上げることができ、設定も簡単だ」
IDXの新機能
IDXの新機能は利用者からのフィードバックを元に追加された。IDXのアップデート内容は下記の通り。
iOSシミュレーターとAndroidエミュレーターによるアプリの直接プレビュー
iOSシミュレーターとAndroidエミュレーターをブラウザに導入したことで、FlutterアプリでもWebアプリでも、IDXのワークスペースから離れることなくアプリケーションをプレビューできる。FlutterまたはWebテンプレートを使用すると、IDXはアプリケーションに適したプレビュー環境を読み込む。Webテンプレートの場合はSafariモバイルとChrome、Flutterテンプレートの場合はAndroid、iOS、Chromeに対応している。
IDXのWebとAndroidのエミュレーターを使えば、ワークスペースから直接開発、テスト、デバッグができ、マルチステップ、マルチプラットフォームのプロセスを1カ所にまとめられる。iOSシミュレーションでは、作業中にアプリのレイアウトや動作を確認できる。ただし、この機能はまだ実験的なものだ。
豊富なプロジェクトテンプレートライブラリによる素早いスタート
機能リクエストのトップ10のうち4つが、より多くのテンプレートをサポートすることだった。そこで、Astro、「Go」「Python/Flask」「Qwik」「Lit」「Preact」「Solid.js」「Node.js」の新しいテンプレートが追加された。
GitHubから独自のリポジトリをインポートできる他、ローカルファイルからの直接インポートなど、カスタムNix環境を使用した独自のセットアップを選択することもできる。
Nixの改良によるIDXワークスペースの構築、カスタマイズ
IDXでは、Nixを使用して各ワークスペースの環境設定を定義し、IDXの柔軟性と拡張性を実現している。Nixの改善内容は下記の通り。
- Nixの拡張性を活用したIDXスターターテンプレートのカスタマイズ
- Nixファイル編集機能はシンタックスハイライトやエラー検出、コード補完候補を支援する。これによって、エラーを減少し、コードの記述を効率化する
- シームレスな環境再構築とトラブルシューティングを含む環境カスタマイズワークフローの大幅な改善。これにより設定エラーからの素早い回復や、不必要な再構築の回避が可能になった
アプリケーションの容易な構築、テスト、デプロイ
アプリケーションやサービスに必要なネットワークポートを自動検出し、ファイアウォール設定を調整することで、ユーザー側での追加設定なしで入出力を許可できるようになった。また、コマンドラインツール、スクリプトおよびユーティリティーをローカルにインストールすることなく、ワークスペース内で即座に直接実行できる。他にも、dev.nixファイルでDockerを有効にすることで、開発環境から直接Dockerコンテナやイメージで作業するプロセスを簡素化している。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Google、マルチプラットフォームアプリ開発に役立つ「Project IDX」を発表
Googleは、ブラウザベースでマルチプラットフォームアプリを開発できる「Project IDX」を発表した。 - WebAssembly用のKotlin、α版リリース Kotlin/JSを上回るパフォーマンス
JetBrainsは、WebAssembly用のKotlin「Kotlin/Wasm」のα版リリースを発表した。これにより、マルチプラットフォームライブラリ「Kotlin Multiplatform」を使用して、Webアプリケーション用の宣言型ユーザーインターフェースをKotlinで作成できるようになった。 - 狙われるmacOS 攻撃グループが「マルチプラットフォーム対応型マルウェア」を開発中
Kasperskyは、ランサムウェア攻撃グループ「LockBit」がmacOSやFreeBSD向けなどマルチプラットフォーム機能を強化していると発表した。LockBitが今後、その攻撃範囲を拡大し、「活動の影響の最大化を図っている」という。