はじめに
過去の連載も読む
●第1回‥HTML5が注目を浴びる理由とは? ●第2回‥HTML4から変化したHTML5のマークアップ ●第3回‥HTML5で再定義された要素と属性 ●第4回‥HTML5で実現できるマルチメディア系機能 ●第5回‥HTML5で進化したフォーム機能オープン・ウェブ
本連載では、HTML5のマークアップについてウェブページという視点で解説してきました。しかしこの視点は、HTML5やそれに関連する新たなウェブテクノロジーが扱う範囲のごく一部でしかありません。本連載の最後となる今回は、HTML5を含む次世代のウェブテクノロジーが進む方向性について見ていきましょう。 本連載の第1回では、HTML5のAPIについて簡単に触れました。そして、HTML、JavaScript、CSSといったウェブテクノロジーがさまざまなコンピューターデバイスのアプリケーション開発のプラットフォームになろうとしている点について言及しました。 HTML5仕様は、ウェブテクノロジーがアプリケーションのプラットフォームになるうえでは欠かせない仕様ですが、これが全てではありません。HTML5という用語はすでにバズワード化してしまい、明確な定義がないまま世の中で使われています。 W3Cでは、もともと1つだったHTML5仕様をいくつかに分離しています。ここでは、HTML5仕様と言えば、W3Cによって公開されたHTML5仕様、そしてもともと1つだったHTML5仕様から分離された仕様に限定して使います。分離された代表的な仕様の1つとして、HTML Canvas 2D Contextが挙げられるでしょう。 ●HTML5 ●HTML Canvas 2D Context HTML5仕様には、さまざまなAPIが盛り込まれています。vi
deo
要素やaudio
要素に付随するAPI、canvas
要素に付随するAPI、さらに、ドラッグ&ドロップ、オフラインなどが挙げられます。しかし、HTML5仕様だけでは、ウェブページがリッチになることには違いありませんが、アプリケーションプラットフォームとしては不足していると言えます。
HTML5という言葉がこれほどに注目を浴びているのは、HTML5仕様だけでなく、そのほかのテクノロジーも含めて、ウェブテクノロジーがアプリケーションプラットフォームになり得ると考えられるからなのです。ここで言うウェブテクノロジーとは、具体的には、HTML、CSS、JavaScript、そしてJavaScript︵ECMAScript︶を通して利用できる各種APIのことを指します。これらのテクノロジーは、誰にでも仕様の詳細が公開され、ロイヤリティー︵特許料︶が発生せず、特定の企業や個人が独占していない点が特徴です。ここでは、それらを総称して、オープン・ウェブと呼びましょう。実際に世間が注目しているのは、HTML5仕様単体なのではなく、このオープン・ウェブなのです。
![オープン・ウェブ](http://cz-cdn.shoeisha.jp/static/images/article/5653/5653_fig1.gif)
オープン・ウェブ仕様
ストレージ関連
ブラウザ側にユーザーのデータを蓄積するために、これまでCookieが使われてきました。しかし、蓄積できるデータは非常に小さく、さらに、データを蓄積されたあとは常にそのデータをサーバーに送信する仕組みでした。Cookieはセッション管理やユーザートラッキングに最適でしたが、一方、単純に大きなユーザーデータを蓄積しておく仕組みが求められてきました。それを実現するのがWeb StorageとIndexed Database APIです。 ●Web Storage ●Indexed Database API Web Storageは、すでに最新のブラウザには実装されており、今でも利用できます。さらに今後は、複雑なデータ構造や大きなデータを扱うために、Indexed Database APIが期待されています。ファイル関連
これまで、プラグインを使わない限り、JavaScriptからデスクトップのファイルを扱うことができませんでした。しかし、File APIの登場により、デスクトップ上のファイルをドラッグ&ドロップやfileタイプのinput
要素経由でユーザーが選択することで、そのファイルのデータを読み取ることができるようになりました。すでにFile APIは一部のブラウザで実装されています。
●File API
●File API: Writer
●File API: Directories and System
さらに、ファイルの読み取りだけでなく書き込みまで実現するFile API: Writerや、ディレクトリを扱うFile API: Directories and Systemが策定中です。デスクトップ上のファイルやディレクトリを直接的に自由に扱うことができるわけではありませんが、これらファイル関連のAPIによって、ウェブアプリケーションが、よりデスクトップアプリケーションに近づくと言えるでしょう。