This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
I'm quite confused by the book description. It seems the heavy calculations should be done on the server side, not on the browser side. For a responsive UI, what's wrong with the AJAX pattern? So please clarify which scenarios that Web Worker come to a rescue.
There are many cases where you can't do the heavy calculation on the server side.
There are many reasons why you will want to do them on the client.
* Encoding/decoding a large string that you create on the client and wish to keep it there.
* Code syntax highlighting or other real-time text analysis (like spell checking).
* Background I/O (e.g. Polling web services).
* Complex mathematical calculations (prime numbers, encryption, simulated annealing, etc.) - think on a web app that work offline and still need to run...
* Analyzing or processing video or audio data (including face and voice recognition)
and many more...
Btw, Ajax is great solution in lots of cases but in many situations it will take too much time to pass information (specifically if we talking on large objects) between the client and the server.