JQuery बनाम AngularJS बनाम Node.js के बीच अंतर [बंद]


106

मैं अभी वेब विकास शुरू कर रहा हूं, और अब तक मैं जानता हूं:

HTML - वेबसाइट का लेआउट

सीएसएस - यह सुंदर लग रही हो

जावास्क्रिप्ट - कार्यक्षमता

फिर jQuery , AngularJS और Node.js क्या है?

त्वरित खोज करने के बाद, मैंने पाया कि jQuery एक "जावास्क्रिप्ट लाइब्रेरी" है, AngularJS "जावास्क्रिप्ट-आधारित ओपन-सोर्स फ्रंट-एंड वेब एप्लिकेशन फ्रेमवर्क" है, और नोड.जेएस "जावास्क्रिप्ट रनटाइम वातावरण" है।

वे सभी जावास्क्रिप्ट से संबंधित प्रतीत होते हैं, तो क्या वे नई भाषाएँ हैं? 'रूपरेखा / पुस्तकालय' का क्या अर्थ है?

एक सरल जवाब की सराहना की जाएगी। (मैं अभी वेब प्रोग्रामिंग शुरू कर रहा हूं, लेकिन मैं प्रोग्रामिंग से परिचित हूं)।


2
एक "लाइब्रेरी" मूल रूप से उपयोगी कार्यों का एक संग्रह है जिसे किसी और ने आपके लिए लिखा और परीक्षण किया है - jQuery जावास्क्रिप्ट कार्यों का एक संग्रह है। एक "फ्रेमवर्क" एक प्रकार का अमूर्त कार्य है जिसमें आपके लिए सामान्य एप्लिकेशन संरचना कोड लिखा गया है, और आप इसके बिट्स को अपने विशिष्ट ऐप की आवश्यकताओं के अनुसार ओवरराइड कर सकते हैं। NodeJS एक ऐसा उपकरण है जो आपको जावास्क्रिप्ट को ब्राउज़र के अलावा कहीं और चलाता है (अक्सर वेब सर्वर पर, इसलिए जावा या डॉटनेट या पीएचपी या जो भी हो)।
nnnnnn

3
तुम अच्छे रहोगे। तुम जानते हो क्यों? क्योंकि आप एक अंग्रेजी वक्ता हैं। वहाँ पहले से ही आप के लिए सामान का टन कर रहे हैं। आपको बस समय निकालने और इसे सीखने की जरूरत है। मेरे देश में, अंग्रेजी एक बड़ा मुद्दा है। मैं बहुत से लोगों को जानता हूं, संघर्षशील प्रोग्रामिंग (बहुत कुछ छोड़ दिया है और अन्य नौकरियों में बदल दिया है) सिर्फ इसलिए कि वहां अंग्रेजी अच्छी नहीं है। फिर भी, जैसा कि मैंने कहा, यह आपसे बहुत समय लेगा।
वोटशैनी

यह प्रश्न भी देखें ।
nnnnnn

जवाबों:


202

jQuery एक पुस्तकालय (ग्राहक पक्ष) है

jQuery एक तेज़, छोटा, हल्का, "कम लिखो, और करो" और सुविधा संपन्न जावास्क्रिप्ट लाइब्रेरी है।

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

AngularJS एक MVC फ्रेमवर्क (ग्राहक पक्ष) है

AngularJS एक गतिशील वेब एप्लिकेशन विकसित करने के लिए क्लाइंट-साइड जावास्क्रिप्ट MVC फ्रेमवर्क है।

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

Node.js एक प्लेटफ़ॉर्म और रनटाइम वातावरण (सर्वर साइड) है

Google Chrome के जावास्क्रिप्ट इंजन (V8 इंजन) पर निर्मित सर्वर-साइड और नेटवर्किंग अनुप्रयोगों के विकास के लिए Node.js एक खुला स्रोत, क्रॉस-प्लेटफ़ॉर्म रनटाइम वातावरण है। Node.js एप्लिकेशन जावास्क्रिप्ट में लिखे गए हैं, और OS X, Microsoft विंडोज और लिनक्स पर Node.js रनटाइम के भीतर चलाए जा सकते हैं।

Node.js विभिन्न जावास्क्रिप्ट मॉड्यूल की एक समृद्ध लाइब्रेरी भी प्रदान करता है जो Node.js का उपयोग करके वेब अनुप्रयोगों के विकास को काफी हद तक सरल करता है। Node.js एक इवेंट-चालित, गैर-अवरुद्ध I / O मॉडल का उपयोग करता है जो इसे हल्के और कुशल बनाता है, जो डेटा-गहन वास्तविक समय अनुप्रयोगों के लिए एकदम सही है जो वितरित डिवाइसों पर चलता है।

लाइब्रेरी बनाम फ्रेमवर्क

एक पुस्तकालय और एक रूपरेखा के बीच मुख्य अंतर "नियंत्रण का व्युत्क्रम" है। जब आप किसी लाइब्रेरी से कोई विधि कहते हैं, तो आप नियंत्रण में होते हैं। लेकिन एक रूपरेखा के साथ, नियंत्रण उलटा होता है: ढांचा आपको बुलाता है।

यहां छवि विवरण दर्ज करें

पुस्तकालय

फ़ंक्शन का एक संग्रह जो वेब एप्लिकेशन लिखते समय उपयोगी होता है। आपका कोड प्रभारी है और यह लाइब्रेरी में कॉल करता है जब वह फिट होता है। जैसे, jQuery।

ढांचा

वेब एप्लिकेशन का एक विशेष कार्यान्वयन, जहां आपका कोड विवरण में भरता है। फ्रेमवर्क प्रभारी है, और यह आपके कोड में तब कॉल करता है, जब इसे कुछ एप्लिकेशन-विशिष्ट की आवश्यकता होती है। जैसे, AngularJS, Durandal , Ember.js , आदि।


27

सरल शब्दों में,

  • jQuery - HTML और CSS में हेरफेर करने के लिए जावास्क्रिप्ट कार्यों का एक संग्रह है
  • AngularJS - एक जावास्क्रिप्ट फ्रेमवर्क है जो आपको HTML और CSS को व्यवस्थित करने में मदद करता है
  • Node.js- एक जावास्क्रिप्ट रनटाइम है ... आपके सर्वर या स्थानीय मशीन पर एक ब्राउज़र की तरह, लेकिन सभी ब्राउज़र रेंडरिंग इंजन और एक्स्ट्रा के बिना .. यह सिर्फ एक रनटाइम है

लाइब्रेरी बनाम फ्रेमवर्क का मुख्य अंतर सरल शब्दों में:
फ्रेमवर्क कुछ आर्किटेक्चर को लागू करता है और इसकी अपेक्षाओं पर अमल करने के लिए एप्लिकेशन की अपेक्षा करता है
लाइब्रेरी निम्न स्तर के बिल्डिंग ब्लॉक्स का एक संग्रह है जो अक्सर बहुत ही विशिष्ट समस्याओं (यानी jquery.post) को हल करने के उद्देश्य से दानेदार कार्य प्रदान करता है। समारोह)*


17

jQuery

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

AngularJS

AngularJS एक फ्रेमवर्क है जिसका उपयोग इंटरैक्टिव वेब साइट्स और वेब एप्लिकेशन के लिए फ्रंट-एंड, ग्राफिकल यूजर इंटरफेस (GUI) बनाने के लिए किया जाता है। यह एक शक्तिशाली संयोजन बनाता है जब Node.js के साथ प्रयोग किया जाता है

Node.js

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

सामान्य रूप में रूपरेखा

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

AngularJS इलेक्ट्रिक के साथ-साथ इंटीरियर डिजाइन टीम की तरह होगा, और Node.js सब कुछ होगा। Oversimplified? शायद। लेकिन आपने एक सरल स्पष्टीकरण के लिए कहा।

तो आप AngularJS और Node.js के विपरीत सोच सकते हैं, लेकिन उनका उपयोग एक साथ एक ही एप्लिकेशन या प्रोजेक्ट में किया जा सकता है। वे विभिन्न उद्देश्यों को भरते हैं, लेकिन वे इसे करने के लिए जावास्क्रिप्ट (और कुछ हद तक jQuery) का उपयोग करते हैं।


7
  • फ्रेमवर्क : इसमें दिए गए ढांचे का वर्णन है कि आपको अपना कोड कैसे प्रस्तुत करना चाहिए। किसी विशेष समस्या को हल करने / सरल बनाने या "ऑर्डर" में अपनी वास्तुकला लाने के लिए कुछ हेल्पर्स, कंस्ट्रक्टर्स आदि के साथ एक कोड-टेम्प्लेट की तरह बहुत अधिक। उदाहरण, Backbone.js , आवश्यकताएँJJ, Socket.IO । एक ढांचा सामान्य अनुप्रयोग कार्यक्षमता को कूटबद्ध करता है, जिससे डेवलपर को उन भागों पर ध्यान केंद्रित करने की अनुमति मिलती है जो उनके अनुप्रयोग के लिए अद्वितीय हैं।

  • लाइब्रेरी : एक संपूर्ण टूलकिट है जो विभिन्न परतों को ब्राउज़ करता है, जैसे कि ब्राउज़र, डोम मॉडल आदि। उदाहरण jQuery और MooTools हैं

देखो यहाँ अधिक जानकारी के लिए।


"लाइब्रेरी: एक संपूर्ण टूलकिट है" - यह देखते हुए कि यह एक बहुत छोटा टूलकिट हो सकता है यदि इसका उद्देश्य सिर्फ तारीख / समय डेटा से निपटना है।
nnnnnn

7

यहां वे दिन-प्रतिदिन अधिक लोकप्रिय हो रहे हैं:

jQuery

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

AngularJS

  • दो-तरफ़ा डेटा-बाइंडिंग: जब आप jQuery में एक सरल दो-तरफ़ा डेटा-बाइंडिंग ईवेंट लिख सकते हैं, तो जावास्क्रिप्ट MVC लाइब्रेरी आपके विचार से मॉडल को कनेक्ट करने का एक अधिक घोषणात्मक (HTML का उपयोग करके) तरीका प्रदान करती हैं।
  • एसपीए ( सिंगल-पेज एप्लिकेशन ) के लिए बढ़िया : एंगुलरजेएस , ऑरेलिया, एम्बर.जेएस , और उल्का जैसी लाइब्रेरियां jQuery में यह सब लिखने के बजाय आपके लिए सभी पाइपलाइन प्रदान करती हैं

Node.js

  • यह तेज़ है: बिजली की तेज़ जावास्क्रिप्ट निष्पादन के अलावा, Node.js के पीछे असली जादू इवेंट लूप है। इवेंट लूप एक एकल थ्रेड है जो सभी I / O ऑपरेशन को अतुल्यकालिक रूप से निष्पादित करता है। परंपरागत रूप से, I / O ऑपरेशन या तो सिंक्रोनाइज़ (ब्लॉकिंग) या असिंक्रोनस तरीके से काम करने के लिए समानांतर थ्रेड्स को बंद करके चलाते हैं।
  • रियल-टाइम मेड ईज़ी: यदि Node.js कई समवर्ती कनेक्शन पर एक्सेल करता है, तो यह समझ में आता है कि यह मल्टी-यूज़र, चैट और गेम जैसे रियल-टाइम वेब एप्लिकेशन पर एक्सेल करता है। Node.js का ईवेंट लूप मल्टी-यूज़र आवश्यकता का ध्यान रखता है।

2
"JQuery कोड की 5 लाइनें पारंपरिक जावास्क्रिप्ट कोड की 25 लाइनों के बराबर हैं" - आप क्या करने की कोशिश कर रहे हैं उसके आधार पर। कुछ कार्यों के लिए न्यूनतम अंतर है, दूसरों के लिए एक बड़ा अंतर है। "इसका मतलब है छोटी फाइलें और तेजी से लोड हो रहे वेब पेज।" - सिवाय इसके कि कोड jQuery ने आपको अपने लिए लिखने से बचा लिया है, यह सब jQuery फाइल में समाहित है जिसे ब्राउज़र में डाउनलोड करना है। तो कोड की कुल राशि शायद अधिक है।
nnnnnn

दस्तावेज़ लोड होने के दौरान उन फ़ाइलों को लोड किया जाता है। चूंकि सबसे अच्छा अभ्यास डोम लोड नहीं होने तक js का उपयोग नहीं करना है। वे आपकी क्लिक या हॉवर घटनाओं के निष्पादन की गति में कोई अंतर नहीं
डालते

अपने जवाब में आपने कहा "तेजी से लोड हो रहा है"। यह सच नहीं है, या निश्चित रूप से सार्वभौमिक रूप से सच नहीं है। फ़ाइलें जो "लोड होती हैं, जबकि दस्तावेज़ लोड होती हैं" को अभी भी डाउनलोड करना पड़ता है, और उपयोगकर्ता (पृष्ठ पर निर्भर करता है) को डाउनलोड करना होगा, इससे पहले कि उपयोगकर्ता पृष्ठ के साथ सार्थक बातचीत कर सके। (नोट: मैं यह नहीं कह रहा हूं कि jQuery एक बुरी चीज है, बस यह कि आपका विवरण सबसे अच्छा भ्रामक है।)
nnnnnn

ठीक है .. अगर आपको लगता है तो मैं तेजी से लोडिंग निकाल
दूंगा

क्या मैं JQuery और जावास्क्रिप्ट को एक ही प्रोग्राम में लिख सकता हूं
K भाजित X

6

इंटरैक्टिव वेब साइट बनाने के लिए आप HTML, CSS और जावास्क्रिप्ट का उपयोग करते हैं।

jQuery जावास्क्रिप्ट में लिखा गया एक उपकरण है।

AngularJS जावास्क्रिप्ट में लिखा गया एक उपकरण है।

प्रतिक्रिया जावास्क्रिप्ट में लिखा गया एक उपकरण है।

ये टूल आपको HTML, CSS, और JavaScript के बीच के इंटरैक्शन को अपने नियमों के अनुसार प्रबंधित करने में मदद करते हैं। एक बार जब कोई उपकरण वास्तव में बड़ा हो जाता है, तो वह अपनी विशेषताओं के आधार पर "लाइब्रेरी" या "फ्रेमवर्क" जैसे नाम ले सकता है।

हम अक्सर एक वेब ब्राउज़र में जावास्क्रिप्ट चलाते हैं। लेकिन कुछ साल पहले, Node.js नाम की यह चीज़ आई थी जिसने हमें आसानी से ब्राउज़र के बाहर जावास्क्रिप्ट चलाने की अनुमति दी। मैं इसे "एक प्रोग्राम जो ब्राउज़र के बाहर जावास्क्रिप्ट चलाता है" के रूप में सोचना पसंद करता हूं (जिसका अर्थ है ... देखने के लिए कोई HTML या CSS नहीं है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.