SDK और API के बीच क्या संबंध है?
सॉफ्टवेयर विकास में, जैसे-जैसे सिस्टम का पैमाना लगातार बढ़ता है, जटिल सिस्टम को छोटे घटकों में विभाजित करना महत्वपूर्ण होता जाता है, जिसमें प्रोग्रामिंग इंटरफेस का डिज़ाइन विशेष रूप से महत्वपूर्ण है। इंटरफेस डिज़ाइन का प्राथमिक कार्य सॉफ्टवेयर सिस्टम की जिम्मेदारियों का उचित आवंटन करना है। एक अच्छा इंटरफेस डिज़ाइन सिस्टम के विभिन्न हिस्सों के बीच निर्भरता को कम कर सकता है, मॉड्यूल के सामंजस्य को बढ़ा सकता है, और मॉड्यूल के बीच युग्मन को कम कर सकता है, जिससे सिस्टम की रखरखाव क्षमता और विस्तार क्षमता में सुधार होता है। API, इंटरफेस के एक रूप के रूप में, प्रोग्राम के बीच इंटरैक्शन में महत्वपूर्ण भूमिका निभाता है, और SDK और API के बीच एक करीबी संबंध है।
01 API
(1) API की अवधारणा
API, जिसका पूर्ण रूप "एप्लिकेशन प्रोग्रामिंग इंटरफेस" है, पूर्व-परिभाषित कार्यों का एक सेट है, जिसे दो अलग-अलग चीजों को "इंटरफेस" के रूप में जोड़ने के लिए डिज़ाइन किया गया है। यह एक ऐसा तरीका प्रदान करता है जिससे एप्लिकेशन और डेवलपर किसी सॉफ्टवेयर या हार्डवेयर की दिनचर्या तक पहुंच सकते हैं, बिना स्रोत कोड को छुए या इसकी आंतरिक कार्य तंत्र के विवरण को समझे।
वास्तव में, API दूसरों द्वारा पहले से लिखे गए फ़ंक्शन हैं जो विशिष्ट कार्यों को प्राप्त कर सकते हैं। आपको केवल प्रदान किए गए इंटरफेस को कॉल करने की विधि का पालन करने और निर्दिष्ट पैरामीटर पास करने की आवश्यकता है, और फ़ंक्शन आपको इन कार्यों को प्राप्त करने में मदद करेगा।

"इंटरफेस" की अवधारणा के संदर्भ में, कंप्यूटर के क्षेत्र में, यह दो अलग-अलग संस्थाओं के बीच बातचीत का स्थान है, जो दो पूर्ण रूप से अलग सिस्टम या दो प्रोग्राम खंड हो सकते हैं। इसलिए, इंटरफेस के "I" को इस प्रकार समझा जा सकता है। इस आधार पर, मनुष्य और प्रोग्राम के बीच बातचीत के स्थान को UI (उपयोगकर्ता इंटरफेस) कहा जाता है, जिसमें सभी मानव इनपुट के रूप शामिल हैं, जैसे कि माउस, कीबोर्ड, टच स्क्रीन और ध्वनि इनपुट आदि। और प्रोग्राम के बीच बातचीत को API कहा जाता है, सभी गैर-मानव-से-गैर-मानव इंटरैक्शन API के माध्यम से किए जाते हैं, तथाकथित इंटरैक्शन मूल रूप से डेटा ट्रांसमिशन और फ़ंक्शन ट्रिगरिंग है।
(2) API का वर्गीकरण
API को सिस्टम-स्तरीय API (जैसे Windows, Linux, Unix, आदि) और गैर-ऑपरेटिंग सिस्टम-स्तरीय कस्टम API में विभाजित किया गया है। एक प्रभावी कोड एन्कैप्सुलेशन पैटर्न के रूप में, Microsoft Windows के API विकास मोड को कई वाणिज्यिक एप्लिकेशन विकास कंपनियों द्वारा अपनाया गया है, और कुछ वाणिज्यिक एप्लिकेशन सिस्टम API फ़ंक्शन जारी किए गए हैं ताकि तीसरे पक्ष को कार्य विस्तार करने में सुविधा हो सके। उदाहरण के लिए, Google, Apple Computer और Nokia जैसे मोबाइल फोन द्वारा विकसित API आदि।
API को ओपन API और प्राइवेट API में भी विभाजित किया गया है। जैसा कि नाम से पता चलता है, ओपन API एक सार्वजनिक इंटरफेस है जो सभी के लिए खुला है, जिससे किसी को भी इसे कॉल करने और इसके अंतर्निहित डेटा प्राप्त करने की अनुमति मिलती है। कभी-कभी कंपनियां API को अपने सार्वजनिक ओपन सिस्टम के रूप में बनाती हैं, अर्थात कंपनी अपने सिस्टम इंटरफेस मानकों को निर्धारित करती है, और जब सिस्टम एकीकरण, अनुकूलन और प्रोग्राम अनुप्रयोग जैसे संचालन करने की आवश्यकता होती है, तो कंपनी के सभी सदस्य इस इंटरफेस मानक के माध्यम से स्रोत कोड को कॉल कर सकते हैं, इस इंटरफेस मानक को ओपन API कहा जाता है। प्राइवेट API वह इंटरफेस है जो बाहरी रूप से खुला नहीं है।
02 SDK
(1) SDK की अवधारणा
SDK, जिसका पूर्ण रूप "सॉफ्टवेयर डेवलपमेंट किट" है, आमतौर पर सॉफ्टवेयर इंजीनियरों द्वारा विशिष्ट सॉफ्टवेयर पैकेज, सॉफ्टवेयर फ्रेमवर्क, हार्डवेयर प्लेटफॉर्म, ऑपरेटिंग सिस्टम आदि के लिए एप्लिकेशन सॉफ्टवेयर बनाने के लिए उपयोग किए जाने वाले विकास उपकरणों का एक संग्रह है। सरल शब्दों में, SDK एक तृतीय-पक्ष प्रदाता द्वारा प्रदान किया गया एक टूलकिट है जो सॉफ्टवेयर उत्पाद के किसी फ़ंक्शन को प्राप्त करता है।
आमतौर पर SDK पेशेवर प्रकृति की कंपनियों द्वारा प्रदान किए गए पेशेवर सेवाओं का एक संग्रह है, जैसे कि Android विकास उपकरण या हार्डवेयर-आधारित विकास सेवाएं आदि। कुछ सॉफ्टवेयर फ़ंक्शन के लिए SDK भी हैं, जैसे कि पुश तकनीक, छवि पहचान तकनीक, मोबाइल भुगतान तकनीक, भाषण पहचान विश्लेषण तकनीक आदि। इंटरनेट के खुलेपन के बड़े रुझान में, कुछ कार्यात्मक SDK को एक उत्पाद के रूप में संचालित किया गया है।
डेवलपर्स को अब उत्पाद के प्रत्येक फ़ंक्शन को विकसित करने की आवश्यकता नहीं है, उन्हें केवल उपयुक्त और स्थिर SDK सेवा का चयन करने और उत्पाद में किसी फ़ंक्शन को एकीकृत करने के लिए बहुत कम समय खर्च करने की आवश्यकता है।
(2) SDK और API के बीच अंतर
SDK विकास एकीकरण उपकरण वातावरण के बराबर है, और API डेटा इंटरफेस है। API डेटा को SDK वातावरण में कॉल करें।
वास्तव में, SDK में API परिभाषाएँ शामिल हैं, API एक क्षमता को परिभाषित करता है, एक इंटरफेस विनिर्देश, और SDK में यह क्षमता, यह विनिर्देश शामिल हो सकता है। लेकिन SDK में केवल API और इसका कार्यान्वयन ही नहीं है, यह एक सॉफ्टवेयर टूलकिट है, जिसमें कई अन्य सहायक कार्य भी शामिल हैं।
SDK में API का उपयोग करने के लिए आवश्यक सामग्री शामिल है, इसलिए लोग अक्सर केवल API का उपयोग करके Windows एप्लिकेशन लिखने के विकास के तरीके को "SDK प्रोग्रामिंग" कहते हैं।





