 Workers are the web's version of threads. JavaScript is inherently single-threaded, so multi-threading works a little bit differently than in most other languages. Even though web workers have been around for ages, that even if the Explorer 10 supports them, they're just now picking up as a performance primitive. You create a worker with a new worker constructor and pass it a file, and that file is going to get executed in a separate thread. Your app and the worker can communicate using post-message to send messages back and forth. But keep in mind that you can't access the DOM from a worker and that you can only send JSON-style objects. The advantage is that you can do really expensive and long-running tasks in a worker and it won't affect the performance and the responsiveness of your web app. So everything that is not essential to manage a UI should be considered to be moved to a worker. See? The web even has threads. Who would have thought? See you next time. I just finished my commit log series where I built a PWA using WordPress. So if you click here, you can watch the entire series start to finish and see how I built all these little nifty features. And while you're at it, you should also subscribe because you put out new supercharged every Thursday.