このページの本文へ

PROGRAMMING 古籏一浩のJavaScriptラボ ― 第42回

JavaScriptで並列処理ができる「Web Workers」

2010年10月13日 11時00分更新

古籏一浩

  • この記事をはてなブックマークに追加
本文印刷
iphone-android

 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をサポートしていないので動作しません。

書影

「まとめてじっくり読みたい!」という読者のみなさまの声にお応えし、この連載が本になりました。書籍化にあたって加筆修正し、記事公開後の最新情報やコラムも盛り込んでいます。

HTML5+JavaScript アイデア&実践サンプル

本体 2,800+税、B5変形判312ページ(オール4色刷)
ISBN:978-4-04-870448-9

Amazon.co.jpで買う 楽天ブックスで買う

この記事の編集者は以下の記事をオススメしています

ASCII.jp会員サービス 週刊Web Professional登録

HTMLリファレンス誘導バナー

CSSリファレンスサイト誘導バナー

Webディレクター江口明日香が行く

ランキング