Posted by 山崎富美 / Developer Relations Team
Google Developer Day 2011 のブレイクアウトセッションのご紹介、今回は
北村英志 による 「GDD 2011 Japan : HTML5 のオフライン機能」 です。
セッション内容:
ユーザーに完璧なオフライン体験を提供することは難しいです。本セッションでは、IndexDB、FileSystem、AppCache、WebSQL などの高度なオフライン機能や、オフラインでシームレスに動作するアプリケーションを構築できるオンラインイベントについてお話します。
動画はこちら:
スライドは
こちら
※ なお、こちらの内容に一部変更点があるとのことで、下記にスピーカーの北村からのメッセージを掲載しました。
こちらのセッションの内容に一部変更点がありますのでここでお知らせいたします ...
Read More
Posted by 山崎富美 / Developer Relations Team
Google Developer Day 2011 のブレイクアウトセッションのご紹介、今回は
北村英志 による 「GDD 2011 Japan : HTML5 のオフライン機能」 です。
セッション内容:
ユーザーに完璧なオフライン体験を提供することは難しいです。本セッションでは、IndexDB、FileSystem、AppCache、WebSQL などの高度なオフライン機能や、オフラインでシームレスに動作するアプリケーションを構築できるオンラインイベントについてお話します。
動画はこちら:
スライドは
こちら
※ なお、こちらの内容に一部変更点があるとのことで、下記にスピーカーの北村からのメッセージを掲載しました。
こちらのセッションの内容に一部変更点がありますのでここでお知らせいたします。
ビデオの 36:01 頃からをご覧下さい。ここでは Chrome におけるデフォルトのクォータがWeb Storage を除いて 5MB であると説明しておりますが、現バージョンの Chrome ではスライド (既に修正済み) の 35 ページ目以降をご覧頂くとお分かりのように、ディスクで利用可能な空き容量の 10% となっています。もう少し詳しく説明します。
Chrome におけるブラウザサイドの保存領域には Temporary ストレージと Persistent ストレージの 2 種類が存在します。これは File System API のみではなく、全ての保存領域に共通して言えます。それぞれの特徴は下記の通りです。
- Temporary ストレージ
- Temporary ストレージのクォータは全てのウェブアプリケーションで共有されるプールです。
- このプール全体のクォータはご利用のコンピューターで利用可能なディスク容量の 50% が上限となります。
- そのうち各アプリ (Chrome ウェブアプリだけではなく、ウェブサイトも含む) が利用できるのはそれぞれ、プールが持つクォータの 20% が上限です。つまりこれは、コンピューターで利用可能なディスク容量の 10% を意味します。
- 全てのアプリの合計利用ディスク容量、つまりプール全体の利用ディスク容量がクォータの上限を超過すると、最も古いアプリのローカル保存データが全て削除されます。
- Persistent ストレージ
- デフォルトのクォータは 0MB、つまり利用することはできません。
- Persistent ストレージを利用するためには Quota API にリクエスト (webkitStorageInfo.requestQuota) が必要になります。下記サンプルコードを参照して下さい。
- Persistent ストレージは File System API で type として PERSISTENT を指定した場合にのみ適用されます。逆に言うと他のストレージ系 API、つまり Application Cache や Indexed DB は、Temporary ストレージしか利用できないということを意味しています。
window.webkitStorageInfo.requestQuota(PERSISTENT, 1024*1024, function(grantedBytes) { window.requestFileSystem(PERSISTENT, grantedBytes, onInitFs, errorHandler); }, function(e) { console.log('Error', e); });
Chrome におけるクォータに関してはこちらに詳細なドキュメントがありますので、ぜひご参照下さい。
※ Chrome ウェブアプリにおける unlimitedStorage パーミッションを使った方法は、セッションの内容通り変わらず利用できます。 以上が修正内容になります。 このセッションでお話しした内容を元に、日本からたくさんのオフラインアプリケーションが登場する日を楽しみにしています。