Vanilla JavaScript: Web Workers
Overview
Optimize your web applications with JavaScript web workers. Learn how to enable multithreading with dedicated and shared web workers.
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.
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.
Syllabus
Introduction
- Increase web performance with web workers
- What you should know
- The problem with JavaScript and threads
- Execute CPU-intense operations
- How the browser works with threads
- The workers family
- 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
- 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 for web workers
- Decoding images
- WorkerDOM project
- OffscreenCanvas
- Next steps
Taught by
Maximiliano Firtman