高速なモバイルネットワークが発達し、光回線やギガビットの高速インターネットが普及する中にあって逆に注目されているのがオフライン技術です。オンラインであるのが当たり前になると、ネットワークが途切れた状態になるのが大きな問題になります。ネットワークがなければ仕事が全くできないというのは大きな問題です。

特にWebアプリケーションにおいて、ローカルアプリケーションから切り替える上でオフラインでも動くというのは大事な要素になります。そこで今回はオフラインで動作させるために必要な技術や関連オープンソース・ソフトウェアを紹介します。

HTML5

HTML5ではキャッシュマニフェストと呼ばれる仕組みが用意されています。予め指定したリソース(HTML、画像、JavaScript、スタイルシートなど)をダウンロードし、キャッシュしておくマニフェストファイルを作成しておきます。逆にネットワークからの取得を強制する指定もできます。

このAppCacheと呼ばれるキャッシュを使ってオフライン時には表示、動作が可能です。データは一時的にIndexedDBやlocalStrageなどに保存しておき、オンラインになったときにサーバに送信するといった工夫が必要になります。個人的にはキャッシュの管理が難しい印象があります。