オフラインウェブ
HTML5では、オフラインでもウェブアプリを利用可能にするためのさまざまな機能が備わっています。「アプリケーションキャッシュ」という機能を利用すると、「ウェブアプリが必要とするリソースを全てローカルにキャッシュし、オフライン時でもそのキャッシュを利用する」という方法により、オフライン状態でもウェブアプリを利用可能にすることができます。
また、オフライン時にユーザーが行った操作(データの追加、更新、削除など)を保存しておく仕組みとして、昨今のブラウザは各種のストレージを備えています。Web StorageやIndexed Database APIと言ったストレージに対してデータの読み書きを行い、オンライン時にそれらのデータをクラウドと同期することで、「オフラインでも読み書きを行える」ウェブアプリを作ることができます。
オフラインウェブアプリケーションの最も素晴らしい例は、Google Driveです。Google Drive上で作成したドキュメントやスプレッドシート、プレゼンテーションは、オフライン状態であっても表示が可能です(ドキュメントとプレゼンテーションについては、オフライン時の編集にも対応)。ウェブ版Google Driveのオフライン利用を行うには、Google Chromeの利用が必須、かつオフラインアクセスの有効化が必要ですが、非常に便利なので有効にする価値があります。
Google Slidesはオフラインでも利用可能
ハイパフォーマンスウェブ
「ハイパフォーマンスウェブ」という用語は、私が適当に作りました。HTML5に端を発した、ウェブを進化させようとする一連の取り組みの中で、ウェブのパフォーマンスを向上するために、さまざまな取り組みが行われているのです。
例えば、ウェブアプリのパフォーマンスを計測するためのさまざまなJavaScript APIが、すでにさまざまなブラウザで利用可能です。また、ウェブアプリでマルチスレッドプログラミングを可能にする Web Workersという仕様も存在します。
また、ウェブの通信プロトコル(HTTP)の欠点を補ってウェブ全体を高速化しようとする試みも行われており、Googleが提唱するSPDYという通信プロトコルや、SPDYをベースにして仕様策定が始まった HTTP2.0なども、活発に開発が行われています。
ウェブアプリのパフォーマンスを計測する様々なAPIをうまく利用した例としては、「Web担当者Forum版 ページ速度分析ツール」を挙げることができます。 ブックマークレットとして利用することで、あらゆるページの読み込みにかかった時間を計測することができ、わかりやすく可視化してくれます。
Web担当者Forum版 ページ速度分析ツール
ウェブを高速化する通信プロトコルとして注目されているSPDYでは、エキスパートNo.2の小松さんが以前作ったデモがシンプルでわかりやすい。「画像を150個ダウンロードする」というタスクを、HTTPとSPDYのそれぞれで実行し、実行にかかった時間を計測することができます。どちらのデモも全く同じですが、SPDY版はHTTPSで接続されています(Google App Engineは、HTTPSで接続すると自動的にSPDY接続となるのです)。
SPDY Test
「HTML5が引き寄せる近未来を、9つの「○○ウェブ」で理解する。(後編)」に続きます。
※この記事はHTML5 Experts.jpのHTML5が引き寄せる近未来を、9つの「○○ウェブ」で理解する。(前編)をZDNet Japan編集部が加筆、修正したものです。
- 白石 俊平
- HTML5 Experts.jp編集長
- 株式会社オープンウェブ・テクノロジー代表取締役として、Web標準技術に関するコンサルティングや開発に従事。 Web技術者向け情報メディア「HTML5 Experts.jp」初代編集長。日本最大(5000名超)のHTML5開発者コミュニティ「html5j」管理人。 その他HTML5とか勉強会主催、Web先端技術味見部 部長など、Web先端技術に関する情報発信とコミュニティ活動を継続的に行う。 Google社公認Developer Expert (HTML5)、Microsoft社公認Most Valuable Professional (IE) 。著書に「HTML5&API入門」 (2010, 日経BP)、「Google Gearsスタートガイド」(2007, 技術評論社)など。監訳に「実践jQuery Mobile」(2013, オライリー)など。