लाइब्रेरी बनाम आईडीई बनाम एपीआई बनाम एसडीके बनाम टूलकिट के बीच अंतर? [बन्द है]


144

मुझे कुछ उदाहरण चाहिए। मैं हमेशा भ्रमित हो जाता हूं, इसलिए कुछ उदाहरणों के साथ मैं इसे बेहतर तरीके से समझ सकता हूं।

भी: क्या एक एपीआई या आईडीई ग्रहण है?


1
ग्रहण एक आईडीई है
१०

जवाबों:


294

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

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

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

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

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

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

बेशक जंगली में कई उदाहरण हैं जो इन विवरणों से बिल्कुल मेल नहीं खाते हैं।


3
आप कह सकते हैं कि एक एसडीके, एक लाइब्रेरी या एक फ्रेमवर्क में एपीआई है।
बस्तियन वंदामे

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

97

कार सादृश्य

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

आईडीई: एमएस ऑफ़िस ऑफ़ प्रोग्रामिंग। यह वह जगह है जहाँ आप अपना कोड टाइप करते हैं, साथ ही आपको खुशहाल प्रोग्रामर बनाने के लिए कुछ अतिरिक्त सुविधाएँ भी देते हैं। (जैसे ग्रहण, नेटबीन्स )। कार शरीर: यह वही है जो आप वास्तव में स्पर्श करते हैं, देखते हैं और काम करते हैं।

लाइब्रेरी: एक लाइब्रेरी फ़ंक्शंस का एक संग्रह है, जिसे अक्सर कई प्रोग्राम फ़ाइलों में वर्गीकृत किया जाता है, लेकिन एक एकल संग्रह फ़ाइल में पैक किया जाता है। इसमें अन्य लोगों द्वारा बनाए गए प्रोग्राम शामिल हैं, ताकि आपको पहिया को फिर से बनाना न पड़े। (उदा। junit.jar, log4j.jar )। एक पुस्तकालय में आम तौर पर एक महत्वपूर्ण भूमिका होती है, लेकिन यह पर्दे के पीछे अपने सभी काम करता है, इसमें जीयूआई नहीं है। कार का इंजन।

एपीआई: पुस्तकालय प्रकाशक के दस्तावेज। इस तरह से आपको मेरे पुस्तकालय का उपयोग करना चाहिए। (उदा। log4j एपीआई , जूनियर एपीआई )। कार के उपयोगकर्ता मैनुअल - हाँ, कारें एक के साथ भी आती हैं!


किट

किट क्या है? यह कई संबंधित वस्तुओं का संग्रह है जो एक विशिष्ट सेवा प्रदान करने के लिए एक साथ काम करते हैं। जब कोई दवा किट कहता है, तो आपको एक आपातकालीन स्थिति के लिए आवश्यक सब कुछ मिलता है: मलहम, एस्पिरिन, धुंध और एंटीसेप्टिक, आदि।

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

एसडीके : मैकडॉनल्ड्स हैप्पी मील । आपके पास वह सब कुछ है जिसकी आपको ज़रूरत है (और ज़रूरत नहीं है) बड़े करीने से बॉक्सिंग की जाती है: मुख्य पाठ्यक्रम, पेय, मिठाई और एक बोनस खिलौना। एक एसडीके एक पैकेज में इकट्ठा किए गए विभिन्न सॉफ्टवेयर घटकों का एक गुच्छा है, जैसे कि वे बॉक्स के ठीक बाहर "तैयार-टू-एक्शन" हैं। इसमें अक्सर कई लाइब्रेरी और शामिल हो सकते हैं , लेकिन जरूरी नहीं कि प्लगइन्स, एपीआई प्रलेखन, यहां तक ​​कि एक आईडीई भी शामिल हो। (जैसे iOS डेवलपमेंट किट )।

टूलकिट : जीयूआई। जीयूआई। जीयूआई। जब आप एक प्रोग्रामिंग संदर्भ में 'टूलकिट' सुनते हैं, तो यह अक्सर GUI विकास के उद्देश्य से पुस्तकालयों के एक सेट को संदर्भित करेगा। चूंकि टूलकिट यूआई-केंद्रित हैं, वे अक्सर प्लगइन्स (या स्टैंडअलोन आईडीई) के साथ आते हैं जो स्क्रीन-पेंटिंग उपयोगिताओं को प्रदान करते हैं। (उदाहरण के लिए GWT )

फ्रेमवर्क : जबकि प्रचलित धारणा नहीं है, एक रूपरेखा को किट के रूप में देखा जा सकता है। इसमें एक पुस्तकालय (या एक साथ काम करने वाले पुस्तकालयों का संग्रह) है जो एक विशिष्ट कोडिंग संरचना और पैटर्न प्रदान करता है (इस प्रकार शब्द, रूपरेखा )। (जैसे स्प्रिंग फ्रेमवर्क)


41
एक एपीआई सिर्फ प्रलेखन नहीं है। वास्तव में यह प्रलेखन नहीं है। मैं आपकी सादृश्यता को समझता हूं लेकिन प्रलेखन या एपीआई प्रलेखन आपकी कार मैनुअल है और एपीआई आपकी कार के बोर्ड और बटन अधिक हैं।
बस्तिन वंदामे

1
आप GUI और API के बीच अंतर कर सकते हैं। GUI (ग्राफिकल यूजर इंटरफेस) अंतिम गैर पेशेवर उपयोगकर्ता के लिए इंटरफेस है। एपीआई (एप्लीकेशन प्रोग्रामिंग इंटरफेस) अन्य कार्यक्रमों के लिए इंटरफेस है। जब आप विकसित होते हैं और आवेदन करते हैं तो आप GUI या API या दोनों बना सकते हैं। आप अन्य प्रकार के इंटरफेस भी बना सकते हैं।
बस्तिन वंदामे

हमेशा GUI के पीछे एक API होता है। GUI केवल उपयोग के मामले को सरल बनाते हैं। आईटी में यह कोड के बजाय ग्राफिक इंटरफेस जैसे संयुक्त राष्ट्र / व्यावसायिक कारणों से अधिक है। फिर भी अपने कार तर्क के बारे में: आप अपने दम पर कार ड्राइव करने में सक्षम नहीं हो सकते हैं, आपको सीखना होगा और यह जानना होगा कि कैसे ड्राइव करें (एक ट्यूटोरियल या प्रलेखन के रूप में ड्राइविंग सबक पर विचार करें)। यदि आप इसे प्राप्त नहीं करना चाहते हैं, तो आप इसके बजाय बस या टैक्सी में कदम रखना चाह सकते हैं क्योंकि ड्राइविंग की कोई आवश्यक कौशल नहीं है (इस मामले में यहां कोई प्रोग्रामिंग कौशल नहीं है) - इसलिए मैं सार्वजनिक परिवहन साधन को जीयूआई मानूंगा। अजीब लगता है, लेकिन बहुत सच है।
थिएलिश

मैं "[पुस्तकालय] जीयूआई नहीं है" से असहमत हूं। जावास्क्रिप्ट दुनिया में पुस्तकालयों में एक जीयूआई होना बहुत आम है।
user1505520

5

Android विकास पर विचार करें:

आईडीई: ग्रहण आदि।

लाइब्रेरी: android.app.Activity लाइब्रेरी (सभी कोड के साथ कक्षा)

एपीआई: इंटरफ़ेस मूल रूप से सभी फ़ंक्शन जिसके साथ हम कॉल करते हैं

एसडीके: एंड्रॉइड एसडीके आपको एंड्रॉइड के लिए एपीवाई लाइब्रेरी और डेवलपर टूल प्रदान करता है, टेस्ट, और डीबग ऐप्स के लिए आवश्यक है (---- टूल - डीडीएमएस, एमुलेटर ---- प्लेटफॉर्म - एंड्रॉइड ओएस संस्करण, ---- प्लेटफॉर्म- उपकरण - एडीबी, ---- एपीआई डॉक्स)

टूलकिट: एडीटी बंडल हो सकता है

फ्रेमवर्क: बिग लाइब्रेरी लेकिन आर्किटेक्चर-ओरिएंटेड का अधिक


3

दूसरे शब्दों में...

आईडीई यहां तक ​​कि आपका नोटपैड एक आईडीई है। आईडी के साथ आप जो भी सॉफ्टवेयर लिखते / संकलित करते हैं, वह एक आईडीई है।

लाइब्रेरी कोड का एक गुच्छा जो त्वरित उपयोग के लिए कार्यों / विधियों को सरल करता है।

एपीआई एक प्रोग्रामिंग इंटरफ़ेस फ़ंक्शन / कॉन्फ़िगरेशन के लिए जो आप के साथ काम करते हैं, इसका उपयोग अक्सर प्रलेखित किया जाता है।

एसडीके एक्स्ट्रा और / या विकास / परीक्षण प्रयोजनों के लिए।

टूलकिट टाइनी एप्स को त्वरित उपयोग के लिए, अक्सर GUIs।

जीयूआई ऐप एक ग्राफिकल इंटरफ़ेस के साथ, एपीआई के विपरीत प्रोग्रामिंग के ज्ञान की आवश्यकता नहीं है।

एपीआई / विशाल पुस्तकालय / स्निपेट्स की फ्रेमवर्क नेमस्पेस में लिपटे / या अन्य कोड के साथ संघर्ष के बिना कॉम्पैक्ट हैंडलिंग के लिए बाहरी दायरे से समझाया गया।

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

उदाहरण:

कार (मॉडल)
वह वस्तु जिसे प्रस्तुत किया जा रहा है।
IT में उदाहरण: एक HTML फॉर्म।


कैमरा (देखें)
कुछ ऐसा जो वस्तु (कार) को देखने में सक्षम हो।
आईटी में उदाहरण: ब्राउज़र जो किसी वेबसाइट को फॉर्म के साथ प्रस्तुत करता है।


ड्राइवर (नियंत्रक)
कोई है जो उस कार को चलाता है।
IT में उदाहरण: ऐसे कार्य जो प्रस्तुत किए जा रहे डेटा को संभालते हैं।

स्निपेट्स केवल कुछ पंक्तियों के छोटे कोड, भले ही पूर्ण न हों, लेकिन त्वरित शेयर के लिए योग्य हैं।

प्लग-इन केवल निर्दिष्ट रूपरेखाओं / एपीआई / पुस्तकालयों के लिए विशेष कार्य करता है।

एड-ऑन अतिरिक्त GUI के लिए अतिरिक्त मॉड्यूल या सेवाएं।


2

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

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