Open Web Apps と Web 標準

by 2 contributors:

: クイックスタートの項目は、新しい、より集中的なクイックスタート記事 として更新され、従来のクイックスタート記事をすべて置き換えるものとなりました。この記事がより有益な情報源となり、古い一連の記事よりもより素早い学習体験を提供することを期待しています。

この記事は、開発者、プロジェクトマネージャ、その他アプリの開発や配布に関わる役割を担いつつ、Open Web Apps についてより詳しく学びたいというすべての人にとって最適なスタート地点となることを意図して書かれています。Open Web Apps とその背景にある哲学の、簡単で高次元な概要を提供します。

Open Web Apps は一般的な Web サイトや Web ページと本質的な違いはありません。いずれも HTML、CSS、JavaScript といった標準的でオープンな Web 技術を用いて開発され、Web ブラウザ経由でアクセスできます。主な違いは、端末にインストールしてオフラインでも動作させられる機能、そして、カメラ、アドレス帳、その他端末機能との相互作用を可能にする高度な API にアクセス可能であること、といった点が上げられるでしょう。さらに、それらはできる限りオープンな美術に基づいて開発されています。プラットフォーム間の技術実装に差異がある場合、各プラットフォーム向けの機能判別と適切なコード、機能が利用不可能な場合の巧みな対応策の組み合わせを通じて、どちらにも対応するよう努力が行われるべきです。

Open Web Apps の利点

Open Web Apps の利点を少し詳しく見ていきましょう。

  • ローカルインストールとオフラインストレージ: Open Web Apps は端末上にインストール可能で、ローカルストレージIndexedDB といった API を活用してローカルデータストレージ機能を提供できます。さらに、オープンな Web 技術は、ネイティブアプリよりも格段にフットプリントが小さい傾向があり、更新があるたびに新しい完全なパッケージをインストールするのではなく通常は自動的に更新できます (ここでの例外は、更新時に完全に新しいパッケージが必要となるパッケージ型アプリです)。このためアプリは常時接続への依存度が低く、ネットワークが不安定な場合により利便性を発揮します。
  • ハードウェアアクセス: Open Web Apps とともに提供されるメタデータは、端末ハードウェア機能の使用を可能にする特権 API へのアプリケーション許可設定を与えるために利用可能となっています。これは Web プラットフォームが従来享受できなかった利点のひとつです。
  • 壁に囲まれた庭からの脱出: モバイルプラットフォームにおけるノルマは、プロプライエタリな技術で書かれた「壁に囲まれた庭」にも例えられ、アプリはそれらのプラットフォーム内に閉じ込められてしまっています。スマートフォンは比較的高価であり、アプリの購入にはクレジットカードが必要となります。Open Web Apps は、文字通り軽量な Linux カーネル上で Firefox が動作しているだけの Firefox OS 端末の場合は特に、格段に安価なハードウェアでも動作させることが可能です。またそれらはオープンな Web 技術を用いて書かれおり、それは最も広く普及しているプラットフォームです。さらに、Firefox OS 端末は、ユーザがアプリの料金を前払いしたり電話料金に上乗せしたりできる課金システムも備えています。
  • Open Web App ストア: ひとつ前の利点からの続きになりますが、(Firefox Marketplace など) 既存のマーケットプレースでアプリをホストするか、あるいは完全に別の場所でホストするか選ぶことが可能です。これは開発者次第です。Mozilla では、より簡単な開発から、配布、直接的な顧客関係管理に至るまで、アプリ体験のあらゆる面をコントロールする権利を開発者の手に戻したいと考えています。また、アプリは一般的な Web ベースの体験と同じように検索できます。

以下の動画も Open Web Apps の一般的な利点と Firefox OS プラットフォーム向けの開発について取り上げています。

Web はプラットフォーム

Firefox OS のようなプラットフォームにインストールされた形での Open Web App は単なるブックマークではなく、システムの正式な一部となっています。Open Web Apps はそうした大きな将来性を持っています。私たちはそれを逃すべきではない機会と捉えており、さもなければ Web は再度断片化してしまうかもしれないとも考えています。それを念頭に置けば、Open Web Apps (略して OWA) が標準化と Web の一部になることを意図したものであることが明らかでしょう。OWA は、もし成功すれば、最終的にすべてのブラウザ、OS、端末で動作するはずです。

私たち Mozilla は、オープン Web に完全に支えられたこのアプリプラットフォームの開発に尽力しています。それは「Mozilla プラットフォーム」あるいは「Firefox プラットフォーム」となることを意図したものではありません。Web こそがプラットフォームなのです。私たちは一連のオープンな API と実装を開発し、ベンダーロックインなしに移植性のあるアプリがどう Web 上に存在できるかを示そうとしています。Facebook や Google Chrome など他の団体も Web に支えられたアプリプラットフォームに取り組んでいます。Facebook アプリ は Facebook に組み込まれることを意図したものであり、また Chrome アプリ は Chrome OS 端末や Google サーバ向けに設計されています。Chrome アプリは Open Web Apps と最もよく似ています。アプリ標準は進化しており、当然のことながら多くの同じビジョンを共有していることから、私たちは Google Chrome チームと協力を続けていきます。すべての Web ベースのアプリプラットフォームには非常に大きな集結の可能性があり、私たちはあらゆるベンダーに対して適切な Open Web App API を開発する Mozilla の取り組みへの協力を呼びかけています。

今のところ Open Web Apps を使うには Mozilla Firefox ベースのエンジン (「Web ランタイム」) が必要ですが、 これが常態化することは意図したものではありません。Open Web Apps プロジェクトの大部分はまだ計画段階であり、すべての機能をすべてのブラウザへ一度に実装することは不可能です。Open Web Apps の大部分は既に標準化されているものの、その他大部分はまだ流動的です。私たちは、Open Web Apps がすべての主要ブラウザで利用可能な標準機能となることを意図し望んでいます。

そのため、MDN 内の Open Web Apps に関する記事を読むときは、今のところその情報の多くは Firefox 限定であるものの、将来的にうまくいけばすべてのブラウザ向けに Open Web Apps を開発できるようになるということを念頭に置いてください。

Web 標準

OWA の技術はひとつのパーツではなく、様々な技術を集めた傘のようなもので、その一部はまだ初期段階です。現時点で、OWA の一部パーツは標準化されています (HTML5、CSS、JavaScript、IndexedDB など)。その他のパーツはまだ標準化されておらず、そのため Mozilla の実装は Firefox やその他 Mozilla 技術固有のものとなっています。Mozilla のミッションは共有であり、またすべての人を力づけることであるため、この状況は一時的なものに過ぎません。私たちが、OWA のパーツがまだ標準化されていないことを OWA 関連の記事で明記しているのはそのためです。

なお、Mozilla が使用していない OWA 関連の提案や潜在的標準も一部存在する可能性があります。

今後標準となる技術

様々な Web プラットフォーム上でまだ標準化されておらず、現時点でまだ Firefox 固有となっているパーツは以下の通りです。

Marketplace

一度購入すればどこでも動く

Mozilla は当初から、ユーザが一度購入すればすべての HTML5 対応端末で実行できるようなアプリシステムを開発してきました。Mozilla はまもなく 初の Firefox OS 搭載スマートフォンを展開 する予定ですが、それはアプリを実行できる端末のひとつに過ぎません。Firefox Marketplace からアプリを購入した場合、システムは端末上にレシートをインストールします。レシート は、Marketplace の公開鍵とその検証サービス URL にリンクしたメタデータを含む JSON Web トークンです。アプリは起動時にレシートを検証できますが、端末上のレシートは Firefox Marketplace に縛られていないという点に注意してください。レシートは単に暗号化技術によって検証可能な購入証明なのです。レシートの仕様に従えば誰でも Open Web Apps を販売できます。アプリを購入する際、それは Open Web Apps システムに対応しているあらゆる端末間で持ち運び可能であることが想定されています

Mozilla はあらゆる HTML5 対応端末で Open Web Apps を実行するのに必要なインフラを開発しています。Android 版 Firefox ではアプリをインストールして実行できます (Nightly ビルド で今すぐ試せます)。インストールしたアプリのアイコンは、通常の Android アプリのようにホーム画面へ追加されます。Firefox を使えばアプリを Windows、Mac、Linux のデスクトップ上でも実行できます (今のところ Nightly ビルド のみ対応)。現時点では Firefox の特定バージョンが必要ですが、Open Web Apps システムは最終的にすべての主要ブラウザによって一連の標準技術として対応されることを想定したものです。Mozilla は当初からすべての主要な HTML5 対応ブラウザをデモの実行環境に含めてきました。このホストされている JavaScript シム を見てみれば、Firefox 以外のブラウザでアプリプラットフォームに対応する方法の考え方が分かるでしょう。

将来的には Open Web Apps システムは端末を越えた インストール済みアプリの同期 に対応する予定です。レシートは移動可能であることから、必要なら自分自身でそれを同期することもできます。念のために言えば、無料の Open Web Apps は通常の Web サイトと変わらないため、いつでもあらゆるブラウザで実行できます。ただし、アプリによっては、すべてのプラットフォームで実装されていない新しい モバイル固有の WebAPI を使っている可能性もあります。

以下の動画は、オープンなマーケットプレースと、Web を通じたオープンなアプリ発見アプローチの利点について、その概要を分かりやすく解説しています。

WebPayment API

アプリの商取引

iOS や Android といったモバイルアプリプラットフォームが成功した背景のひとつには、それらがモバイル課金を通じて新しいビジネスモデルを非常に簡単に試せるようにしたという点が挙げられるでしょう。そうしたモデルはまだ成長を続けていますが、商取引は、現時点ではおそらく、デスクトップ Web 上ではぎこちなく、一方モバイル上ではより自然なものに見えるでしょう。具体的には、何かを電話料金と併せて課金することは、既にそれに電話からアクセスしている場合、非常に便利です。Firefox OS の展開に伴い、アプリエコシステムは WebPayment API を通じたアプリの購入とアプリ内課金に対応します。商取引への対応はアプリプラットフォームの成長に不可欠です。なお、 提案されている課金 API の使用は完全に任意です。Mozilla はアプリが独自のアプリ内課金システムを使うことを妨げるようなことはしません。

関連記事

ドキュメントのタグと貢献者

タグ: 
Contributors to this page: trevorh, kohei.yoshino
最終更新者: trevorh,