यहाँ, jquery को फ्रेमवर्क श्रेणी के अंतर्गत उल्लिखित किया गया है: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
क्या जावास्क्रिप्ट एक जावास्क्रिप्ट लाइब्रेरी या ढांचा है?
यहाँ, jquery को फ्रेमवर्क श्रेणी के अंतर्गत उल्लिखित किया गया है: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
क्या जावास्क्रिप्ट एक जावास्क्रिप्ट लाइब्रेरी या ढांचा है?
जवाबों:
एक पुस्तकालय। मुखपृष्ठ के अनुसार , और जिसके साथ मैं सहमत हूं।
एक ढांचा एक ऐसी चीज है जो आमतौर पर एक समाधान को लागू करने का एक निश्चित तरीका है, जबकि jQuery लागू करने के लिए एक उपकरण है जो आप आसान करना चाहते हैं।
निश्चित रूप से, यह एक जावास्क्रिप्ट पुस्तकालय है। लेकिन एक ढांचा होने या न होने के बारे में, मुझे लगता है कि यह एक ढांचा नहीं है। सॉफ्टवेयर-ढांचे की विकिपीडिया परिभाषा पर एक नजर :
यह एक परिभाषित अनुप्रयोग प्रोग्रामिंग इंटरफ़ेस प्रदान करने वाले सॉफ्टवेयर पुस्तकालयों का एक संग्रह है।
और jQuery सिर्फ एक पुस्तकालय है। उसके बाद यह कहता है:
चौखटे में मुख्य विशिष्ट विशेषताएं हैं जो उन्हें सामान्य पुस्तकालयों से अलग करती हैं:
- नियंत्रण का उलटा - एक ढांचे में, पुस्तकालयों या सामान्य उपयोगकर्ता अनुप्रयोगों के विपरीत, समग्र कार्यक्रम के नियंत्रण का प्रवाह कॉलर द्वारा निर्धारित नहीं किया जाता है, लेकिन फ्रेमवर्क द्वारा।
इसलिए, मुझे लगता है कि यह कोई रूपरेखा नहीं है।
एंगुलरजस वेब साइट के अनुसार
- एक पुस्तकालय - वेब ऐप लिखते समय उपयोगी कार्यों का एक संग्रह। आपका कोड प्रभारी है और यह लाइब्रेरी में कॉल करता है
वह फिट होता है। जैसे, jQuery।- चौखटे - एक वेब अनुप्रयोग का एक विशेष कार्यान्वयन, जहां आपका कोड विवरण में भरता है। फ्रेमवर्क आवेश में है और यह आपके कोड में तब कॉल करता है, जब इसे किसी विशिष्ट एप्लिकेशन की आवश्यकता होती है। जैसे, दुर्दांत, अंगारा इत्यादि।
जरूरी नहीं कि फ्रेमवर्क और लिबेर्री परस्पर अनन्य शब्द हों। आमतौर पर फ्रेमवर्क एक लिबरी या पुस्तकालयों का संग्रह है।
कड़ाई से बोलना, jQuery एक पुस्तकालय है, लेकिन, एक हद तक, यह एक सॉफ्टवेयर ढांचे की परिभाषा को पूरा करता है। हालांकि कई लोग यह तर्क देंगे कि jQuery एक सॉफ्टवेयर फ्रेमवर्क की परिभाषा को पूरी तरह से पर्याप्त रूप से पूरा नहीं करता है, तथ्य यह है कि कोई भी अन्य जावास्क्रिप्ट फ्रेमवर्क पूरी तरह से एक फ्रेमवर्क की परिभाषा को पूरा नहीं करता है।
एक सॉफ्टवेयर ढांचे की परिभाषित विशेषताओं में से एक यह है कि इसका कोड संशोधनों से सुरक्षित है। जावास्क्रिप्ट में, यह स्पष्ट रूप से मामला नहीं है। कोई भी लाइब्रेरी या फ्रेमवर्क जिसे आपके क्लाइंट-साइड कोड में कहा जा सकता है, परिवर्तनीय हैं, हालांकि उन्हें बदलने के लिए सर्वोत्तम प्रथाओं के खिलाफ होगा। इसलिए, अगर बूटस्ट्रैप या AngularJS को एक फ्रेमवर्क के रूप में कॉल करने की अनुमति है, तो ऐसा कोई कारण नहीं है कि jQuery को फ्रेमवर्क भी नहीं कहा जा सकता है। इस लिंक में अधिक विस्तृत विवरण शामिल है कि कैसे jQuery को एक फ्रेमवर्क कहा जाने वाला मानदंड पूरा करता है।
शायद jQuery क्यों एक पुस्तकालय की तुलना में एक फ्रेमवर्क से अधिक है, इसका सबसे अच्छा तथ्य यह है कि एक डेवलपर के रूप में, आप इसकी किसी भी रूपरेखा जैसी कार्यक्षमता का उपयोग नहीं करने का विकल्प चुन सकते हैं। उदाहरण के लिए, आप एक ही लाइन पर एक मानक जावास्क्रिप्ट स्टेटमेंट के साथ एक साधारण jQuery स्टेटमेंट मिक्स कर सकते हैं। AngularJS और बूटस्ट्रैप आमतौर पर आपको ऐसा करने की अनुमति नहीं देते हैं। इसलिए, सटीक उत्तर कि क्या jQuery एक फ्रेमवर्क है या नहीं "यह निर्भर करता है कि आपने इसे फ्रेमवर्क के रूप में उपयोग करना चुना है या नहीं"।
मैं यहां सभी उत्तरों से सहमत हूं कि jQuery वास्तव में एक पुस्तकालय है, न कि एक रूपरेखा। जैसा कि सईद के उत्तर द्वारा निर्दिष्ट किया गया है, महत्वपूर्ण विशिष्ट विशेषताओं में से एक नियंत्रण का उलटा है। हालाँकि आप स्वयं की रूपरेखा बनाने के लिए jQuery की कार्यक्षमता का उपयोग कर सकते हैं।
उदाहरण: jQuery के शीर्ष पर निर्मित परियोजनाएं हैं जिन्हें फ्रेमवर्क के रूप में परिभाषित किया गया है: jQuery मोबाइल: कुछ को नाम देने के लिए एक टच-अनुकूलित वेब फ्रेमवर्क , JavaScriptMVC और sammy.js ।
JQuery के शीर्ष पर निर्मित अन्य पुस्तकालय भी हैं, जैसे jQuery UI
इसमें से कुछ शब्दार्थों की तरह लगता है, जो परिभाषित करता है कि एक पुस्तकालय बनाम एक रूपरेखा क्या है, लेकिन वे उदाहरण मेरे लिए रेखा खींचने में मदद करते हैं।
यदि हम नियंत्रण के व्युत्क्रम के बारे में बात करते हैं, जो कि उपरोक्त थ्रेड में लगभग सभी लोग बात करते हैं तो jQuery एक फ्रेमवर्क है।
इसे IOC मिला है, जैसे कि जब हम फ़ंक्शन $ (डॉक्यूमेंट) लिखते हैं। पहले से ही {} ... यह कंटेनर है जो इस विधि को कॉल करता है और हम बस हमारे कोड को ब्रेस के अंदर डालते हैं। हम इस पद्धति के कॉलर नहीं हैं और इसलिए "नियंत्रण का व्युत्क्रम"
इस तरह jQuery एक फ्रेमवर्क है।
ready()।