• このエントリーをはてなブックマークに追加

HTML5入門

第10回 オフライン対応

日本のモバイルでの通信環境は電波が届かないということはあまりないですが、Webを使っていて困るタイミングといえばネットに接続できないときではないでしょうか。特に海外ではまだまだ通信インフラが整っていない国もあるので、オフライン対応をすることは実は世界的に考えてもWebユーザーにとってメリットは大きいです。

オフライン対応はユーザーがシームレスにWebを体験できるので利用頻度も高まり、そしてWebサービス自体への信頼度の向上にもつながります。また、サービスを提供する側は設定したKPIへの貢献にもなるでしょう。

Tips

KPIとは、ビジネスなどの目標達成をするための指標のこと。例えばお問い合わせを月間○件獲得するなどがあり、最終的なゴールのプロセスでの指標になります。

これらを実現してくれる技術として注目されているのがService WorkerというAPIです。

Service Worker

W3Cに技術仕様のページがあり、執筆時(2016年5月11日)ではWorking Draftです。

https://www.w3.org/TR/service-workers/

Service WorkerはWebページとは別にバックグラウンドで実行するJavaScriptで、ブラウザ側に実装されるAPIになります。通常、ブラウザはWebサーバーと通信を行いますが、Service Workerはその両者の間に入ります。

Service WorkerはWebサーバーのキャッシュを保持しているので、ブラウザがWebサーバーに接続することなくオフラインでもWebページを表示することができるというものでProxy(代理)サーバーの役割をします。

また、Service WorkerをWeb上で使うには、セキュリティ上の問題でHTTPSサーバーが必要になります。(お使いのマシンのローカルでも動かすことはできます。)

Tips

W3Cが技術仕様を勧告するまでには4つのステップがあります。

Working Draft
技術仕様を定める検討の草案として発行されたもの。
Candidate Recommendation
技術的な要求を満たしていてWorking Draftよりもより技術仕様として検討できる文書で、実装経験を収集するために発行されたもの。
Proposed Recommendation
現実的な技術として検討されたレポートで、W3Cの諮問委員会に意見を求めるもの。
W3C Recommendation
技術関係者に広く合意を得た仕様。
Tips

HTTPSとはWebサーバとWebブラウザの間の暗号化された通信で、HTTPSを使った通信をすることによってその通信間でのデータの盗み見や操作を防止することができます。

オフライン対応以外で注目されているService Worker関連の技術

Service Workerで注目されているのはオフライン対応だけではありません。ネイティブアプリで可能なプッシュ通知がWebでもできるようになるなどの技術が注目されています。

国内では、リクルートの『SUUMO』がAndroid OSのスマートフォン用サイトでプッシュ通を実装したとニュースになりました。Service Workerの技術仕様はまだ定まっていませんが、今後も注目してきたい技術です。

Google DevelopersにYour first push notifications web appというプッシュ通知について学べるコンテンツがあるので、是非トライしてみましょう!

このページの先頭へ