up:: Programming

Web app, API Executable, Add-on, Library

APIはGCPが無いと使えない。

Web App

  • スタンドアロンのウェブアプリケーションとして動作します
  • HTMLインターフェースを持ち、ブラウザからアクセス可能です。
  • 特定のGoogleサービスに依存せず、独立して実行できます。
  • ユーザー認証やアクセス制御が可能です。

API Executable

  • 外部アプリケーションから呼び出し可能なAPIとして機能します。
  • RESTful APIエンドポイントを提供し、HTTP要求を処理します。
  • 他のアプリケーションやサービスと連携するのに適しています。
  • 認証やアクセストークンの管理が必要です。

Add-on

  • 特定のGoogleサービス(スプレッドシート、ドキュメントなど)に機能を追加します
  • ホストアプリケーション内で直接実行されます。
  • ユーザーインターフェースを持ち、メニューやサイドバーに統合できます。
  • Google Workspaceマーケットプレイスで公開・配布が可能です。

Library

  • 再利用可能なコードをパッケージ化したものです
  • 他のGASプロジェクトから呼び出して使用できます。
  • 共通の機能や複雑なロジックをカプセル化するのに適しています。
  • バージョン管理が可能で、複数のプロジェクトで共有できます。

Web App

  • ウェブブラウザを通じてアクセス可能なユーザーインターフェースを提供します
  • HTMLやJavaScriptを使用して、対話的なウェブページを作成できます
  • 人間のユーザーが直接操作することを想定しています
  • アクセス設定により、誰がアプリにアクセスできるかを制御できます(例:ANYONE、DOMAIN、ユーザー指定など)

API Executable

  • プログラムによるアクセスを目的としており、他のアプリケーションやサービスから呼び出されることを想定しています
  • RESTful APIエンドポイントを提供し、HTTP要求を処理します
  • JSONやXMLなどの形式でデータを返します
  • アクセス設定により、APIを呼び出せるユーザーを制御できます

主な違いは以下の通りです:

  1. 用途: Web Appは主に人間のユーザーのためのインターフェースを提供し、API Executableは他のプログラムやサービスとの連携のためのインターフェースを提供します
  2. アクセス方法: Web Appはブラウザを通じてアクセスされ、API Executableはコードやコマンドラインインターフェースを通じてアクセスされます
  3. 返すデータの形式: Web Appは通常HTMLページを返しますが、API Executableは構造化されたデータ(JSONやXMLなど)を返します
  4. セキュリティ考慮事項: API Executableは通常、認証トークンやAPIキーを使用してアクセスを制御します。一方、Web Appはユーザー認証やセッション管理を必要とする場合があります

これらの違いを理解することで、プロジェクトの要件に応じて適切なデプロイメントタイプを選択できます。Web Appはユーザー向けのインターフェースが必要な場合に適しており、API Executableは他のシステムとの統合や自動化が必要な場合に適しています。