JQuery और इसी तरह के उपकरण ब्राउज़र स्थापित में बनाया जा सकता है?


19

JQuery और CDN के बारे में एक और प्रश्न पढ़ने के बाद, क्या यह JQuery जैसे उपकरणों के लिए ब्राउज़र के साथ "आना" संभव है, इस प्रकार CDN से या अपने स्वयं के होस्ट सर्वर से पहले डाउनलोड की आवश्यकता को कम करना / समाप्त करना।

JQuery की फाइलें विशेष रूप से बहुत छोटी हैं, इसलिए आप आसानी से एक ब्राउज़र इंस्टॉल के हिस्से के रूप में विभिन्न संस्करणों की एक संख्या (सभी?) कर सकते हैं। अब काफी उचित है, यह ब्राउज़र के लिए डाउनलोड पदचिह्न स्थापित करने में वृद्धि करेगा।

तब साइटें "लोकल" को पहले देख सकती थीं, सीडीएन से पहले (जो तब कैश करती हैं), आखिरकार वेबसाइट सर्वर से डाउनलोड करने के लिए डिफॉल्ट करने से पहले।

यदि यह संभव है, तो क्या यह किया गया है, और यदि नहीं, तो ऐसा क्यों नहीं किया गया है?


3
जब एक विशेष जावास्क्रिप्ट फ़ंक्शन इतना सर्वव्यापी हो जाता है कि इसे हर जगह की आवश्यकता के रूप में देखा जाता है, तो इसे भाषा में जोड़ा जाता है। Array.prototype.forEach, Array.prototype.indexOf, Object.createकोड के सारे उदाहरण है कि JavaScript इंजन में ही बंडल कर ली हैं।
zzzzBov

मुझे यकीन है कि क्रोम एक समाधान के साथ आएगा जो एंड-यूज़र को किसी साइट को पहली बार प्रदान किए जाने पर आवश्यक jQuery / जावास्क्रिप्ट फ़ाइलों को कैश करने की क्षमता के साथ एक्सटेंशन स्थापित करने का विकल्प प्रदान करता है? यदि उपयोगकर्ता इसे घटाता है तो यह अनुरोध को हमेशा की तरह लागू करता है। विकल्प "मुझसे दोबारा न पूछें" इस विकल्प को निष्क्रिय कर सकता है। सेटिंग्स में एक क्षेत्र हो सकता है जहां एंड-यूज़र एक साधारण चेकबॉक्स सूची का उपयोग करके ब्राउज़र कैश में स्टोर करने के लिए कौन सी js फ़ाइलों का चयन कर सकता है। ग्राहक को भेजे जाने वाले कस्टम js हमेशा होंगे, लेकिन ऐसा लगता है कि ग्राहक को प्रति अनुरोध पर भेजे जा रहे js फाइलों को नष्ट करने से p
yaspenalty

1
आप कौन सा संस्करण सुझाएंगे, जिसमें वे शामिल हैं? अगले सप्ताह के बारे में क्या?
पीडीआर

@pdr - पुराना प्रश्न, ऐसा करने के लिए नकारात्मक के बहुत से उत्तर। लेकिन आप आसानी से ब्राउज़र रिलीज़ के साथ नवीनतम संस्करण को बंडल कर सकते हैं और उपयोगकर्ता कोड को सीडीएन से एक नए संस्करण का अनुरोध करने के लिए वापस गिरने की अनुमति दे सकते हैं। JQuery 2.0 जैसे परिवर्तन को तोड़ने के साथ, आप दोनों को और कोड को चुनने की अनुमति दे सकते हैं। सभी मूक बिंदु हालांकि वास्तव में :)
ozz

जवाबों:


15

कोई तकनीकी कारण नहीं है कि वे क्यों नहीं कर सकते। हालाँकि, यह आवश्यक नहीं है और यह वेब के मूलभूत दर्शन के खिलाफ है। यह आवश्यक नहीं है, क्योंकि आप लगभग एक ही चीज को प्राप्त कर सकते हैं, जो कि भविष्य के किसी भी समय समाप्त होता है। यह वेब के दर्शन के खिलाफ है क्योंकि यह एक शीर्ष-डाउन, केंद्रीकृत प्राधिकरण का कारण बनता है जिस पर पुस्तकालयों को ब्राउज़र के साथ बंडल नहीं किया जाना चाहिए / नहीं होना चाहिए।

संपादित करें: मुख्य रूप से DOM से निपटने के लिए JS लाइब्रेरीज़ मुख्य रूप से हैं। मुझे नहीं लगता कि ब्राउज़र के साथ थर्ड-पार्टी लाइब्रेरी को बंडल करना DOM API को अधिक सुखद बनाने का सही तरीका है।


1
धन्यवाद Dan - आप जो भी वर्णन करते हैं उस पर कोई लिंक मैं पढ़ सकता हूं?
ozz

1
मैं तर्क दूंगा कि हर बार जब मैं एक पेज का अनुरोध करता हूं तो मेगाबाइट्स पर मेगाबाइट्स को डाउनलोड करने की जरूरत होती है, जो वेब पेजों को छोटा और सुलभ रखने के एक और मौलिक वेब दर्शन के खिलाफ जाता है। बहुत से लोग अभी भी मॉडेम और धीमे उपग्रह कनेक्शन पर हैं।
maple_shaft

4
एक रूट कैनाल ऑपरेशन डोम एपीआई को और अधिक सुखद बना देगा ...
डोनल फैलो

1
@maple_shaft, यह कुछ हद तक एक विश्वसनीय तर्क है। मिनीकृत jQuery वितरण 31K है। हालांकि यह निश्चित रूप से मामला है कि वहाँ वेब पेज हैं जो विभिन्न पुस्तकालयों की एक पागल संख्या को लोड करते हैं, प्रश्न jQuery के लिए विशिष्ट है, और भद्दे प्रोग्रामर के लिए कोई लेखांकन नहीं है।
एडम क्रॉसलैंड

16

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

तब साइटें "लोकल" को पहले देख सकती थीं, सीडीएन से पहले, वेबसाइट सर्वर से खुद को डाउनलोड करने में चूक करने से पहले।

यह वही है जो हर ब्राउज़र करता है। यह पहले स्थानीय कैश की जांच करता है, फिर जरूरत पड़ने पर सीडीएन से डाउनलोड करता है। उचित कैश कॉन्फ़िगरेशन के साथ, महीनों तक सर्वर (नए संस्करण की जांच करने के लिए) के लिए कोई राउंडट्रिप भी नहीं है।

ब्राउज़र सेटअप में JQuery शामिल होगा:

  • ब्राउज़र एप्लिकेशन और सेटअप में अनावश्यक जटिलता जोड़ें,

  • प्रक्रिया को अपडेट करने के लिए अनावश्यक जटिलता जोड़ें,

  • JQuery के अप-टू-डेट संस्करण को रखने के लिए अपडेट की संख्या बढ़ाएं, यहां तक ​​कि उन लोगों के लिए भी जिन्हें इसकी आवश्यकता नहीं है,

  • भ्रम जोड़ें: क्यों JQuery और प्रोटोटाइप नहीं, या कुछ अन्य रूपरेखा, छवि, सीएसएस फ़ाइल, आदि?

  • आदि।

किसी सॉफ्टवेयर उत्पाद की जटिलता को बढ़ाना, जिसमें सुविधाओं, प्रदर्शन आदि के संदर्भ में कोई लाभ नहीं है, एक अत्यंत बुरा विचार है।


धन्यवाद। हाँ, मैं अपने प्रश्न में स्पष्ट नहीं था। मुझे पता है कि क्या होता है। मैं पहले डाउनलोड के लिए भी जरूरत को खत्म करने की बात कर रहा हूं। मैं सवाल को अपडेट करूंगा।
14:56

ब्राउज़र सेटअप :-) में शामिल करने के लिए आपके सभी कारणों के लिए धन्यवाद :-)
13

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

2
यह प्रदर्शन हिट को समाप्त नहीं करता है, लेकिन इसे पहली वेबसाइट की यात्रा से लेकर सेटअप के निष्पादन योग्य डाउनलोड तक ले जाता है, जिसका अर्थ है कि कुल मिलाकर, यह प्रदर्शन बचाने के विपरीत है। यह सीडीएन की आवश्यकता को समाप्त नहीं करता है और न ही यदि आप पुराने ब्राउज़रों और ब्राउज़रों का समर्थन करना चाहते हैं जो पिछले JQuery संस्करण की रिलीज़ के बाद से अपडेट नहीं हुए हैं।
आर्सेनी मूरज़ेंको

1
@ यदि आप इस पर आगे चर्चा करना चाहते हैं तो कृपया इसे चैट पर ले जाएं।
maple_shaft

5

यह मत भूलो कि jQuery एक js लाइब्रेरी है, ऐसा लगता है कि यह वास्तव में एक बन गया है और इसे रामबाण (SO पर यादगार बनने के बिंदु तक) के रूप में देखा जाता है, लेकिन यह सिर्फ एक js पुस्तकालय है।

सब कुछ है कि पटकथा (EMCAScript) के लिए मानकीकृत है है पहले से ही ब्राउज़र में शामिल है, कुछ और अन्य ब्राउज़रों को जोड़ा गया अमानक बन जाएगा और आप गैर मानक ब्राउज़र के लिए क्रॉस-ब्राउज़र मुद्दों (आईई घटना मॉडल की तरह पहुंचते हैं ) कि jQuery जैसी पुस्तकालयों को पहली जगह में बनाया गया है, इस कारण से प्रभावित करता है।

संक्षिप्त उत्तर: उन्हें शामिल किया जा सकता है, लेकिन उन्हें नहीं करना चाहिए।


5

ब्राउज़र कैशिंग बहुत कुछ प्रदान करता है जैसे कि आप किस बारे में बात कर रहे हैं। यह मामला होना चाहिए कि jQuery या किसी अन्य जेएस लाइब्रेरी को एक बार डाउनलोड किया जाएगा और फिर आगे के अनुरोध पर कैश से पुनर्प्राप्त किया जाएगा।

जबकि jQuery सबसे सर्वव्यापी जावास्क्रिप्ट पुस्तकालय हो सकता है, यह केवल एक ही नहीं है और यह मुझे लगता है कि इसे ब्राउज़र का एक स्थापित घटक बनाना जेएस पारिस्थितिकी तंत्र के लिए बुरा होगा। प्रतियोगिता स्वस्थ है और आम तौर पर नवाचार की ओर जाता है, और हम डेवलपर्स और सॉफ्टवेयर उपयोगकर्ताओं को jQuery को एक विशेष स्थान देकर अच्छी तरह से पेश नहीं किया जाएगा।

एक बार जब आप कैशिंग को ध्यान में रखते हैं, तो आपको जो लाभ होता है वह बहुत कम होता है। JQuery का छोटा संस्करण केवल 31K है। कुछ भी बदलने के लिए कोई तर्क नहीं है


धन्यवाद एडम - हाँ, मुझे पता है पहला डाउनलोड, कैश परिदृश्य। मेरे विचार हैं कि इसे भी बदलना है। JQuery केवल 1 उदाहरण था, लेकिन मैं प्रतियोगिता पर आपके विचारों से सहमत हूं, ऐसा लगता है कि यह मुख्य कारण हो सकता है जो मैं सुझाव देता हूं कि ऐसा न हो। इसके बाद आप "डिफ़ॉल्ट" घटक आदि के विभिन्न सेट होने विभिन्न ब्राउज़रों होगा
ozz

मैंने इस प्रश्न का उल्लेख करने के लिए अद्यतन किया है कि मुझे कैशिंग के बारे में पता है :-)
ozz
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.