After reading this blog post: http://www.sitepoint.com/javascript-shared-web-workers-html5/
I don't get it. What's the difference between a Worker
and a SharedWorker
?
Very basic distinction: a Worker
can only be accessed from the script that created it, a SharedWorker
can be accessed by any script that comes from the same domain.
SharedWorker's seem to have more functionality then Worker.
Among that functionality is :
SharedWorker
instances share a single global scope.W3C Spec:
WHATWG Spec:
To anyone considering using SharedWorker -- Apple removed support of SharedWorker
from WebKit in 2015. In their current roadmap there is no plan for reimplementation. Support for Service Workers is currently under development for WebKit and offer similar capabilities (see here for comparisons).
You can follow the development (aka Safari support) of ServiceWorkers in WebKit here.
A shared worker can work with multiple connections. It posts messages to ports to allow communication between various scripts.
A dedicated worker on the other hand is simply tied to its main connection and cannot post messages to other scripts (workers).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With