I have two questions related to Web Workers:-
1. When will I normally use a Web Worker?
2. As per the Web Workers specification given by WHATWG,
workers are expected to be long-lived, have a high start-up performance cost, and a high per-instance memory cost.
I tried to understand the examples given in the specification but couldn't understand their value.
As for the 2nd question - Please think on web workers as a solution to do:
* Network to/from the server in the background
* Create one central component that manage your local storage.
This case is interesting because it can even be done with shared workers and give you ability to have one point of 'true' to all the instances of your web app (e.g. many windows, tabs that share the same 'thread').
* WebGL - you wish to run some complex matrix manipulation
and many many more :)