【レポート】
Web Storageは、クライアント内にデータを永続化するための機構だ。大きく、以下の二つに分けられる。
Storage・・・キー/バリューの形式で永続化できる。キーと値はどちらも文字列である必要がある。localStorageはドメインごとに保存され、永続化期間は無制限だ。sessionStorageはウィンドウごと保存され、永続化期間はそのウィンドウを閉じるまでとなる
// ローカルストレージに値を保存する
window.localStorage.pageLoadCount = 0;
データベース・・・SQLを用いてアクセスする事の出来る永続化領域。非同期APIと同期APIの双方を用いてアクセスすることができる。非同期APIは扱いにくい分、データアクセスがバックグラウンドで行われるため、UI操作の妨げにならない
// データベースに対して非同期でSQLを実行する
var database = window.openDatabase();
// 非同期APIは、コールバック関数を渡して結果を受け取る
database.transaction(function(tx) {
// SQLの実行
tx.executeSql("insert into TEST values(?)", ["Hello"]);
});
Web Workersは、バックグラウンドで動作するJavaScriptスレッドのこと。「重い」処理を行うJavaScriptコードも、ワーカで実行するようにすれば、UIをブロックする事なく処理を行える。
メインページのJavaScriptとワーカ、もしくはワーカ同士はJavaScriptオブジェクトを「メッセージ」として送受信することにより、ワーカ間の協調を実現する。
[mainpage.js]
// ワーカを作成
var worker = new Worker('worker.js');
// ワーカからメッセージを受け取ったら、DOMを更新する
worker.onmessage = function (event) {
document.getElementById('result').textContent = event.data;
}
[worker.js]
// 5秒後にメインワーカに対して「Hello」という文字列を送信する。
setTimeout(function() {
postMessage("Hello");
}, 5000);
また、複数のウィンドウ間で共有されるSharedWorkerという仕様もある。さらに、ブラウザのウィンドウを閉じても動作を続ける「Persistent Worker」という仕様についても議論が行われている。
サーバサイドプロセスと双方向に通信する事を可能にする仕組みがWeb Socketsだ。サーバ側でもWebSocketsへの対処を必要とされるが、HTTPを用いずに効率的な双方向通信を実現可能なのが特徴。
// WebSocketを作成
var ws = new WebSocket("ws://example.org");
// ソケットのオープンに成功した
ws.onopen = function() {
// サーバにメッセージを送信する
ws.postMessage("Hello from client");
};
// サーバからメッセージを受け取った
ws.onmessage = function(message) {
alert("Message from server:" + message);
};
田村氏は講演の最後に、「HTML5はアプリケーションプラットフォームである」という言葉で締めくくった。その言葉通り、HTML5が普及した暁には、プラットフォームとしてのWebをさらに活用した、新たなブレークスルーが起きるであろう事は間違いないだろう。
| トマトを食べれば痩せられる!? -京大ら、新発見の成分で肥満改善効果を実証 [21:00 2/10] |
| JAXA、液体シリコン中に残存する共有結合を観察 -大口径ウェハの実現に期待 [20:11 2/10] |
| NEDOなど、熱膨張が小さな樹脂複合材料ペレットの量産化に成功 [19:22 2/10] |
| 理研、一般顕微鏡を蛍光顕微鏡に強化できるアダプタを試作して性能を実証 [19:15 2/10] |
| 天の川のブラックホールが小惑星を飲み込んでいる - NASAが発表 [18:08 2/10] |
|
熊田曜子が最新DVDで美乳引き立つゴールドビキニ姿を披露『WOMAN~本性~』 [22:30 2/10] エンタメ |
|
「グラビア甲子園」特別賞の新人・藤村椿の"フレッシュ・ヒップ"が弾ける! [22:30 2/10] エンタメ |
|
TVアニメ『エウレカセブンAO』、新キャラおよびメカの設定画を紹介 [22:21 2/10] ホビー |
|
宮本恒靖を迎え「選手のセカンドキャリア」を考える! [22:08 2/10] キャリア |
|
NMB48山田菜々・福本愛菜、恋人モードで妄想セリフ!? [22:08 2/10] キャリア |