2015-08-29 4 views
10

मुझे किसी साइट पर काम कर रहा हूँ जहाँ हम jQuery-ui से स्लाइड समारोह का उपयोग कर रहे हैं।उपयोग गूगल jQuery यूआई के jQuery ui को या स्वयं मेजबान कस्टम डाउनलोड की मेजबानी?

jQuery-ui की Google द्वारा होस्ट minified संस्करण का वजन 63KB - इस पूरे पुस्तकालय के लिए है। केवल स्लाइड फ़ंक्शन का कस्टम डाउनलोड 14 केबी वजन का होता है।

जाहिर है यदि कोई उपयोगकर्ता कैश की गई है गूगल संस्करण इसकी एक नहीं brainer की मेजबानी की, लेकिन यह अब के रूप में मैं कस्टम jQuery ui को स्लाइड समारोह मेरी main.js के अंदर सिर्फ गांठ सकता है ले जाएगा यदि वे नहीं है लोड करने के लिए फ़ाइल।

मुझे लगता है कि यह jquery-ui का उपयोग करने वाली कई अन्य साइटों के लिए आता है (यदि यह केवल सामान्य jquery के लिए था, तो यह कोई ब्रेनर नहीं होगा क्योंकि साइटों का भार jquery का उपयोग करता है, लेकिन मैं थोड़ा अनिश्चित हूं jQuery-ui) के उपयोग ... प्रति

मैं बाहर काम नहीं कर सकता उपरोक्त परिदृश्य में क्या करना सबसे अच्छी बात है क्या?

+0

मैं इस विषय पर एक विशेषज्ञ नहीं हूं, लेकिन दिलचस्प सवाल है। मेरा आंत मुझे Google सीडीएन के साथ जाने के लिए कहता है। भले ही फ़ाइल बड़ी हो, फिर भी यह संभव है कि यह पूरी दुनिया में Google सर्वर की उपलब्धता और विश्वसनीयता की वजह से तेज़ी से डाउनलोड हो जाए। और जैसा कि आपने पहले ही उल्लेख किया है, एक और बिंदु, उपयोगकर्ता के पास jquery-ui कैश किए गए पहले से ही Google सीडीएन संस्करण हो सकता है। यहां एक लिंक है जो मैंने पाया और टिप्पणी करने से पहले पढ़ा कि इसमें कुछ उपयोगी जानकारी थी। [3 कारणों से आपको Google होस्ट jquery क्यों देना चाहिए] (http://encosia.com/3-reasons-why-you-should-let-google-host-jquery-for-you/) – Trevor

+0

ईमानदार होने के लिए, Google सीडीएन के माध्यम से 63 केबीईटी लोड करने और आपकी वेबसाइट से 14 केबीईटी के बीच गति में अंतर लगभग लापरवाही है। अगर मैं आप थे तो मैं खुद से पूछूंगा कि अगर jQuery यूआई का सही संस्करण Google या अपनी वेबसाइट के साथ आसान है, लेकिन निश्चित रूप से यह नहीं कि Google से 63 केबी आपकी वेबसाइट से 13 केबी से तेज़ी से लोड हो जाएंगे। –

उत्तर

4

मैं कहना चाहते हैं, तो कस्टम चयनात्मक निर्माण छोटे, दोनों बिल्कुल और अपेक्षाकृत, यह है कि एक अच्छा कारण है कि पथ का चयन करने के लिए है।

  1. लोड हो रहा है:: - प्राप्त कर रहा है अनुरोध/प्रतिक्रिया संचार या, एक कैश हिट के मामले में

    एक जावास्क्रिप्ट संसाधन लोड हो रहा है कई निहितार्थ, घटनाओं की निम्न क्रम में है। ध्यान रखें कि सीडीएन या नहीं, संचार केवल पहले पृष्ठ को प्रभावित करता है। आपकी साइट (के रूप में एसपीए के और पसंद के खिलाफ) एक पारंपरिक "पूरे पृष्ठ का अनुरोध" शैली में बनाया गया है, तो यह सचमुच एक गैर मुद्दा बन जाता है।

  2. पार्स: जे एस इंजन पूरे संसाधन पार्स करने के लिए की जरूरत है।
  3. निष्पादित: जे एस इंजन पूरे संसाधन निष्पादित करता है। इसका मतलब है कि किसी भी प्रारंभिक/लोडिंग कोड को निष्पादित किया जाता है, भले ही वह उन सुविधाओं के लिए प्रारंभिक हो जो होस्टिंग पृष्ठ में उपयोग नहीं किए जाते हैं।
  4. मेमोरी उपयोग: स्मृति उपयोग पूरे संसाधन पर निर्भर करता है। इसमें स्थैतिक वस्तुओं के साथ-साथ कार्य (जो वस्तुएं भी हैं) शामिल हैं।

इस बात को ध्यान में रखते हुए, एक छोटा संसाधन होने से सरल लोडिंग से परे तरीकों से लाभकारी होता है। और भी, संचार के संदर्भ में ऐसे छोटे संसाधन के लिए अनुरोध नगण्य है। आप इस बारे में दो बार भी नहीं सोचेंगे कि यह स्क्रीन के नीचे कहीं भी कंपनी लोगो का एक छोटा संस्करण था जहां कोई भी नोटिस नहीं करता था।

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

+1

मैं इस उत्तर के साथ जाऊंगा, और जोड़ूं कि एक सीडीएन का उपयोग करने से पहले पृष्ठ लोड पर केवल _possible_ लाभ हो सकता है; उसके बाद, संसाधन को कैश किया जाता है और डिस्क से लोड किया जाता है, इससे कोई फर्क नहीं पड़ता कि यह किस साइट से आया था। – Kenney

+0

@ केनी - हाँ यह एक अच्छा बिंदु भी है। – Amit

2

गूगल के साथ जाओ संस्करण

  1. यह संभावना है कि उपयोगकर्ता हाल ही में होता है एक वेबसाइट को लोड करता है कि jQuery-यूआई गूगल सर्वरों पर होस्ट का दौरा किया है की मेजबानी की।
  2. यह आपके सर्वर से लोड हो जाएगा और अन्य तत्वों को तेज़ी से लोड कर देगा।
  3. ब्राउज़र एक डोमेन से संसाधनों की एक निश्चित संख्या लोड करते हैं। Google सर्वर से jQuery-UI लोड करना सुनिश्चित करेगा कि यह आपके सर्वर पर मौजूद अन्य संसाधनों के साथ समवर्ती रूप से डाउनलोड किया गया है।
2

याहू डेवलपर नेटवर्क एक सीडीएन का उपयोग करने की सिफारिश करता है। उनके पूर्ण कारण यहां पोस्ट किए गए हैं। https://developer.yahoo.com/performance/rules.html

उनकी साइट से यह उद्धरण वास्तव में इसे मेरे दिमाग में सील करता है। "एकाधिक, भौगोलिक रूप से फैले हुए सर्वरों पर आपकी सामग्री को तैनात करने से आपके पृष्ठ उपयोगकर्ता के परिप्रेक्ष्य से तेज़ी से लोड हो जाएंगे।"

0

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