जावास्क्रिप्ट सर्विस वर्कर्स का परिचय

जावास्क्रिप्ट सर्विस वर्कर्स का परिचय

क्या आपने कभी सोचा है कि आपके ऑफ़लाइन होने पर भी कुछ वेबसाइटें कैसे काम करती रहती हैं? रहस्य सरल है: इन वेबसाइटों में सेवा कर्मचारी हैं।





आधुनिक वेब अनुप्रयोगों की कई मूल ऐप जैसी सुविधाओं के पीछे सेवा कार्यकर्ता प्रमुख तकनीक हैं।





सेवा कार्यकर्ता क्या हैं?

सेवा कार्यकर्ता एक विशेष प्रकार के होते हैं जावास्क्रिप्ट वेब कार्यकर्ता . सर्विस वर्कर एक जावास्क्रिप्ट फ़ाइल है जो एक प्रॉक्सी सर्वर की तरह काम करती है। यह आपके एप्लिकेशन से आउटगोइंग नेटवर्क अनुरोधों को पकड़ता है, जिससे आप कस्टम प्रतिक्रियाएं बना सकते हैं। उदाहरण के लिए, आप कैश की गई फ़ाइलों को उपयोगकर्ता को तब प्रदान कर सकते हैं जब वे ऑफ़लाइन हों।





कैसे जांचें कि कोई लिंक सुरक्षित है या नहीं

सर्विस वर्कर आपको अपने वेब एप्लिकेशन में बैकग्राउंड सिंक जैसी सुविधाएं जोड़ने की सुविधा भी देते हैं।

सेवा कार्यकर्ता क्यों?

वेब डेवलपर लंबे समय से अपने ऐप्स की क्षमताओं का विस्तार करने की कोशिश कर रहे हैं। सेवा कर्मियों के साथ आने से पहले, आप इसे संभव बनाने के लिए विभिन्न समाधानों का उपयोग कर सकते थे। एक विशेष रूप से उल्लेखनीय ऐप कैश था, जिसने कैशिंग संसाधनों को सुविधाजनक बना दिया। दुर्भाग्य से, इसमें ऐसे मुद्दे थे जिन्होंने इसे अधिकांश ऐप्स के लिए एक अव्यवहारिक समाधान बना दिया।



AppCache एक अच्छा विचार प्रतीत होता है क्योंकि यह आपको संपत्ति को वास्तव में आसानी से कैश करने के लिए निर्दिष्ट करने की अनुमति देता है। हालाँकि, इसने कई धारणाएँ बनाईं कि आप क्या करने की कोशिश कर रहे थे और फिर बुरी तरह से टूट गए जब आपका ऐप उन धारणाओं का बिल्कुल पालन नहीं करता था। पढ़ें जेक आर्चीबाल्ड की (दुर्भाग्य से शीर्षक वाली लेकिन अच्छी तरह से लिखी गई) एप्लिकेशन कैश एक डौशबैग है अधिक जानकारी के लिए। (स्रोत: एमडीएन )

AppCache जैसी तकनीक की कमियों के बिना, सेवा कार्यकर्ता वेब ऐप्स की सीमाओं को कम करने का वर्तमान प्रयास हैं।





सेवा कर्मियों के लिए मामलों का प्रयोग करें

तो सेवा कर्मचारी आपको वास्तव में क्या करने देते हैं? सेवा कर्मी आपको ऐसी सुविधाएँ जोड़ने की अनुमति देते हैं जो आपके वेब एप्लिकेशन में मूल ऐप्स की विशेषता हैं। वे उन उपकरणों पर भी सामान्य अनुभव प्रदान कर सकते हैं जो सेवा कर्मियों का समर्थन नहीं करते हैं। इस तरह के ऐप्स को कभी-कभी कहा जाता है प्रोग्रेसिव वेब ऐप्स (PWA) .

आईट्यून्स मेरे आईफोन 6 को क्यों नहीं पहचान पाएगा

यहाँ कुछ सुविधाएँ हैं जो सेवा कार्यकर्ता संभव बनाते हैं:





  • जब उपयोगकर्ता अब इंटरनेट से कनेक्ट न हों तो उन्हें ऐप (या इसके कम से कम कुछ हिस्सों) का उपयोग करते रहने दें। सेवा कार्यकर्ता अनुरोधों के जवाब में कैश्ड संपत्तियों की सेवा करके इसे प्राप्त करते हैं।
  • क्रोमियम-आधारित ब्राउज़रों में, एक वेब ऐप के इंस्टाल करने योग्य होने के लिए एक सर्विस वर्कर एक आवश्यकता होती है।
  • आपके वेब एप्लिकेशन के लिए पुश नोटिफिकेशन को लागू करने में सक्षम होने के लिए सेवा कार्यकर्ता आवश्यक हैं।

एक सेवा कार्यकर्ता का जीवनचक्र

सेवा कर्मी पूरी साइट या साइट के पृष्ठों के केवल एक हिस्से के अनुरोधों को नियंत्रित कर सकते हैं। एक विशेष वेबपेज में केवल एक सक्रिय सेवा कार्यकर्ता हो सकता है, और सभी सेवा कर्मचारियों के पास एक घटना-आधारित जीवनचक्र होता है। एक सेवा कार्यकर्ता का जीवन चक्र आम तौर पर इस तरह दिखता है:

  1. कार्यकर्ता का पंजीकरण और डाउनलोड। एक सेवा कार्यकर्ता का जीवन तब शुरू होता है जब एक जावास्क्रिप्ट फ़ाइल इसे पंजीकृत करती है। यदि पंजीकरण सफल होता है, तो सेवा कार्यकर्ता डाउनलोड हो जाता है, और फिर एक विशेष थ्रेड के अंदर चलना शुरू हो जाता है।
  2. जब सर्विस वर्कर द्वारा नियंत्रित पेज लोड किया जाता है, तो सर्विस वर्कर को एक 'इंस्टॉल' इवेंट प्राप्त होता है। यह हमेशा एक सेवा कार्यकर्ता को प्राप्त होने वाली पहली घटना होती है, और आप कार्यकर्ता के अंदर इस घटना के लिए एक श्रोता स्थापित कर सकते हैं। 'इंस्टॉल' ईवेंट का उपयोग आम तौर पर सेवा कार्यकर्ता की ज़रूरत के किसी भी संसाधन को लाने और/या कैश करने के लिए किया जाता है।
  3. सर्विस वर्कर के इंस्टालेशन को पूरा करने के बाद, उसे एक 'एक्टिवेट' इवेंट प्राप्त होता है। यह घटना कार्यकर्ता को पिछले सेवा कर्मचारियों द्वारा उपयोग किए गए अनावश्यक संसाधनों को साफ करने की अनुमति देती है। यदि आप किसी सेवा कर्मचारी को अपडेट कर रहे हैं, तो सक्रिय ईवेंट केवल तभी सक्रिय होगा जब ऐसा करना सुरक्षित होगा। यह तब होता है जब सेवा कार्यकर्ता के पुराने संस्करण का उपयोग करने वाले अभी भी कोई लोड किए गए पृष्ठ नहीं हैं।
  4. उसके बाद, सेवा कार्यकर्ता के पास उन सभी पृष्ठों का पूर्ण नियंत्रण होता है जो सफलतापूर्वक पंजीकृत होने के बाद लोड किए गए थे।
  5. जीवनचक्र का अंतिम चरण अतिरेक है, जो तब होता है जब सेवा कार्यकर्ता को हटा दिया जाता है या एक नए संस्करण द्वारा प्रतिस्थापित किया जाता है।

जावास्क्रिप्ट में सर्विस वर्कर्स का उपयोग कैसे करें

सेवा कार्यकर्ता एपीआई ( एमडीएन ) इंटरफ़ेस प्रदान करता है जो आपको जावास्क्रिप्ट में सेवा कर्मियों को बनाने और उनके साथ बातचीत करने की अनुमति देता है।