2012-07-20 26 views
43

संभव डुप्लिकेट:
Framework vs. Toolkit vs. Libraryजावास्क्रिप्ट ढांचे और पुस्तकालय के बीच क्या अंतर है?

मुझे पता करने के लिए JavaScript ढांचे और कुछ उदाहरण का उपयोग करते हुए एक पुस्तकालय के बीच अंतर है क्या करना चाहते हैं।

उदाहरण के लिए, jquery, backbone.js और jasmine जावास्क्रिप्ट ढांचे या पुस्तकालय हैं? और क्यों?

आप वाक्य का उपयोग कर जावास्क्रिप्ट ढांचे और एक पुस्तकालय के कुछ उदाहरण प्रदान कर सकते हैं Don't call Us, We'll call You.

+1

मुझे विश्वास नहीं है कि इसका वास्तविक जवाब है। वे ओवरलैपिंग शर्तों की तरह हैं। – Peter

+0

आम तौर पर एक "ढांचा" का अर्थ एक [विशेष] निष्पादन संदर्भ का तात्पर्य है जबकि "लाइब्रेरी" केवल कुछ बाहरी एपीआई है जिसका उपयोग किया जाता है। हालांकि, इस परिभाषा के बाद एक jQuery प्लगइन "jQuery ढांचे" का उपयोग करेगा .. किसी भी मामले में, बंद करने के लिए वोट नहीं दे रहा है क्योंकि यह नरम ज्यादातर खुले अंत प्रश्न है। –

+0

http://chat.stackoverflow.com/transcript/message/4603815#4603815 यह भी देखें http://en.wikipedia.org/wiki/Software_framework – Esailija

उत्तर

50

यहां तक ​​कि यद्यपि यह सवाल बहुत ही व्यक्तिपरक, उन दो के बारे में मेरी व्यक्तिगत राय यह है:

  • फ्रेमवर्क : यह आपके कोड को प्रस्तुत करने के "कैसे" की एक दी गई संरचना का वर्णन करता है। किसी विशिष्ट समस्या को हल/सरल बनाने या "ऑर्डर" में अपना आर्किटेक्चर लाने के लिए कुछ सहायक, कन्स्ट्रक्टर इत्यादि के साथ कोड-टेम्पलेट की तरह बहुत अधिक है। उदाहरण, "बैकबोन", "आवश्यक जेएस", "सॉकेटियो"।

  • लाइब्रेरी:, एक पूरी टूलकिट जो अत्यधिक विभिन्न परतों, ब्राउज़र/डोम मॉडल/आदि इसके अलावा एक अच्छा टूलकिट रूप में, यह उपकरण और स्वच्छ सामान का एक बहुत के साथ काम करने का आनंद ले सकते की तरह है, जो सामान्य रूप में सार है अपने कोडिंग अनुभव को सरल बनाएं। उदाहरण "jQuery", "MooTools", "YUI"

+1

+1 आपके उत्तर के लिए धन्यवाद। क्या आप वाक्य को 'हमें कॉल न करें' के संबंध में कुछ उदाहरण भी बना सकते हैं, हम आपको कॉल करेंगे। – js999

+0

या बस हम कह सकते हैं कि JQuery एक लाइब्रेरी है और JQuery मोबाइल एक ढांचा है :) – Sarath

+1

@jAndy क्यों बैकबोन प्रलेखन कहते हैं इसकी एक पुस्तकालय आप कृपया यहां समझा सकते हैं, मैं इस भ्रम को हल करने के लिए उत्सुक हूं –

0

एक JavaScript लाइब्रेरी पूर्व लिखित जावास्क्रिप्ट का एक पुस्तकालय जो जावास्क्रिप्ट आधारित आवेदनों की आसान विकास के लिए अनुमति देता है।

और कुछ जावास्क्रिप्ट पुस्तकालय, जैसे कि यूयूआई, को फ्रेमवर्क के रूप में वर्गीकृत किया जाता है क्योंकि वे सामान्य-जावास्क्रिप्ट पुस्तकालयों में पूर्ण-स्टैक क्षमताओं और गुणों को प्रदर्शित नहीं करते हैं।

0

जावास्क्रिप्ट एक स्क्रिप्टिंग भाषा है।

JQuery एक जावास्क्रिप्ट लाइब्रेरी है जो कई सामान्य रूप से उपयोग की जाने वाली सुविधाओं को संभालती है और इंटरनेट एक्सप्लोरर और मानकों-अनुरूप ब्राउज़र के बीच अंतर को भी संभालती है। वेब-आधारित एप्लिकेशन बनाते समय आप काम की मात्रा को कम करने के लिए उपयोग कर सकते हैं।

0

उन दोनों के बीच अंतर की कोई वास्तविक परिभाषा नहीं है, लेकिन आम तौर पर मैं कहूंगा कि एक ढांचा लाइब्रेरी की तुलना में अधिक सामान्य "बहु-उपकरण" चीज है, जो आमतौर पर बहुत विशिष्ट है।

उदाहरण के लिए, Sylvester एक मैट्रिक्स और वेक्टर गणित लाइब्रेरी है। यह इसकी कार्यक्षमता में बहुत विशिष्ट है।

फ्रेमवर्क जैसे Prototype दूसरी तरफ बहुत ही विशिष्ट कार्यक्षमता के सीमित सेट से कहीं अधिक प्रदान करता है। यह आंतरिक रूप से एकाधिक पुस्तकालयों का भी उपयोग या संयोजन कर सकता है।

महत्वपूर्ण: अंत में, लोगों को "रूपरेखा" और "पुस्तकालय" के रूप में वे फिट देख का उपयोग करें। दुर्भाग्य से;)

2

एक ढांचा सामान्य अनुप्रयोग कार्यक्षमता को समाहित करता है, जिससे डेवलपर अपने अनुप्रयोगों के लिए अद्वितीय भागों पर ध्यान केंद्रित कर सकता है। इसका मतलब है कि डेवलपर कोड के टुकड़े लिखता है जो विभिन्न चीजें होने पर ढांचे द्वारा बुलाया जाता है; पूर्व: backbone.js, या jasmine। पुस्तकालय कोड के संकुल हैं जो आम तौर पर आपके आवेदन द्वारा कॉल करने के लिए बुलाए जाते हैं, जैसे कि डोम मैनिपुलेशन या HTTP अनुरोध। पूर्व: jQuery

29

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

इस संबंध में:

  • jQuery एक पुस्तकालय है क्योंकि यह ब्राउज़र असंगतियां का एक बहुत सार लेकिन अपने कोड पर कोई संरचना लगाता है।
  • underscore.js एक लाइब्रेरी है क्योंकि यह डेटा संरचनाओं और अन्य उपहारों में हेरफेर करने के लिए उपयोगिता का संग्रह है।
  • backbone.js एक ढांचा है क्योंकि यह एमवीसी पैटर्न से मेल खाने के लिए आपके फ्रंट एंड कोड को संरचित करता है।
  • Jasmine एक ढांचा है क्योंकि यह आपके कोड को संरचित करता है ताकि आप आसानी से बीडीडी कर सकें।

आपके द्वारा सुझाए गए उदाहरण के बारे में, चौखटे, don't call us प्रतिमान फिट क्योंकि उनमें से ज्यादातर कोड के प्रवाह (inversion of control किसी प्रकार का) लागू। आप पुस्तकालयों को कॉल करते हैं, वे आपका कोड नहीं कहते हैं।

यह एक व्यक्तिपरक राय है, इसलिए इसे इस तरह ले लें।

+1

+1 आपके उत्तर के लिए धन्यवाद जो बहुत स्पष्ट है और मेरे प्रश्न का उत्तर देता है। – js999

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