![]() |
---|
HTML 4時代のJavaScriptは主にWebページの装飾に使われていたので、マシンやブラウザーへの負担はそれほど高くなく、JavaScriptの処理にユーザーが待たされることはほとんどありませんでした。ところが「Webアプリケーションのプラットフォーム」と位置付けられるHTML5時代になると、JavaScriptのプログラムは巨大で複雑になります。そのため、各ブラウザーベンダーはJavaScriptエンジンを高速化し、複雑で時間のかかる処理を素早くこなせるように努力してきました。
しかし、いくら高速化しても回避できないこともあります。従来のJavaScriptはJavaのようなスレッド処理ができないので、時間のかかる処理を実行するとブラウザーが停止状態になってしまい、その間、ユーザーはUI操作がまったくできなくなる問題がありました。
そこで、ブラウザーで複数の処理を並行して実行させるための機能(オブジェクト)として「Web Workers」が登場しました。Web Workersは現在、HTML5の関連APIとしてW3Cで標準化が進められています。今回のJavaScriptラボは、このWeb Workersの基本的な使い方を解説し、最終的にはJavaScriptで画像解析処理を実行するサンプルを作成します。
なお、今回はサンプルごとに動作するブラウザーが異なります。すべてのサンプルが動作するブラウザーはFirefox 4.0βのみで、Safari 5/Chrome 6/Opera 10.6では一部のサンプルのみ動作します(File APIと組み合わせたサンプルは動作しない)。Internet Explorer(IE)は、最新のIE9ベータ版でもWeb Workersをサポートしていないので動作しません。
