HTML5は、クライアントとサーバーの通信のあり方も変える。HTML5を使ったWebアプリケーションは、オフラインで利用できるという利点があるからだ。

オフライン機能で通信できない状況でも使用可能

 特定のファイルを、ブラウザーにキャッシュさせるよう指定すると、通信ができない状況でもWebアプリケーションを使用できる。ローカルにデータベースを作成し、商品の情報や画像を保存しておく、といったことも可能だ。

 スマートフォンやタブレット端末など、モバイル環境で利用するシステムで、これらオフライン機能は有効だろう。NTTコミュニケーションズ 先端IPアーキテクチャセンタの小松健作主査は、「サーバーとの通信が減るため、Webアプリケーションに比べクライアント側の処理が高速化する点も大きい」と話す。

 使い方は難しくない。例えば、ファイルをキャッシュする機能「Application Cache」は、HTMLファイルに<html manifest>タグを記述し、「manifestファイル」を指定する。manifestファイルは、Webサーバー上に置く(図5)。

図5●HTML5のファイルキャッシュ機能「Application Cache」の仕組み
キャッシュするファイル名を指定することでオフラインでもファイルを閲覧できるようになる
図5●HTML5のファイルキャッシュ機能「Application Cache」の仕組み
[画像のクリックで拡大表示]

 HTML5対応ブラウザーは、HTMLファイルを読み込み、<html manifest>タグを見つけると、そこで指定されているmanifestファイルをダウンロード。manifestファイルに記述してあるファイルを自動的にダウンロードし、キャッシュする。いわば「先読み」するわけだ。

DBを作成する機能は2種類

 ブラウザーを動かす端末のメモリーやファイル上に、データベースを作成する機能は2種類ある。「local Storage」と「IndexedDB」である。どちらもJavaScriptを使って、ローカルにデータを保存したり読み出したりできる。例えば、商品のマスターデータなどをローカルのデータベースに登録しておけば、Webアプリ使用時にサーバーと通信する必要はない。