मैं Web Workers API का उपयोग करने के लिए वास्तविक दुनिया के दृश्यों की तलाश में हूं। खेल, ग्राफिक्स, क्रिप्टो -वेब श्रमिकों के लिए उपयोग-मामले क्या हैं?
उत्तर
John Resig (jQuery फेम) a bunch of interesting examples of using web workers here है।
एक और उपयोग वेब I/O है - दूसरे शब्दों में, पृष्ठभूमि में यूआरएल मतदान। इस तरह आप यूआई को मतदान परिणामों के लिए इंतजार नहीं करते हैं।
एक और व्यावहारिक उपयोग: Bespin में, वे वेब कर्मचारी वाक्य रचना हाइलाइटिंग, जो आप नहीं अपने कोड संपादन ब्लॉक करने के लिए आप अनुप्रयोग का उपयोग कर रहे, जबकि करना चाहते हैं का उपयोग कर रहे हैं।
Mozilla से: एक तरह से श्रमिक उपयोगी हैं कि आपके कोड को उपयोगकर्ता इंटरफ़ेस थ्रेड को अवरुद्ध किए बिना प्रोसेसर-गहन गणना करने की अनुमति दें।
एक व्यावहारिक उदाहरण के रूप में, एक ऐप के बारे में सोचें जिसमें #s की एक बड़ी तालिका है (यह असली दुनिया है, बीटीडब्ल्यू - 2 साल पहले प्रोग्राम किए गए ऐप से लिया गया था)। आप इनपुट क्षेत्र के माध्यम से एक तालिका में एक # को बदल सकते हैं और विभिन्न कॉलम में अन्य नंबरों का एक गुच्छा काफी गहन प्रक्रिया में फिर से गणना की जाती है।
पुराना वर्कफ़्लो था: # बदलें। जाओ कॉफी प्राप्त करें जबकि जावास्क्रिप्ट अन्य नंबरों में परिवर्तनों के माध्यम से crunches और वेब पेज 3 मिनट के लिए उत्तरदायी नहीं है - मैं इसे नरक और वापस अनुकूलित करने के बाद। कॉफी के साथ वापस जाओ। दूसरा # बदलें। कई बार दोहराएं। सहेजें बटन पर क्लिक करें।
श्रमिकों के साथ नया वर्कफ़्लो हो सकता है: # बदलें। एक स्टेटस संदेश प्राप्त करें कि कुछ पुनः संयोजित किया जा रहा है लेकिन आप अन्य #s बदल सकते हैं। अधिक # एस बदलें। जब बदलते हैं, तो "सभी गणनाओं को पूरा करने के लिए स्थिति में परिवर्तन तक प्रतीक्षा करें, अब आप अंतिम #s की समीक्षा कर सकते हैं और सहेज सकते हैं"।
ग्रेट लिंक! मैंने श्रमिकों के बारे में कभी नहीं सुना था ... mmm, श्रमिक। (जाने का समय एक लंबा, गर्म स्नान ...) –
मुझे पता है कि यह दो साल का जवाब है, लेकिन मैं बस यह उल्लेख करना चाहता था कि आपको आइटम # 2 (मतदान यूआरएल) के लिए वेब श्रमिकों की आवश्यकता नहीं है। एक्सएचआर असीमित रूप से होता है और ब्लॉक नहीं करता है; एक अलग थ्रेड पर एक्सएचआर अनुरोध चलाने की कोई ज़रूरत नहीं है। (बेशक, एक आधुनिक ऐप में आप मतदान के बजाए वेबसाकेट्स का उपयोग करना चाहते हैं।) – josh3736
@ josh3736 - आप सही हैं लेकिन अब मैं उत्सुक हूं कि क्या कई समांतर एक्सएचआर एएनसीसी अनुरोध करने से ब्राउज़र दुखी हो सकता है?साथ ही, आपको XHR प्रतिक्रियाओं को संसाधित करने के लिए स्थानीय संसाधनों की आवश्यकता है जहां श्रमिक उपयोगी हो सकते हैं। – DVK
मैंने ब्राउज़र से सर्वर पर बड़ी मात्रा में डेटा भेजने के लिए उनका उपयोग किया है। जाहिर है, आप इसे नियमित AJAX कॉल के साथ कर सकते हैं, लेकिन यदि यह प्रति होस्टनाम के मूल्यवान कनेक्शनों में से एक लेता है। साथ ही, यदि उपयोगकर्ता इस प्रक्रिया के दौरान एक पृष्ठ संक्रमण करता है (जैसे एक लिंक क्लिक करता है), तो पिछले पृष्ठ से आपकी जावास्क्रिप्ट ऑब्जेक्ट्स दूर हो जाती हैं और आप कॉलबैक को संसाधित नहीं कर सकते हैं। जब एक वेब कर्मचारी का उपयोग किया जाता है, तो यह गतिविधि बैंड से बाहर होती है, इसलिए आपके पास एक बेहतर गारंटी है कि यह पूरा हो जाएगा।
एक और उपयोग मामला:
Compressing/पृष्ठभूमि में फ़ाइलों को डी-संपीड़ित करने, अगर आप छवियों और अन्य मीडिया फ़ाइलों कि संपीड़ित प्रारूप में सर्वर से बदला जा सकता है की एक बहुत कुछ है।
यह जावास्क्रिप्ट में नहीं होना चाहिए। छवियों को पहले से ही संकुचित (पीएनजी, जेपीईजी) छवि डेटा कुशलतापूर्वक संपीड़ित करने के लिए डिज़ाइन किए गए एल्गोरिदम का उपयोग कर रहे हैं। शीर्ष पर संपीड़न की एक और परत फेंकने से वास्तव में * डेटा के आकार में वृद्धि हो सकती है। अन्य प्रकार के डेटा (जैसे एक बड़ी JSON फ़ाइल) के लिए, मानक HTTP gzipping का उपयोग कर ब्राउज़र द्वारा संपीड़न को संभाला जाना चाहिए। ** यदि आप जावास्क्रिप्ट में संपीड़न कर रहे हैं, तो आप शायद * गलत कर रहे हैं * ** – josh3736
मैं कुछ उपयोगकर्ताओं को उपयोग के मामले को अयोग्य घोषित करता हूं, लेकिन यहां मेरा कहना है। एक शक्तिशाली दस्तावेज़ संपादक की तरह एमएस शब्द जैसे अनुप्रयोग पर विचार करें जिसके माध्यम से आप छवियों, संगीत फ़ाइलों, डेटा, एक्सेल शीट इत्यादि को एक फ़ाइल में एम्बेड कर सकते हैं। और मान लें कि आपके पास वेब आधारित क्लाइंट और डेस्कटॉप क्लाइंट और आईओएस/एंड्रॉइड क्लाइंट है। इस तरह के उपयोग के मामले के लिए, आप सभी फ़ाइल सामग्री को ज़िप फ़ाइल में संग्रहीत कर सकते हैं और फिर प्रत्येक क्लाइंट पर अनजिप कर सकते हैं। – sbr
मुझे आशा है कि उपर्युक्त टिप्पणी समझ में आती है। अगर आप इसे हासिल करने के बेहतर तरीके सोच सकते हैं तो कृपया अपने सुझाव दें। – sbr
- 1. क्या वेब श्रमिकों को सोना संभव है?
- 2. वेब श्रमिकों में एक्सएमएल पार्सिंग
- 3. मैं वेब श्रमिकों के साथ क्या उपयोग कर सकता हूं?
- 4. वेब श्रमिकों के साथ गर्व से गिरावट
- 5. क्या गेम के लिए वेब श्रमिकों का उपयोग करना समझ में आता है?
- 6. पृष्ठभूमि-श्रमिकों के साथ वेब अनुप्रयोग के लिए सत्र प्रबंधन रणनीति को रोकें?
- 7. वेब श्रमिकों (कचरा कलेक्टर) का उपयोग कर संभावित मेमोरी लीक
- 8. डार्ट श्रमिकों के रूप में पृथक
- 9. सेलेरी श्रमिकों के बीच साझा एक्सएमपीपी कनेक्शन
- 10. वर्तमान में कौन से ब्राउज़र वेब श्रमिकों का समर्थन करते हैं?
- 11. क्या सीएसआरएफ हमलों के लिए जेएसओएन वेब सेवाएं कमजोर हैं?
- 12. क्या वेब अनुप्रयोगों के लिए सीएसएस क्लास नामकरण मानक हैं?
- 13. क्या वेब ऑडियो एपीआई घटनाएं अलग थ्रेड में चलती हैं?
- 14. मल्टीप्रोसेसिंग श्रमिकों के साथ ट्विस्ट नेटवर्क क्लाइंट?
- 15. आवश्यकता के साथ एक मॉड्यूल निर्माण में वेब श्रमिकों का उपयोग कैसे करें?
- 16. वेब अनुप्रयोग संरचना के लिए सर्वोत्तम अभ्यास के लिए आपकी युक्तियां क्या हैं?
- 17. जावा वेब ऐप्स के लिए एन्क्रिप्शन/डिक्रिप्शन/कुंजी रोटेशन के लिए मौजूदा प्रथाएं क्या हैं
- 18. एरलांग पर्यवेक्षक: यह जांचने के लिए कि क्या सभी श्रमिकों ने
- 19. वेब विकास के लिए आप क्या उपयोग करते हैं और आप इसे चट्टान क्यों सोचते हैं?
- 20. सरल शर्तों में वेब सेवाएं क्या हैं
- 21. क्या वेब सेवाएं वास्तव में स्टेटलेस हैं?
- 22. स्थैतिक तरीकों के लिए डाउनसाइड्स क्या हैं?
- 23. आम जावा वेब विकास प्रथाओं क्या हैं?
- 24. रिसाव-वेब
- 25. वहां अन्य वेब एनालिटिक्स टूल क्या हैं?
- 26. सीधे Azure श्रमिकों तक पहुंच; लोड बैलेंसर
- 27. child_process.fork और cluster.fork के बीच प्रभावी अंतर क्या हैं?
- 28. के लिए फाइनलर्स क्या हैं?
- 29. क्या PHP वेब क्रॉलर पुस्तकालय उपलब्ध हैं?
- 30. वेब सेवा के लिए वेब क्लाइंट
क्या वे मोबाइल/वेबकिट प्लेटफ़ॉर्म द्वारा समर्थित हैं? – dmp
निश्चित रूप से पता नहीं है, लेकिन अनुमान लगाएंगे कि वे हैं। –
@danp ब्राउज़र समर्थन: http://caniuse.com/webworkers –