Preface
Web Workers is a powerful feature of HTML5 that hasn’t received very much attention. It provides an API that allows you to run JavaScript in a separate thread that doesn’t interfere with the user interface of your web application. This JavaScript runs in parallel with the main renderer and any of your user interface scripts on it. This allows long and “processing-heavy” tasks to be executed without making the page unresponsive.
Like threads in other technologies, Web Workers are relatively heavyweight. You don’t want to use them in large numbers, as each one consumes significant system resources. Web Workers are expected to handle long tasks that rely on constrained resources (e.g., CPU, network bandwidth, etc.). They have a high startup cost and a high instance of memory cost.
Because it is a new, evolving standard, different browsers implement the Web Workers specification in different ways. Although some aspects of the implementation are stabilizing, I suspect that features like access to IndexedDB will be available soon in most modern browsers. I hope that with this book and the adoption of modern browsers we will see more usage of this powerful API.
Note
All the examples in this book were tested on Chrome (15+) and Firefox (7+). Web Workers also work in mobile Safari 5+, and will be especially useful because the new iPhone 4GS has a multi-core processor.
How This Book Is Organized
Before you can do much with Web Workers, it helps to know what they are and what they can do ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access