Webアプリケーション

Web アプリケーション

[6] Webアプリケーション (Web application) は、 Webプラットフォーム上で動作するアプリケーションです。

[7] HTML を中心とするハイパーテキストアプリケーションとして記述され Webブラウザー上で動作するクライアント側と、 任意のプログラミング言語ライブラリーによって記述されクライアントHTTP で通信するサーバー側にまたがって構成され、 時に他の Webアプリケーションと協調しつつ動作します。

意味

[10] Webアプリケーションという語の指す範囲は、曖昧です。

[11] 普通はWebブラウザーWebサーバーにまたがって動作するもの全体を Webアプリケーションといいますが、 文脈によってはクライアント側部分のみ、あるいはサーバー側部分のみを指すこともあります。

[12] サーバークライアントにまたがるといっても、 サーバーは単に静的ファイルを供給するのみのものや、 クライアントは単に静的ファイルレンダリングし適宜利用者の操作を受け付けるだけのものもあります。

[13] サーバーWeb API のような形で Webブラウザー以外のクライアントに対して機能を提供する場合、 それもWebアプリケーションの一部と捉えられることがあります。

[14] クライアントスマートフォンアプリ等の専用ソフトウェアの場合、 それもWebアプリケーションの一部と捉えられることがあります。

[18] 掲示板システムが HTMLHTTPWebブラウザーを使う利用者に閲覧や書き込みの機能を提供したり、 JSONHTTP を介して専用クライアントソフトウェアを使う利用者に同様の機能を提供したりする場合、 これは全体として Webアプリケーションであると言えます。

[15] ただし、専ら特定の専用クライアントソフトウェアのみに API を提供するサーバーは、たとえ HTTPJSONHTML を使っていたとしても、 Webアプリケーションとは言い難いでしょう。

[16] 例えばサーバースマートフォンアプリJSON 形式で HTTP 経由でデータを送信するだけのシステムは、 Webアプリケーションであると説明するのには無理があります。

[17] HTML + CSS + JavaScript文書群を特定のゲームのソフトウェア中の組み込みブラウザーに対してのみ HTTP で提供するシステムが Webアプリケーションと言えるかどうかは、 見解が分かれるかもしれません。技術的には Webアプリケーションのものを流用していますが、 エコシステムとしての Web の一部とは言えないかもしれません。

[19] Webプラットフォームの範囲もまた、曖昧です。

技術

[9] WWWWebプラットフォームWebブラウザーWebサーバーを参照。

アプリケーション (プッシュ)

[23] Web Push におけるアプリケーション (application) は、 プッシュメッセージ送信者 (sender) 最終消費者 (ultimate consumer) の両方です。 多くのアプリケーションは、 利用者エージェント上で動作する部品 (component) と、 サーバー上で動作する部品を持ちます。 >>22

[24] Web Pushアプリケーションはこのような Webアプリケーションの性質から Web Push に関係する部分を取り出した定義になっています。 Webアプリケーションと限定はしておらず、 理論上、 ネイティブアプリケーションなどでも同様な構成のものが当てはまるようになっています。 (実際そのような使われ方がしているかは不明です。)

関連

[8] WebプラットフォームWebブラウザーWeb標準も参照。

[20] しばしば、ネイティブアプリスマートフォンアプリの対義語として用いられます。

ですが、Webアプリケーションの専用クライアントソフトウェアや、 ネイティブアプリコンポーネントとしての組み込みブラウザーの利用のことを考えると、 両者は必ずしも相反するものではありません。

[21] 利用者に提供されるサービスとしての側面に注目して、 Webサービスと呼ぶこともよくあります。

メモ

[1] The 'view-mode' Media Feature ( ( 版)) http://dev.w3.org/2006/waf/widgets-vmmf/#dfn-web-application

[2] RFC 6749 - The OAuth 2.0 Authorization Framework ( 版) http://tools.ietf.org/html/rfc6749#section-2.1

web application

A web application is a confidential client running on a web

server. Resource owners access the client via an HTML user

interface rendered in a user-agent on the device used by the

resource owner. The client credentials as well as any access

token issued to the client are stored on the web server and are

not exposed to or accessible by the resource owner.

[3] Setting the scope for light-weight Web-based applications ( 版) http://www.w3.org/People/Bos/webapps.html

[4] A proposal for Webapps ( 版) http://www.w3.org/People/Bos/webapps-proposal.html

[5] はてなで大規模サービスのインフラを学んだ - ゆううきブログ (y_uuki 著, 版) http://yuuki.hatenablog.com/entry/large-scale-infrastructure