जवाबों:
वे जो चाहते हैं, उसमें एक बड़ा अंतर है:
वेब वर्कर्स
वेब वर्कर्स बैकग्राउंड थ्रेड्स में स्क्रिप्ट चलाने के लिए वेब सामग्री के लिए एक सरल साधन प्रदान करते हैं। वर्कर थ्रेड उपयोगकर्ता इंटरफ़ेस के साथ हस्तक्षेप किए बिना कार्य कर सकता है। इसके अलावा, वे XMLHttpRequest (हालांकि responseXML और चैनल विशेषताएँ हमेशा शून्य हैं) का उपयोग करके I / O प्रदर्शन कर सकते हैं। एक बार बनाने के बाद, एक कार्यकर्ता जावास्क्रिप्ट कोड को संदेश भेज सकता है, जिसने उस कोड द्वारा निर्दिष्ट इवेंट हैंडलर को संदेश पोस्ट करके बनाया है (और इसके विपरीत।)
स्रोत - वेब वर्कर्स का उपयोग करना
सेवा कार्यकर्ता
सेवा कर्मचारी अनिवार्य रूप से प्रॉक्सी सर्वर के रूप में कार्य करते हैं जो वेब एप्लिकेशन और ब्राउज़र और नेटवर्क (जब उपलब्ध हो) के बीच बैठते हैं। वे (अन्य बातों के अलावा) प्रभावी ऑफ़लाइन अनुभवों के निर्माण, नेटवर्क अनुरोधों को बाधित करने और नेटवर्क उपलब्ध होने और सर्वर पर अपडेट की गई संपत्ति के आधार पर उचित कार्रवाई करने में सक्षम हैं। वे सूचनाओं और पृष्ठभूमि सिंक एपीआई को पुश करने की अनुमति भी देंगे।
इसलिए वेब वर्कर यूजर इंटरफेस को फ्रीज किए बिना महंगी स्क्रिप्ट चलाना आसान समझते हैं, जबकि सर्विस वर्कर्स नेटवर्क रिक्वेस्ट (उदाहरण के लिए, ऑफलाइन ऐप बनाते समय) से प्रतिक्रिया को संशोधित करने के लिए उपयोगी होते हैं।
बक्सी का उत्तर सही है, लेकिन मेरी राय में यह मूल प्रश्न का उत्तर नहीं देता है, अर्थात्: "सेवा कार्यकर्ता वेब कार्यकर्ता क्या नहीं कर सकते? या इसके विपरीत?"
उनके जीवनचक्र में मौलिक अंतर और आपके द्वारा प्रति उत्पत्ति के उदाहरणों की संख्या हो सकती है। संक्षेप में:
| Web Workers | Service Workers |
|--------------|--------------|------------------|
| Instances | Many per tab | One for all tabs |
| Lifespan | Same as tab | Independent |
| Intended use | Parallelism | Offline support |
बक्सी का जवाब मूल रूप से तालिका की अंतिम पंक्ति है। क्रेडिट: मैंने इस तालिका को नोलन लॉसन द्वारा वेबस्ट्रीमर्स और सर्विस वर्कर्स डेमिस्टिफ़ाइंग से लिया , जो स्लाइड 35 से शुरू होता है ।
विशेष रूप से, यहां बताया गया है कि आप वेब वर्कर्स को किस तरह से सपॉर्ट करते हैं और समाप्त करते हैं:
जबकि सेवाकर्मियों का अपना जीवनचक्र होता है, जो कि उनका "सबसे जटिल हिस्सा" है:
इसलिए दोनों के बीच जीवन शैली एक मूलभूत अंतर है (उनके इच्छित उपयोग का परिणाम)।
ब्राउज़र समर्थन में एक बड़ा अंतर हुआ करता था : 11.3 (2018 मार्च 29) तक सेवा कार्यकर्ता आईओएस के लिए सफारी में उपलब्ध नहीं थे, क्या मैं सेवा कर्मचारियों का उपयोग कर सकता हूं? इसके विपरीत, 2012 में वेब वर्कर्स को पहले से ही बेहतर ब्राउज़र सपोर्ट था: क्या मैं वेब वर्कर्स का उपयोग कर सकता हूं?
यदि आपको IE11 का समर्थन करना है, तो आप केवल वेब कर्मचारियों का उपयोग कर सकते हैं: IE11 में सेवा कार्यकर्ता नहीं हैं, और जाहिर तौर पर IE11 के लिए समर्थन का अंत 14 अक्टूबर, 2025 है ।
ब्राउज़र में उनके एपीआई समर्थन में सूक्ष्म अंतर हैं, एचटीएमएल 5 वर्कर टेस्ट (नोलन लॉसन द्वारा भी) देखें। एक विशेष ब्राउज़र में, एक प्रकार का कार्यकर्ता एक निश्चित एपीआई कॉल का समर्थन कर सकता है जबकि दूसरा नहीं करता है। उस पृष्ठ पर जाएं और अपने स्वयं के ब्राउज़र का परीक्षण करें!