एक एपीआई क्या है?
आपने संभवतः "एपीआई" शब्द को देखा है। ऑपरेटिंग सिस्टम, वेब ब्राउज़र और ऐप अपडेट अक्सर डेवलपर्स के लिए नए एपीआई की घोषणा करते हैं। लेकिन एक एपीआई क्या है?
एप्लीकेशन प्रोग्रामिंग इंटरफेस
API शब्द एक संक्षिप्त नाम है, और यह "एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस" के लिए है।
एक रेस्तरां में एक मेनू की तरह एक एपीआई के बारे में सोचो। मेनू उन व्यंजनों की सूची प्रदान करता है जिन्हें आप ऑर्डर कर सकते हैं, साथ ही प्रत्येक डिश का विवरण भी। जब आप निर्दिष्ट करते हैं कि आपको क्या मेनू आइटम चाहिए, तो रेस्तरां की रसोई काम करती है और आपको कुछ तैयार व्यंजन प्रदान करती है। आपको ठीक से पता नहीं है कि रेस्तरां उस भोजन को कैसे तैयार करता है, और आपको वास्तव में इसकी आवश्यकता नहीं है.
इसी तरह, एपीआई एक ऑपरेशन के एक समूह को सूचीबद्ध करता है जो डेवलपर्स उपयोग कर सकते हैं, साथ ही वे क्या करते हैं, इसका विवरण भी। डेवलपर को यह जानने की आवश्यकता नहीं है कि कैसे, उदाहरण के लिए, एक ऑपरेटिंग सिस्टम "सेव अस" डायलॉग बॉक्स बनाता है और प्रस्तुत करता है। उन्हें बस यह जानना होगा कि यह उनके ऐप में उपयोग के लिए उपलब्ध है.
यह एक आदर्श रूपक नहीं है, क्योंकि डेवलपर्स को परिणाम प्राप्त करने के लिए एपीआई को अपना डेटा प्रदान करना पड़ सकता है, इसलिए शायद यह एक फैंसी रेस्तरां की तरह है जहां आप अपनी खुद की कुछ सामग्री प्रदान कर सकते हैं जो कि रसोई के साथ काम करेगी।.
लेकिन यह मोटे तौर पर सटीक है। एपीआई, निट्टी-किरकिरी काम करने के लिए एक प्लेटफॉर्म के कार्यान्वयन का लाभ उठाकर डेवलपर्स को समय बचाने की अनुमति देते हैं। इससे कोड डेवलपर्स की मात्रा को कम करने में मदद मिलती है और साथ ही एक ही प्लेटफॉर्म के लिए एप्स में अधिक स्थिरता बनाने में भी मदद मिलती है। एपीआई हार्डवेयर और सॉफ्टवेयर संसाधनों तक पहुंच को नियंत्रित कर सकते हैं.
एपीआई डेवलपर्स के लिए जीवन को आसान बनाते हैं
मान लीजिए कि आप iPhone के लिए एक ऐप विकसित करना चाहते हैं। Apple का iOS ऑपरेटिंग सिस्टम बड़ी संख्या में API प्रदान करता है-क्योंकि हर दूसरा ऑपरेटिंग सिस्टम आपको इस पर आसान बनाता है.
यदि आप एक या एक से अधिक वेब पेज दिखाने के लिए एक वेब ब्राउज़र को एम्बेड करना चाहते हैं, उदाहरण के लिए, आपको अपने वेब ब्राउज़र को केवल अपने एप्लिकेशन के लिए स्क्रैच से प्रोग्राम करने की आवश्यकता नहीं है। आप अपने अनुप्रयोग में WebKit (Safari) ब्राउज़र ऑब्जेक्ट को एम्बेड करने के लिए WKWebView API का उपयोग करते हैं.
यदि आप iPhone के कैमरे से फ़ोटो या वीडियो कैप्चर करना चाहते हैं, तो आपको अपना कैमरा इंटरफ़ेस लिखने की आवश्यकता नहीं है। आप अपने ऐप में iPhone के अंतर्निहित कैमरे को एम्बेड करने के लिए कैमरा एपीआई का उपयोग करते हैं। यदि एपीआई इस आसान को बनाने के लिए मौजूद नहीं था, तो ऐप डेवलपर्स को अपना कैमरा सॉफ़्टवेयर बनाना होगा और कैमरा हार्डवेयर के इनपुट की व्याख्या करनी होगी। लेकिन Apple के ऑपरेटिंग सिस्टम डेवलपर्स ने यह सारी मेहनत की है, इसलिए डेवलपर्स कैमरा को एम्बेड करने के लिए कैमरा एपीआई का उपयोग कर सकते हैं, और फिर अपने ऐप को बनाने के साथ प्राप्त कर सकते हैं। और, जब Apple कैमरा एपीआई में सुधार करता है, तो उस पर भरोसा करने वाले सभी ऐप स्वचालित रूप से उस सुधार का लाभ लेंगे.
यह हर प्लेटफॉर्म पर लागू होता है। उदाहरण के लिए, क्या आप विंडोज पर एक डायलॉग बॉक्स बनाना चाहते हैं? उसके लिए एक एपीआई है। एंड्रॉइड पर फिंगरप्रिंट प्रमाणीकरण का समर्थन करना चाहते हैं? इसके लिए एक एपीआई भी है, इसलिए आपको हर अलग एंड्रॉइड निर्माता के फिंगरप्रिंट सेंसर का परीक्षण करने की आवश्यकता नहीं है। डेवलपर्स को पहिया को अधिक से अधिक सुदृढ़ करना नहीं है.
एपीआई संसाधनों तक पहुंच को नियंत्रित करता है
एपीआई का उपयोग हार्डवेयर उपकरणों और सॉफ़्टवेयर कार्यों तक पहुंच को नियंत्रित करने के लिए भी किया जाता है जो किसी एप्लिकेशन को आवश्यक रूप से उपयोग करने की अनुमति नहीं हो सकती है। यही कारण है कि एपीआई अक्सर सुरक्षा में एक बड़ी भूमिका निभाते हैं.
उदाहरण के लिए, यदि आपने कभी किसी वेबसाइट का दौरा किया है और अपने ब्राउज़र में एक संदेश देखा है कि वेबसाइट आपके सटीक स्थान को देखने के लिए कह रही है, तो वह वेबसाइट आपके वेब ब्राउज़र में जियोलोकेशन एपीआई का उपयोग करने का प्रयास कर रही है। वेब ब्राउज़र इस तरह एपीआई को उजागर करते हैं जिससे वेब डेवलपर्स को आपके स्थान तक पहुंचने में आसानी होती है-वे पूछ सकते हैं कि "आप कहां हैं?" और ब्राउज़र आपके भौतिक स्थान को खोजने के लिए जीपीएस या नजदीकी वाई-फाई नेटवर्क तक पहुंचने की कड़ी मेहनत करता है।.
हालांकि, ब्राउज़र एक एपीआई के माध्यम से इस जानकारी को भी उजागर करते हैं क्योंकि इसकी पहुंच को नियंत्रित करना संभव है। जब कोई वेबसाइट आपके सटीक भौतिक स्थान तक पहुंच चाहती है, तो वे इसे प्राप्त करने का एकमात्र तरीका स्थान एपीआई के माध्यम से कर सकते हैं। और, जब कोई वेबसाइट इसका उपयोग करने का प्रयास करती है, तो आप-उपयोगकर्ता-इस अनुरोध को अनुमति देने या अस्वीकार करने का विकल्प चुन सकते हैं। GPS सेंसर जैसे हार्डवेयर संसाधनों को एक्सेस करने का एकमात्र तरीका एपीआई के माध्यम से है, इसलिए ब्राउज़र हार्डवेयर तक पहुंच को नियंत्रित कर सकता है और क्या कर सकता है इसे सीमित कर सकता है.
इसी सिद्धांत का उपयोग आईओएस और एंड्रॉइड जैसे आधुनिक मोबाइल ऑपरेटिंग सिस्टम पर किया जाता है, जहां मोबाइल एप्लिकेशन के पास अनुमतियाँ होती हैं जिन्हें एपीआई तक पहुंच को नियंत्रित करके लागू किया जा सकता है। उदाहरण के लिए, यदि कोई डेवलपर कैमरा API के माध्यम से कैमरे तक पहुंचने का प्रयास करता है, तो आप अनुमति के अनुरोध को अस्वीकार कर सकते हैं और ऐप में आपके डिवाइस के कैमरे तक पहुंचने का कोई तरीका नहीं है.
फ़ाइल सिस्टम जो अनुमतियों का उपयोग करते हैं-जैसा कि वे विंडोज, मैक और लिनक्स पर करते हैं-उन अनुमतियों को फ़ाइल सिस्टम एपीआई द्वारा लागू किया गया है। एक विशिष्ट अनुप्रयोग में कच्ची भौतिक हार्ड डिस्क की सीधी पहुँच नहीं होती है। इसके बजाय, एप्लिकेशन को API के माध्यम से फ़ाइलों तक पहुंच प्राप्त करनी चाहिए.
एपीआई का उपयोग सेवाओं के बीच संचार के लिए किया जाता है
API का उपयोग सभी प्रकार के अन्य कारणों के लिए भी किया जाता है। उदाहरण के लिए, यदि आपने कभी किसी वेबसाइट पर Google मैप्स ऑब्जेक्ट को देखा है, तो वह वेबसाइट उस मैप को एम्बेड करने के लिए Google मैप्स एपीआई का उपयोग कर रही है। Google इस तरह से वेब डेवलपर्स के लिए एपीआई को उजागर करता है, जो तब एपीआई का उपयोग जटिल वस्तुओं को अपनी वेबसाइट पर सही करने के लिए कर सकते हैं। अगर इस तरह के एपीआई मौजूद नहीं थे, तो डेवलपर्स को अपनी वेबसाइट पर थोड़ा इंटरेक्टिव मानचित्र डालने के लिए अपने स्वयं के मानचित्र बनाने और अपना स्वयं का मानचित्र डेटा प्रदान करना पड़ सकता है।.
और, क्योंकि यह एक एपीआई है, Google तृतीय-पक्ष वेबसाइटों पर Google मानचित्र तक पहुंच को नियंत्रित कर सकता है, यह सुनिश्चित करने के बजाय कि वे Google मानचित्र वेबसाइट को दिखाने वाले फ़्रेम को गड़बड़ करने का प्रयास करने के बजाय इसे सुसंगत तरीके से उपयोग करते हैं।.
यह कई अलग-अलग ऑनलाइन सेवाओं पर लागू होता है। Google अनुवाद से पाठ अनुवाद का अनुरोध करने के लिए एपीआई हैं, या एक वेबसाइट पर ट्विटर से फेसबुक टिप्पणियों या ट्वीट्स को एम्बेड करना है.
OAuth मानक कई APIs को परिभाषित करता है जो आपको किसी अन्य सेवा के लिए वेबसाइट में साइन इन करने की अनुमति देता है, उदाहरण के लिए, उस साइट के लिए एक नया उपयोगकर्ता खाता बनाए बिना एक नई वेबसाइट में साइन इन करने के लिए अपने फेसबुक, Google या ट्विटर खातों का उपयोग करने के लिए। । एपीआई मानक अनुबंध हैं जो परिभाषित करते हैं कि डेवलपर्स किसी सेवा के साथ कैसे संवाद करते हैं, और उन डेवलपर्स को किस तरह के आउटपुट को वापस प्राप्त करने की उम्मीद करनी चाहिए.
यदि आप इसके माध्यम से प्राप्त कर चुके हैं, तो आपके पास बेहतर विचार होगा कि एपीआई क्या है। अंत में, आपको वास्तव में यह जानने की आवश्यकता नहीं है कि जब तक आप डेवलपर नहीं होते हैं तब तक एपीआई क्या होता है। लेकिन, यदि आप एक सॉफ्टवेयर प्लेटफ़ॉर्म या सेवा को विभिन्न हार्डवेयर या सेवाओं के लिए नए एपीआई जोड़ते हैं, तो डेवलपर्स के लिए इन सुविधाओं को लेना आसान हो जाएगा.
चित्र साभार: patpitchaya / Shutterstock.com.