2011-03-27 26 views
8

मेरा प्रश्न बहुत आसान है, और मुझे एक साधारण उदाहरण के साथ एक स्पष्ट जवाब चाहिए।एपीआई बनाम टूलकिट बनाम फ्रेमवर्क बनाम लाइब्रेरी

एपीआई, टूलकिट, फ्रेमवर्क और लाइब्रेरी के बीच मुख्य अंतर क्या है?

उत्तर

5

यह हमेशा मेरी समझ कर दिया गया है, तो आप कोई संदेह नहीं है इस विषय पर राय भिन्न देखेंगे:

API (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस) - की अनुमति देता है आप एक स्टैंड-अलोन fasion में एक पहले से ही कार्यात्मक आवेदन में कोड का उपयोग करें।

फ्रेमवर्क - कोड जो आपको एक निश्चित कार्य/अनुप्रयोग प्रकार के लिए आधार वर्ग और इंटरफेस देता है, आमतौर पर एक डिजाइन पैटर्न के रूप में। (हमेशा नहीं हालांकि)

लाइब्रेरी - संबंधित कोड है कि अपनी इच्छा से अंदर और बाहर बदली जा सकती है, एक वर्ग स्तर

टूलकिट में कार्यों को पूरा करने के लिए - संबंधित कोड है कि एक घटक के स्तर पर कार्यों को पूरा करने के लिए इस्तेमाल किया जा सकता।

0

उन शर्तों को कभी-कभी गलत तरीके से बदल दिया जाता है।

इसी प्रकार के पदों, पढ़ें:

What is the major difference between a framework and a toolkit?

Framework vs. Toolkit vs. Library

मैं मॉड्यूल या नाम स्थान के उपनाम के रूप में एक पुस्तकालय कॉल करने के लिए पसंद करते हैं। टूलकिट और एपीआई। आमतौर पर एक आम कार्य के लिए पुस्तकालयों का एक सेट है। Altought, एपीआई। ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग की तुलना में प्रक्रियात्मक प्रोग्रामिंग के लिए अधिक उपयोग किया जाता है।

6

मैं निम्नलिखित पसंद करते हैं:

  1. एक एपीआई है कैसे एक आवेदन का उपयोग करने के एक सार विवरण। उदाहरण के लिए, एक एपीआई एक चैट सर्वर के फ़ंक्शन सिंटैक्स (घोषणा) का वर्णन कर सकता है। यानी लॉगिन, publ_message, subscribe_messages। और, यह एप्लिकेशन का उपयोग करने के लिए किसी भी प्रोटोकॉल का वर्णन करता है। यानी संदेशों को भेजने या प्राप्त करने से पहले लॉगिन करना होगा, या संदेश भेजने या प्राप्त करने पर 2 मिनट के बाद ग्राहकों को छोड़ दिया जाता है।
  2. लाइब्रेरी एक एपीआई का कार्यान्वयन है, इसमें संकलित कोड शामिल है जो कार्यों और प्रोटोकॉल को लागू करता है (उपयोग स्थिति को बनाए रखता है)।
  3. टूलकिट पुस्तकालयों (एपीआई) का एक सेट है और डेवलपर्स को संभावित समाधानों की एक विस्तृत श्रृंखला के साथ प्रदान करने के लिए एक साथ समूहित किया गया है। उदाहरण के लिए, ग्लोबस टूलकिट सेवाएं प्रदान करता है (जैसे फ़ाइल ट्रांसफरिंग, जॉब सबमिशन और शेड्यूलिंग) जो एक डिलीपर अपने सर्वर पर स्थापित और प्रारंभ कर सकता है। वे एपीआई को ऐसे अनुप्रयोग बनाने के लिए भी प्रदान करते हैं जो एक एकीकृत फैशन में तैनात सेवाओं का उपयोग कर सकते हैं। उदाहरण के लिए, डेवलपर एक प्रोग्राम बना सकता है जो जॉब सबमिशन एपीआई का उपयोग जॉब सबमिशन सर्विस के साथ संवाद करने के लिए करता है।
  4. एक फ्रेमवर्क दिशानिर्देशों का एक सेट है जो अनुचित उपयोग या विकास को रोकता है। डेवलपर को ढांचे के नियमों और सीमाओं के भीतर अपने अनुप्रयोगों का निर्माण करना चाहिए। यह डेवलपर को नए सॉफ्टवेयर को विकसित करने के लिए मौजूदा ढांचे का विस्तार करने के लिए मजबूर कर दिया जाता है। ढांचे को विस्तारित करके, आप ढांचे को पालन करने के लिए मजबूर करते हैं।

मैं यह नहीं कह रहा कि ये पूरी तरह से सही हैं, लेकिन यह मेरे लिए अभी तक ठीक काम करता है!

0

एपीआई (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस) एक शब्द है जिसका अर्थ है लाइब्रेरी में फ़ंक्शन/विधियां जिन्हें आप कॉल करने के लिए कह सकते हैं - लाइब्रेरी में इंटरफ़ेस।

टूलकिट एक एसडीके की तरह है - यह उपकरण (और अक्सर कोड लाइब्रेरीज़) का एक समूह है जिसका उपयोग आप किसी डिवाइस या सिस्टम तक पहुंचने में आसान बनाने के लिए कर सकते हैं।

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

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

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