HTML5 でウェブはアプリケーションプラットフォームに(その2)

上野 学

2009年7月31日

HTML5 でウェブはアプリケーションプラットフォームに(その1)の続きです。

ウェブにおけるインタラクションの変化

ウェブにおけるインタラクションは、(HTMLベースの場合)基本的に、ページ単位で表示内容を切り替えながら操作を進めていくという紙芝居のようなものです。これはデスクトップアプリケーションがもつインタラクションの多様性やスムーズさにくらべるととてもぎこちないものです。

とはいえ徐々にですが、近年、ページの再読み込みなしに JavaScript を使って表示内容の一部を動的に変更するような表現が増えてきました。これを DOM スクリプティングと言います。ページを再読み込みするのとは別のタイミングでサーバーと通信してデータを送受信し、その場でページの内容を次々と書き換えて行く Ajax という手法もその応用です。

DOM スクリプティングや非同期通信のコンセプトはかなり以前からありましたが、この数年で、Internet Explorer や Firefox といったメジャーなブラウザがこれらの技術に対応し、そのバージョンがある程度普及したことで、開発者が一般向けのウェブアプリケーションに組み込めるようになったわけです。

しかし現在でも、最もシェアの大きい Internet Explorer において、DOM スクリプティングに関係する JavaScript の実装が標準からはずれているなど、クロスブラウザーへの対応は開発者にとって大きなコストとなっています。

DOM スクリプティングの技術を活用すれば、ぎこちなかったウェブのインタラクションをもっと洗練させることが可能でしょう。単に表層的なイフェクトをつけるといったレベルではなく、Google が提供する Gmail や Maps などのように、アプリケーションの機能性や操作性の根幹に関わる技術として、多くのサービスプロバイダーがより一層積極的に研究・実装していくはずです。

HTML5 の時代へ

ところで、Ajax はあくまでも、クライアントとサーバーの間のやりとりをユーザーにとってシームレスにするものでした。Google Wave では更に、クライアントとクライアントの間のやりとりをシームレスにするもののように思われます。ブラウザとブラウザ(自分と誰か)の間でリアルタイムにひとつのデータオブジェクトを共有できるようになるのだそうです。

ブラウザとブラウザの間がリアルタイムになることで、何が可能になるのでしょうか。ひとつには、デモで紹介されたような会話や情報共有のアプリケーションが考えられます。他にも色々できそうですが、まず、技術先行型で開発が行われ、ベストなソリューションはこれから生まれてくるのでしょう。

Google は、これらの技術を普及させるために Wave をオープンソースとしました。Google Wave の技術が、将来広く使われるようになるかは分かりません。オープンソースとはいえ、プロトコル、プラットフォーム、プロダクトといったウェブの包括的な技術領域が Google の動向に依存してしまうのを懸念する人も多いでしょう。

確かに、Google Wave への賛同を促す同社のメッセージには、ウェブの世界における覇権をより強めたいという目論みが見え隠れしています。しかし前述の Google Chrome OS や Google Wave といった昨今の取り組みからひとつ分かることがあります。それは Google が、なんとしても HTML5 の時代を現実のものにしようとしているということです。Chrome OS や Wave は、いずれも HTML5 の技術を用いて実現されるものです。自社のサービスを普及させるために Google は、HTML5 の時代が到来したことをカンファレンスの中で繰り返し強調し、開発者や関係ベンダーなどに向けて対応を呼びかけています。

HTML5 の時代とは、ウェブが本格的なアプリケーションプラットフォームになる時代です。

HTML5 でウェブはアプリケーションプラットフォームに(その3)