JavaScript: Web Workers
1h 18mIntermediate2018-10-30
Authors

Maximiliano Firtman
Mobile and Web Developer, Trainer, Speaker, Writer
Course details
Web Workers is one of the most underrated APIs on the web. It brings multithreading—the ability to execute multiple tasks simultaneously—to JavaScript. Multithreading with web workers can enhance the performance of complex apps with resource-intense code. This course show how to run parallel tasks with web workers and communicate those threads back to the main UI thread. Instructor Maximiliano Firtman explores the APIs for dedicated web workers and shared web workers, which allow you to share threads between browser tabs. The majority of the lessons use Vanilla JavaScript, which allows you to explore the full potential of the technology, but in the final chapter, Maximiliano also introduces some libraries and frameworks specifically designed for developing with web workers.
Learning objectives
How threading works in JavaScript and web browsers
Creating dedicated workers
Creating shared workers
Creating basic workers
Sending messages to web workers
Optimizing app performance with web workers
Handling web worker errors
Using JavaScript libraries and frameworks for web workers
Learning objectives
How threading works in JavaScript and web browsers
Creating dedicated workers
Creating shared workers
Creating basic workers
Sending messages to web workers
Optimizing app performance with web workers
Handling web worker errors
Using JavaScript libraries and frameworks for web workers
Skills covered
JavaScriptOracleProgramming LanguagesSoftware DevelopmentDeep Dive (X:Y)
Concepts
Introduction
- Increase web performance with web workers
- What you should know
Threading in JavaScript
- The problem with JavaScript and threads
- Execute CPU-intense operations
- How the browser works with threads
- The workers family
Working with Web Workers
- Create a dedicated worker
- Life cycle of a dedicated worker
- Create a shared worker
- Life cycle of a shared worker
- Creating subworkers
- Import external scripts
- Create basic workers
- Debug with browser dev tools
Communication and Security
- Send messages to dedicated workers
- Improve the performance of our app
- Update progress and import scripts
- Send messages to shared workers
- Copy vs. transferable objects
- Handle worker errors
Libraries, Frameworks, and Ideas
- Libraries for web workers
- Decoding images
- WorkerDOM project
- OffscreenCanvas
Conclusion
- Next steps