2010-04-01 7 views
8

आखिरकार मुझे लगता है कि jQuery धीरे-धीरे जेएस पुस्तकालयों में डिफैक्टो मानक बन रहा है (मैं गलत हो सकता हूं!), या कम से कम यह ढांचे के बाकी हिस्सों की तुलना में अधिक सक्रिय है।क्या मैं प्रोटोटाइप से jquery तक ले जाऊंगा?

उदाहरण के लिए, मैं कंपोनेंट जैसे एक अच्छे ओपन सोर्स कैलेंडर की तलाश में हूं और http://fullcalendar.vinsol.com/ जो jQuery पर आधारित है।

हम बहुत कम चीजों के लिए प्रोटोटाइप का उपयोग कर गया है, इसका चयनकर्ता क्षमताओं की तरह (document.getElementById के लिए एक शॉर्टकट के रूप $ समारोह, मुख्य रूप से), जे एस के कुछ टुकड़े को क्रियान्वित करने, जब पेज लोड और कुछ बहुत ही सरल अजाक्स कॉल जारी करने के लिए।

तो मुझे लगता है कि माइग्रेशन काफी आगे होना चाहिए, लेकिन मैं प्रोटोटाइप से jQuery तक माइग्रेट करने के पेशेवर/विपक्ष को जानना चाहता हूं।

दूसरी तरफ, मुझे लगता है कि उनमें से दोनों एक साथ एक अच्छा विकल्प नहीं है, विशेष रूप से ध्यान में रखते हुए कि माइग्रेशन काफी सरल होना चाहिए। क्या मैं सही हू?

संपादित करें: कुछ उपयोगी संसाधन:

उत्तर

9

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

  • JQuery तेजी है: यहाँ क्यों है। प्रोटोटाइप में सभी प्रदर्शन तुलना मैंने देखा है (यादृच्छिक पिक here)। मेरे पास एक लंबे समय से व्यक्तिपरक प्रभाव भी है कि प्रोटोटाइप के प्रभाव समग्र रूप से धीमी हैं, खासकर पुरानी मशीनों पर।

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

मेरी केवल नापसंद है:

  • JQuery कोड भयानक लग जाता है। मुझे JQuery और उसके दर्शन बहुत बहुत पसंद हैं, लेकिन मैं अक्सर से नफरत कोड देख रहा हूं। अगर कोई JQuery की बोली के साथ आया जो सादे वेनिला जावास्क्रिप्ट के रूप में सुंदर और संरचित दिखता है, तो मैं खुशी से बोर्ड पर रहूंगा। :)

पुन टिप्पणियाँ: मैं jQuery के कोडिंग शैली के बारे में पसंद नहीं है क्या के बारे में अतिरिक्त स्पष्टीकरण।

एक शब्द में: ब्रैकेट्स। उनमें से हजारों और हजारों :)

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

हालांकि विधि, हालांकि, @noah, और नए .delay() जैसी सामग्री या उसका नाम क्या था, मुझे लगता है कि पूरी तरह से चट्टान है। मैं इसके खिलाफ कुछ नहीं कह रहा हूँ।

+0

बहस नहीं कर रहा है, बस उत्सुक है कि कोड के कौन से पहलू आपको पसंद नहीं हैं? –

+0

या तो बहस नहीं कर रहा है: लेकिन मुझे आश्चर्य है कि पॉल प्रतीत होता है :) – Matt

+0

क्या आपका मतलब है कि आपको jQuery का उपयोग करके लिखित कोड पसंद नहीं है? उदाहरण के लिए, विधि चेनिंग और वह सब? – noah

6

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

+1

लेकिन साथ ही, मुझे नहीं लगता कि प्रोटोटाइप के साथ आप कुछ भी कर सकते हैं जिसे आप jQuery (अभ्यास में) के साथ नहीं कर सकते हैं। हाँ, कुछ विनिर्देश हैं जो सीधे अनुवाद नहीं करते हैं, लेकिन मुझे अभी तक किसी भी मुद्दे पर भागना नहीं है जिसने मुझे प्रोटोटाइप पर वापस भेज दिया है। – dclowd9901

+1

सहमत हुए, बस यह कहें कि यदि आपको क्रॉस-ब्राउजर डीओएम मैनिप और एजेक्स के लिए जेएस लिब की ज़रूरत है, तो jquery (IMHO) सबसे अच्छा विकल्प है। –

4

आप दोनों एक साथ इनका उपयोग कर सकते हैं। JQuery लोड के बाद बस jQuery.noConflict(); पर कॉल करें। फिर आपको $("whatever") के बजाय jQuery("whatever") लिखना होगा। प्रोटोटाइप बहुत सारी कार्यक्षमता प्रदान करता है जो jQuery नहीं करता है।

हालांकि, प्रोटोटाइप रास्ते पर है। jQuery अब राजा है, और कुछ अच्छे अच्छे कारणों से। यदि आप नवीनतम प्लगइन्स और विजेट चाहते हैं, तो jQuery उनके पास होगा।

Underscore.js ऑब्जेक्ट प्रोटोटाइप और वैश्विक नामस्थान के साथ गड़बड़ न होने पर प्रोटोटाइप के समान कार्यक्षमता प्रदान करता है। अंडरस्कोर प्लस jQuery को प्रोटोटाइप से सीधे सीधे आगे बढ़ना चाहिए।

+0

कि Underscore.js दिलचस्प लग रहा है! लिंक के लिए धन्यवाद। –

2

मैं 2006 से प्रोटोटाइप का उपयोग कर रहा हूं और मैं बदसूरत कोड के बारे में पेक्का की भावनाओं को प्रतिबिंबित करता हूं। प्रोटोटाइप अधिक सुरुचिपूर्ण है।

मैं प्रोटोटाइप (+ स्क्रिप्चुअल) समुदाय का एक सशक्त समर्थक रहा हूं लेकिन दुख की बात है, प्रोटोटाइप दिमाग और बाजार हिस्सेदारी खो रहा है। करियर को jQuery को जानने पर बनाया जा सकता है, प्रोटोटाइप के लिए इतना नहीं।

ऐसा लगता है कि jQuery लोग प्लग-इन का उपयोग करके खुश होने लगते हैं, बिना यह जानते हुए कि वे कैसे काम करते हैं, जबकि प्रोटोटाइप लोग अधिक कठिन-कोर प्रोग्रामर प्रतीत होते हैं और उन्हें स्वयं की आवश्यकता होती है।

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

फ्रेमवर्क लक्ष्य को आगे बढ़ा रहे हैं, कभी-कभी गति और सुविधाओं के मामले में एक दूसरे को छलांग लगाते हैं। सभी में सुधार जारी है। एक्स एक्स से बेहतर है 0 से अधिक

मुझे लगता है कि प्रोटोटाइप की बचत अनुग्रह Scripty2 हो सकती है। यह प्रोटोटाइप का उपयोग कर एक अद्भुत नया एनीमेशन इंजन है। यदि वह कैच करता है (और इसे बाजार में बनाता है, यह बीटा में भी नहीं है) प्रोटोटाइप में रुचि में पुनरुत्थान हो सकता है। इसके अलावा मुझे लगता है कि इसमें हमेशा समर्थक होंगे, लेकिन मुख्यधारा से दूर हो जाएंगे।

+0

मैंने थोड़ी देर के लिए प्रोटोटाइप का उपयोग किया है और मुझे वास्तव में यह पसंद है लेकिन विगेट्स और प्लगइन्स जो अन्य ढांचे (जैसे jquery और dojo) हैं, मेरी कंपनी को अन्य ढांचे में से एक के पक्ष में प्रोटोटाइप छोड़ने के लिए प्रेरित कर रहे हैं। – tmeisenh

0

मुझे लगता है कि Microsoft has integrated it into the ASP.NET Ajax Framework jQuery के लिए दुनिया बोलता है।मेरा वर्तमान नियोक्ता पिछले साल इस पर मानकीकृत था और मुझे विशेष रूप से jQuery और किसी अन्य लाइब्रेरी के लिए पूछने के लिए और अधिक नौकरी पोस्टिंग मिल सकती है।

4

सीधे अपने प्रश्नों के उत्तर देने के लिए: हाँ, आपको स्विच करना चाहिए। और हाँ, आप सही हैं।

मुझे पता है कि आपने कहा है कि आपको ब्रैकेट पसंद नहीं हैं ... क्या आप प्रोटोटाइप कोड का एक स्निपेट प्रदान कर सकते हैं जिसे आप सुंदर मानते हैं (मैं jQuery के साथ इसे तुलना में बदल सकता हूं)?

0

मुझे लगता है कि आपको चाहिए। मैं धार्मिक रूप से jquery का उपयोग करता हूं, और मैं जावास्क्रिप्ट प्रो नहीं हूं। मुझे लगता है कि यह उपयोग की आसानी है, इसके बारे में सबसे शक्तिशाली चीजों में से एक है।

2

यदि आप कोई अन्य नौकरी पाने की परवाह करते हैं तो शायद JQuery पर जाएं। यदि आप प्रोटोटाइप के साथ सुंदर, सहज ज्ञान युक्त जावास्क्रिप्ट स्टिक की परवाह करते हैं - यह दूर नहीं जा रहा है!

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