2016-03-16 16 views
10

के बीच तुलना सेवा कार्यकर्ता और ऐप कैश के बीच मुख्य अंतर क्या हैं। प्रत्येक के पेशेवरों और विपक्ष क्या हैं और एक दूसरे को पसंद करते हैं।सेवा कर्मचारी और ऐप कैश

उत्तर

21

प्राथमिक अंतर यह है कि ऐप कैश एक उच्च स्तरीय, घोषणात्मक एपीआई है, जिसके साथ आप उन संसाधनों का सेट निर्दिष्ट करते हैं जिन्हें आप ब्राउज़र को कैश करना चाहते हैं; जबकि सेवा कर्मचारी एक निम्न-स्तरीय, अनिवार्य, घटना-संचालित एपीआई है जिसके साथ आप एक स्क्रिप्ट लिखते हैं जो अन्य घटनाओं (जैसे पुश नोटिफिकेशन प्रदर्शित करने) के साथ-साथ अपने प्रतिक्रियाओं को कैश कर सकता है।

पेशेवर और विपक्ष बड़े पैमाने पर एपीआई डिज़ाइन का एक कार्य हैं: सैद्धांतिक रूप से, ऐप कैश का उपयोग करना आसान है, जबकि अधिक सीमित उपयोग मामलों के दौरान; जबकि सेवा कर्मचारी का उपयोग करना मुश्किल है, लेकिन अधिक लचीला है।

फिर भी, खराब डिजाइन के कारण ऐप कैश अभ्यास में उपयोग करना मुश्किल माना जाता है (डिजाइन समस्याओं की सूची के लिए Application Cache Is A Douchebag देखें)। और इसे बहिष्कृत कर दिया गया है, इसलिए इसे ब्राउज़रों से हटाया जा रहा है (प्रति Using the application cache)।

इस प्रकार ऐप कैश को प्राथमिकता देने का एकमात्र कारण उन ब्राउज़रों पर एक ऐप ऑफ़लाइन करना है जो अभी तक सेवा कार्यकर्ता का समर्थन नहीं करते हैं, क्योंकि केनेथ ऑर्मेंडी Don’t Wait for ServiceWorker: Adding Offline Support with One-Line में अनुशंसा करता है।

ब्राउज़र समर्थन में अंतर देखने के लिए Can I use Service Workers? से Can I use Offline web applications? की तुलना करें। लेकिन ध्यान दें कि क्रोम और फ़ायरफ़ॉक्स जैसे सेवा कर्मचारी का समर्थन करने वाले ब्राउज़र ऐप कैश के लिए समर्थन हटा रहे हैं, इसलिए आपको मानक को समर्थन देने वाले सभी ब्राउज़रों में अपने ऐप को ऑफ़लाइन करने के लिए दोनों को लागू करना होगा।

3

क्या Myk Melez कहा की इसके अलावा, एप्लिकेशन कैश के खिलाफ सेवा कार्यकर्ता का मुख्य लाभ यह है कि एप्लिकेशन कैश केवल काम करता है जब उपयोगकर्ता नेटवर्क से डिस्कनेक्ट कर रहा है, तो आप की स्थितियों का प्रबंधन नहीं कर सकते हैं:

1- "धीमी नेटवर्क" - आपका कनेक्शन सिग्नल मजबूत है, हालांकि कुछ बाहरी इकाइयां (सर्वर, मार्ग, आदि) आपके विशिष्ट एप्लिकेशन में ट्रांसमिशन में देरी कर रही हैं।

2- "झूठ फाई" (अपने फोन से पता चलता है एक वाई-फाई या कम संकेत के साथ एक सेल नेटवर्क से कनेक्ट है) तो यह जुड़े होने की जब वास्तव में नहीं है लगता है।

सेवा कार्यकर्ता एक मध्यम बर्तन आप अनुरोधों को ब्राउज़र बना रही है पर नियंत्रण दे रही है की तरह है, आप वास्तव में अनुरोध, कोई फर्क नहीं पड़ता कि आप या नहीं जुड़े हैं रोकना और प्रतिक्रिया भी आप चाहते हैं कर सकते हैं। तो आप "ऑफ़लाइन पहले" सिद्धांत को कार्यान्वित कर सकते हैं।

संबंधित मुद्दे