लाइब्रेरी, फ्रेमवर्क और एपीआई के बीच अंतर क्या है? वे सभी मुझे एक जैसे लगते हैं। मैं इस बारे में लोगों को सुनना पसंद करूंगा।
लाइब्रेरी, फ्रेमवर्क और एपीआई के बीच अंतर क्या है? वे सभी मुझे एक जैसे लगते हैं। मैं इस बारे में लोगों को सुनना पसंद करूंगा।
जवाबों:
एक पुस्तकालय कार्यों / वस्तुओं का एक संग्रह है जो एक विशेष उद्देश्य को पूरा करता है। आप विभिन्न परियोजनाओं में एक पुस्तकालय का उपयोग कर सकते हैं।
एक ढांचा एक आवेदन के निर्माण में मदद करने के लिए पैटर्न और पुस्तकालयों का एक संग्रह है।
एक एपीआई अन्य कार्यक्रमों के लिए एक कार्यक्रम है जो सीधे पहुंच के बिना आपके कार्यक्रम के साथ बातचीत करने के लिए है।
इसे दूसरे तरीके से रखने के लिए, किसी लाइब्रेरी को एक एप्लीकेशन के ऐड-ऑन / पीस, एप्लीकेशन के कंकाल के रूप में एक फ्रेमवर्क और एक एपीआई को आउट-फेसिंग ऐप के रूप में देखें।
अब तक के अच्छे उत्तर लेकिन वे एक महत्वपूर्ण बिंदु को याद करते हैं - एक फ्रेम IoC का उपयोग करता है । आपका कोड एक ढांचे से घिरा हुआ है। इसके अंदर रहता है। इसके विपरीत, आपका कोड सिर्फ एक पुस्तकालय या एपीआई का उपयोग करता है। इसके बाहर रहता है। आईओसी अंतर है।
एक पुस्तकालय आम कार्यों को करने के लिए निर्मित कोड का एक संग्रह है। लाइब्रेरी कोड अपेक्षाकृत स्थिर और बग मुक्त होता है। उपयुक्त पुस्तकालयों का उपयोग कोड की मात्रा को लिखे जाने की आवश्यकता को कम कर सकता है। यह एक एप्लीकेशन के लिए कोड काउंट्स की लाइन को कम करने की प्रवृत्ति को बढ़ाएगा, जिस पर कार्यक्षमता वितरित की जाती है। ज्यादातर मामलों में, अपने खुद के कोड को लिखने की तुलना में लाइब्रेरी रूटीन का उपयोग करना बेहतर होता है।
एक एपीआई (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस) कुछ कार्यक्षमता के लिए इंटरफ़ेस है जो एप्लिकेशन को उपलब्ध कार्यक्षमता तक पहुंचने की अनुमति देता है। एक एपीआई को एक इंटरफ़ेस के रूप में संदर्भित किया जा सकता है। API सिस्टम, लाइब्रेरी, फ्रेमवर्क, प्रोग्राम और एप्लिकेशन सहित कई स्तरों पर मौजूद है। कोड लागू करने से पहले एपीआई को परिभाषित किया जाना चाहिए।
एपीआई स्थिर होना चाहिए, हालांकि एपीआई के कुछ हिस्सों को विभिन्न कारणों से हटाया जा सकता है। जितना अधिक व्यापक रूप से एपीआई का उपयोग किया जाता है उतना ही इसे बदलना मुश्किल होता है। सबसे अधिक अगर जावा 1.0 एपीआई के सभी अभी भी उपलब्ध नहीं हैं, हालांकि कई तरीकों को हटा दिया गया है।
एक फ्रेमवर्क एपीआई का एक संग्रह है जो अनुप्रयोगों के निर्माण को सरल बनाने के लिए डिज़ाइन किया गया है। चौखटे पुन: प्रयोज्य घटकों के लिए कार्यान्वयन प्रदान करते हैं। अच्छी रूपरेखा उनके आवेदन में विशिष्ट होती है।
जावा कलेक्शंस फ्रेमवर्क विभिन्न प्रकार की वस्तुओं के लिए एपीआई का एक संग्रह है जिसका उपयोग संग्रह को संभालने के लिए किया जा सकता है। यह विभिन्न संग्रह के लिए एपीआई की पदानुक्रम प्रदान करता है। Java कलेक्शंस फ्रेमवर्क में SortedSet इंटरफ़ेस सेट इंटरफ़ेस को बढ़ाता है जो बदले में Collection इंटरफ़ेस को बढ़ाता है। ये API अमूर्त इंटरफेस हैं, और वास्तविक कार्यान्वयन के अलग-अलग नाम हैं। संग्रह फ्रेमवर्क कार्यान्वयन को सरल बनाता है, और विकास के दौरान कार्यान्वयन को सरल बनाता है।
फ्रेमवर्क छोटे फ्रेमवर्क से बनाया जा सकता है जैसा कि J2EE विकास में लक्षित जावा स्प्रिंग फ्रेमवर्क में देखा गया है। वसंत में एक दर्जन से अधिक चौखटे होते हैं, जिनमें से कई का उपयोग अपने दम पर किया जा सकता है या अन्य रूपरेखाओं द्वारा प्रतिस्थापित किया जा सकता है।
उचित पुस्तकालयों, एपीआई, और चौखटे का उपयोग विकास को आसान बना सकता है। ये घटक सामान्य मुद्दों का ध्यान रखते हैं, और विकास टीम को एप्लिकेशन विशिष्ट मुद्दों पर ध्यान केंद्रित करने की अनुमति देते हैं।
एक ढांचा पुस्तकालय से एक कदम ऊपर है। यदि आपका टूलबॉक्स एक पुस्तकालय है तो आपकी कार्यशाला एक रूपरेखा होगी।
विकिपीडिया कहता है
एक एपीआई एक अमूर्त है जो एक सॉफ्टवेयर सिस्टम के घटकों द्वारा उपयोग किए जाने वाले कार्यों के एक सेट के साथ बातचीत के लिए एक इंटरफ़ेस का वर्णन करता है
एक एपीआई और एक यूजर इंटरफेस के बीच महत्वपूर्ण अंतर यह है कि एक एपीआई अन्य सॉफ्टवेयर / सेवाओं को आपके समाधान के साथ प्रोग्राम करने की सुविधा देता है।
API को एप्लिकेशन (dll या प्लग इन के माध्यम से) या वेबसाइटों और सेवाओं (REST और webservices के माध्यम से) के लिए बनाया जा सकता है
एपीआई परिभाषित करते हैं कि किसी स्रोत से वस्तुओं और विधियों का उपयोग कैसे किया जा सकता है। उदाहरण के लिए, ट्विटर या फेसबुक को एक साइट में एकीकृत करना उचित डेटा को अपडेट करने के लिए ट्विटर या फेसबुक से एपीआई का उपयोग करता है।
फ्रेमवर्क एक मायने में थोड़ा बड़ा होता है क्योंकि यह कई बार अपनी भाषा बना सकता है। jQuery एक ऐसे ढांचे का एक उदाहरण है जिसका अपना सिंटैक्स है और एक अर्थ में मेरे कोड में आने के संदर्भ में थोड़ा अधिक भार वहन करता है। चौखटे भी ऐसे प्लेटफ़ॉर्म हो सकते हैं जो उन्हें एक अर्थ में एपीआई के समान बनाते हैं, जैसे कि Win32API या .Net फ्रेमवर्क प्रत्येक में एप्लिकेशन बनाने के लिए कई तरीके होते हैं इसलिए ऐसे फ्रेमवर्क हो सकते हैं जिनमें एपीआई और उनके बीच एपीआई भी होते हैं जिन्हें फ्रेमवर्क के रूप में भी देखा जाता है।
पुस्तकालयों में द्विआधारी फाइलें होती हैं जो एपीआई या फ्रेमवर्क को लागू करती हैं और इसलिए वे बिट्स हैं जो आपको कुछ मामलों में एपीआई या फ्रेमवर्क का उपयोग करना होगा। कम से कम यही है कि मैं इन शर्तों और उनके बीच के मतभेदों को कैसे देखता हूं।
किसी लाइब्रेरी में जाएं और किताबें पढ़ना शुरू करें। यदि आप आवेदन कर रहे हैं तो पुस्तकों का संग्रह पुस्तकालय है। अलमारियों, अलमारी और परिसर जिसमें यह सब होता है वह ढांचा बनाता है। पुस्तकों को पढ़ने का कार्य निष्पादित करते समय आप जो कुछ भी संपर्क में आते हैं वह एपीआई है।
एक पुस्तकालय कोड का एक संग्रह है जो सामान्य कार्यों को सरल बनाने के लिए उपयोग किया जाता है - यह आपकी भाषा या मंच के लिए विशिष्ट, कक्षाएं, कार्य या जो कुछ भी हो सकता है। एक अच्छा उदाहरण एक स्ट्रिंग हेरफेर पुस्तकालय हो सकता है जो सामान्य कार्यों (भवन निर्माण, विभाजन, खोज या छंटाई आदि) के लिए सहायता प्रदान करता है।
एक एपीआई (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस) एक परिभाषा ('इंटरफ़ेस') है कि किसी अन्य एप्लिकेशन, सिस्टम या तकनीक के साथ कैसे काम किया जाए। यह उन कार्यों को अनिवार्य रूप से परिभाषित करता है जो उस अन्य प्रणाली के साथ बातचीत करने के लिए उपलब्ध हैं। एक एपीआई एक पुस्तकालय हो सकता है (इसका अर्थ है कि एपीआई एक पुस्तकालय या कक्षाओं के सेट में लपेटा जाता है), लेकिन भेद यह है कि एपीआई हमेशा एक बाहरी प्रणाली का संदर्भ देता है - चाहे वह एक डेटाबेस, वेब सेवा, दूसरा अनुप्रयोग, या ऑपरेटिंग सिस्टम हो। अपने आप।
एक फ्रेमवर्क एक बड़ी अवधारणा है - इसमें आम कार्यों को करने के लिए सामान्य रूप से कई पुस्तकालय और एपीआई होंगे। यह एक उच्च वैचारिक स्तर पर मौजूद है - यह केवल उपकरणों का संग्रह नहीं है, बल्कि डिजाइन पैटर्न, सर्वोत्तम प्रथाओं और कार्यप्रणालियों का भी संग्रह है। एक सॉफ्टवेयर फ्रेमवर्क एक सामान्य रूपरेखा का विस्तार है - इसके अर्थों में एक आधार होना शामिल है जिसमें से चीजें बनाई जाती हैं, समर्थन और संरचना प्रदान करते हैं, और आवश्यकताओं को मार्गदर्शन और परिभाषा देते हैं।
एप्लिकेशन को एक रूपरेखा के आधार पर पुस्तकालयों का उपयोग करके विकसित किया गया है और एक एपीआई के माध्यम से संचार किया गया है।
यदि आप कोई ऐप बनाते हैं तो ऑनलाइन इमेज प्रोसेसिंग एप्लिकेशन कहते हैं,
जब आपके आवेदन पर कॉल आता है
बुलाने वाले को
इन कारणों से मौजूद हैं: