SDK आणि API मधील संबंध काय आहे?
सॉफ्टवेअर डेव्हलपमेंटमध्ये, सिस्टीमचा आकार सतत वाढत असताना, मोठ्या सिस्टीमचे लहान भागांमध्ये विभाजन करणे महत्त्वाचे ठरते, ज्यामध्ये प्रोग्रामिंग इंटरफेसची रचना अत्यंत महत्त्वाची आहे. इंटरफेस डिझाइनचे प्राथमिक कार्य सॉफ्टवेअर सिस्टीमच्या जबाबदाऱ्यांचे योग्य वाटप करणे आहे. चांगल्या इंटरफेस डिझाइनमुळे सिस्टीमच्या विविध भागांमधील अवलंबित्व कमी होते, मॉड्यूलची सुसंगतता वाढते, तसेच मॉड्यूलमधील संबंध कमी होतात, ज्यामुळे सिस्टीमची देखभाल आणि विस्तारक्षमता सुधारते. API इंटरफेसचा एक प्रकार म्हणून प्रोग्राम्समध्ये संवाद साधण्यात महत्त्वपूर्ण भूमिका बजावते, तर SDK आणि API यांच्यात घनिष्ठ संबंध आहे.
01 API
(1) API ची संकल्पना
API, ज्याचा अर्थ “ॲप्लिकेशन प्रोग्रामिंग इंटरफेस” आहे, ही पूर्वनिर्धारित फंक्शनची एक सेट आहे, जी दोन भिन्न गोष्टींना “इंटरफेस” म्हणून जोडण्यासाठी डिझाइन केलेली आहे. हे ॲप्लिकेशन्स आणि डेव्हलपर्सना सॉफ्टवेअर किंवा हार्डवेअरच्या रूटीनमध्ये प्रवेश करण्याचा एक मार्ग प्रदान करते, सोर्स कोडमध्ये प्रवेश न करता किंवा त्याच्या अंतर्गत कार्य यंत्रणेच्या तपशीलांची माहिती न घेता.
वास्तविकपणे, API म्हणजे इतरांनी तयार केलेले, विशिष्ट कार्ये करू शकणारे फंक्शन्स. तुम्हाला फक्त प्रदान केलेल्या इंटरफेसद्वारे त्याचे मेथड कॉल करायचे आहे, निर्दिष्ट पॅरामीटर्स पाठवायचे आहेत आणि फंक्शन तुम्हाला ती कार्ये पूर्ण करण्यात मदत करेल.

“इंटरफेस” या संकल्पनेच्या दृष्टीने, संगणक क्षेत्रात, हे दोन भिन्न घटकांमधील संवादाचे ठिकाण आहे, जे दोन पूर्णपणे भिन्न सिस्टीम किंवा दोन प्रोग्राम असू शकतात. त्यामुळे, इंटरफेसच्या 'I' ला अशा प्रकारे समजून घेता येते. या आधारावर, माणूस आणि प्रोग्राम यांच्यातील संवाद UI (युजर इंटरफेस) म्हणून ओळखला जातो, ज्यामध्ये माणसाच्या सर्व इनपुट फॉर्म समाविष्ट आहेत, जसे की माउस, कीबोर्ड, टच स्क्रीन आणि व्हॉइस इनपुट इत्यादी. तर प्रोग्राम आणि प्रोग्राममधील संवाद API म्हणून ओळखला जातो, मानवी नसलेल्या घटकांमधील सर्व संवाद API द्वारे केले जातात, ज्यामध्ये डेटा ट्रान्सफर आणि फंक्शन ट्रिगर करणे हे महत्त्वाचे आहे.
(2) API चे वर्गीकरण
API मध्ये सिस्टीम-लेव्हल API (जसे की विंडोज, लिनक्स, युनिक्स इ.) आणि नॉन-ऑपरेटिंग सिस्टीम-लेव्हल कस्टम API समाविष्ट आहेत. प्रभावी कोड एन्कॅप्सुलेशन पॅटर्न म्हणून, मायक्रोसॉफ्ट विंडोजच्या API डेव्हलपमेंट मोडेलचा अनेक व्यावसायिक ॲप्लिकेशन डेव्हलपमेंट कंपन्यांनी अभ्यास केला आहे आणि काही व्यावसायिक ॲप्लिकेशन सिस्टीम API फंक्शन्स जारी केले आहेत, ज्यामुळे तृतीय पक्षांना कार्यक्षमतेचा विस्तार करणे सोपे होईल. उदाहरणार्थ, Google, Apple आणि 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 डेटा इंटरफेस आहे. SDK वातावरणात API डेटा कॉल केला जातो.
वास्तविकपणे, SDK मध्ये API ची व्याख्या समाविष्ट आहे, API एक क्षमता परिभाषित करते, इंटरफेसचे एक मानक, आणि SDK मध्ये ही क्षमता, हे मानक असू शकते. परंतु SDK मध्ये केवळ API आणि त्याची अंमलबजावणीच नाही, तर ते एक सॉफ्टवेअर टूलकिट आहे, ज्यामध्ये इतर अनेक सहाय्यक कार्ये देखील समाविष्ट आहेत.
SDK मध्ये API वापरण्यासाठी आवश्यक साहित्य समाविष्ट आहे, त्यामुळे API वापरून विंडोज ॲप्लिकेशन्स डेव्हलप करण्याचा मार्ग देखील “SDK प्रोग्रामिंग” म्हणून ओळखला जातो.





