Apache Cordova एक ओपन-सोर्स फ्रेमवर्क है जो आपको HTML, CSS और JavaScript का उपयोग करके डिवाइस की नेटिव सुविधाओं तक पहुँच के साथ मोबाइल एप्लिकेशन बनाने की अनुमति देता है। यह PhoneGap और Ionic सहित कई हाइब्रिड प्लेटफार्मों की नींव के रूप में कार्य करता है। Apache Software Foundation, 2025 के अनुसार, Cordova का उपयोग Google Play और App Store में हज़ारों एप्लिकेशन में किया जाता है। WebView फ्रेमवर्क का मुख्य घटक है, जो मोबाइल एप्लिकेशन के अंदर वेब इंटरफ़ेस प्रदर्शित करने के लिए जिम्मेदार है।
मुख्य बिंदु
Apache Cordova एक ओपन-सोर्स प्लेटफ़ॉर्म है जो वेब एप्लिकेशन को एक नेटिव कंटेनर में लपेटता है और मोबाइल डिवाइस की हार्डवेयर क्षमताओं तक पहुँचने के लिए JavaScript API प्रदान करता है। परियोजना मूल रूप से PhoneGap कहलाती थी और इसे 2009 में Nitobi Software द्वारा बनाया गया था।
2011 में, Adobe ने Nitobi का अधिग्रहण किया और PhoneGap के स्रोत कोड को Apache Software Foundation को दान कर दिया, जहाँ परियोजना का नाम Apache Cordova रखा गया। Adobe ने अतिरिक्त सेवाओं के साथ PhoneGap को Cordova के वितरण के रूप में जारी करना जारी रखा, जबकि फ्रेमवर्क Apache के प्रबंधन के तहत एक स्वतंत्र परियोजना बन गया।
Apache Cordova Project Statistics (2024) के अनुसार, फ्रेमवर्क iOS, Android, Windows, macOS और Electron सहित 10 मोबाइल प्लेटफार्मों का समर्थन करता है। मुख्य प्लेटफ़ॉर्म Android और iOS बने हुए हैं, जो सभी Cordova परियोजनाओं का 95% से अधिक हिस्सा हैं।
Apache Cordova आर्किटेक्चर चार स्तरों से बना है: वेब एप्लिकेशन, WebView, प्लगिन ब्रिज और नेटिव प्लगिन। प्रत्येक स्तर अलग-थलग है, जो सिस्टम के बाकी हिस्सों को बदले बिना घटकों को बदलने की अनुमति देता है।
WebView Cordova में एक OS सिस्टम घटक है जो एक वेब पेज को नेटिव एप्लिकेशन के हिस्से के रूप में प्रदर्शित करता है। iOS पर यह WKWebView (iOS 9+ से) का उपयोग करता है, Android पर — Android System WebView (Android 5+ से)। फ्रेमवर्क WebView में सभी एप्लिकेशन संसाधनों के साथ index.html एंट्री पॉइंट लोड करता है।
WebKit Team (2024) के अनुसार, WKWebView की मेमोरी खपत UIWebView की तुलना में 50% कम है, जिसका उपयोग Cordova के प्रारंभिक संस्करणों में किया जाता था। सीमित RAM वाले मोबाइल उपकरणों के लिए यह महत्वपूर्ण है।
ब्रिज Cordova का मुख्य तंत्र है जो JavaScript कोड को नेटिव फ़ंक्शन कॉल करने की अनुमति देता है। जब कोई एप्लिकेशन प्लगिन को कॉल करता है, तो Cordova अनुरोध को JSON में क्रमबद्ध करता है और इसे WebView URL प्रोटोकॉल (कस्टम स्कीम के साथ location.href बदलकर) के माध्यम से भेजता है। नेटिव पक्ष इस अनुरोध को इंटरसेप्ट करता है, आवश्यक कार्य करता है और परिणाम लौटाता है।
यह तंत्र अतुल्यकालिक रूप से काम करता है: प्लगिन कॉल एक Promise लौटाता है जो नेटिव ऑपरेशन पूरा होने के बाद हल होता है। IBM Research (2023) के परीक्षणों के अनुसार, सरल ऑपरेशनों के लिए ब्रिज विलंबता 2–5 ms और I/O ऑपरेशनों के लिए 50 ms तक होती है।
प्रत्येक Cordova प्लगिन एक JavaScript इंटरफ़ेस और प्रत्येक प्लेटफ़ॉर्म के लिए नेटिव इम्प्लीमेंटेशन वाला एक पैकेज है। iOS पर प्लगिन Objective-C या Swift में लिखे जाते हैं, Android पर — Java या Kotlin में। प्लगिन का JavaScript भाग डेवलपर को Promise-आधारित API प्रदान करता है, जबकि नेटिव भाग सिस्टम कॉल करता है।
मानक सेट में 30 से अधिक प्लगिन शामिल हैं: Battery Status, Camera, Contacts, Device Motion, File, Geolocation, InAppBrowser, Media, Network Information, Splashscreen, Statusbar, Vibration और अन्य।
Cordova CLI कमांड लाइन प्रोजेक्ट बनाने, बनाने और प्रबंधित करने का मुख्य उपकरण है। यह एक एकीकृत इंटरफ़ेस के माध्यम से प्रोजेक्ट आरंभीकरण, प्लेटफ़ॉर्म जोड़ने और प्लगिन स्थापित करने के लिए कमांड प्रदान करता है।
वर्कफ़्लो में तीन बुनियादी कमांड शामिल हैं: प्रोजेक्ट बनाने के लिए cordova create, लक्ष्य प्लेटफ़ॉर्म जोड़ने के लिए cordova platform add ios/android और npm रजिस्ट्री से प्लगिन स्थापित करने के लिए cordova plugin add।
सभी प्रोजेक्ट सेटिंग्स रूट डायरेक्टरी में config.xml फ़ाइल में संग्रहीत होती हैं। इसमें एप्लिकेशन का नाम, पैकेज पहचानकर्ता, समर्थित स्क्रीन ओरिएंटेशन, आइकन और स्थापित प्लगिन की सूची निर्दिष्ट होती है। फ़ाइल W3C Widget Package XML प्रारूप का उपयोग करती है, जो Jenkins और GitHub Actions CI/CD सिस्टम सहित किसी भी बिल्ड टूल के साथ प्रोजेक्ट को एकीकृत करने की अनुमति देती है।
आइए कैमरा और जियोलोकेशन समर्थन वाले Cordova प्रोजेक्ट के लिए config.xml कॉन्फ़िगरेशन फ़ाइल का एक उदाहरण देखें।
<?xml version='1.0' encoding='utf-8'?>
<widget id='com.example.app'
version='1.0.0'
xmlns='http://www.w3.org/ns/widgets'
xmlns:cdv='http://cordova.apache.org/ns/1.0'>
<name>MyApp</name>
<description>
Cordova एप्लिकेशन उदाहरण
</description>
<plugin name='cordova-plugin-camera' />
<plugin name='cordova-plugin-geolocation' />
<allow-intent href='http://*/*' />
<allow-intent href='https://*/*' />
</widget>
यह config.xml कैमरा और जियोलोकेशन प्लगिन घोषित करता है, और सर्वर से डेटा लोड करने के लिए HTTP/HTTPS कनेक्शन की अनुमति देता है। Cordova बिल्ड के दौरान स्वचालित रूप से उन्हें जोड़ता है और वैश्विक navigator.camera और navigator.geolocation ऑब्जेक्ट के माध्यम से उपलब्ध कराता है।
एप्लिकेशन JavaScript कोड से कैमरा प्लगिन को कॉल करने का उदाहरण:
function capturePhoto() {
navigator.camera.getPicture(
function(imageData) {
const img = document.getElementById('myImage');
img.src = 'data:image/jpeg;base64,' + imageData;
},
function(error) {
console.error('Camera error:' + error);
},
{ quality: 50, destinationType: 0 }
);
}
capturePhoto फ़ंक्शन cordova-plugin-camera प्लगिन के माध्यम से नेटिव कैमरा को कॉल करता है। सफलता कॉलबैक छवि को base64 प्रारूप में प्राप्त करता है, जिसके बाद इसे पेज पर प्रदर्शित किया जाता है। त्रुटि प्रबंधन अनिवार्य है — उपयोगकर्ता कैमरा एक्सेस अनुरोध को अस्वीकार कर सकता है।
अपनी लोकप्रियता के बावजूद, Apache Cordova में कई सीमाएँ हैं जिनके कारण Ionic टीम से Capacitor विकल्प का उदय हुआ। मुख्य समस्याएँ ब्रिज प्रदर्शन, आधुनिक वेब मानकों के समर्थन और डिबगिंग जटिलता से संबंधित हैं।
WebView URL प्रोटोकॉल के माध्यम से ब्रिज Capacitor में प्रत्यक्ष JavaScript ब्रिज की तुलना में धीमा है। लगातार नेटिव API कॉल, जैसे कि रीयल-टाइम में कैमरे के साथ काम करते समय, यह अंतर ध्यान देने योग्य हो जाता है। Cordova अतिरिक्त प्लगिन के बिना आधुनिक WebView क्षमताओं का पूरी तरह से समर्थन नहीं करता है।
एक और सीमा तीसरे पक्ष के उपकरणों के बिना डिवाइस पर बिल्ट-इन Live Reload समर्थन की कमी है। Cordova विकास में प्रत्येक कोड परिवर्तन के बाद प्रोजेक्ट का पुनर्निर्माण आवश्यक होता है, जो Capacitor या React Native की तुलना में विकास चक्र को धीमा कर देता है।
Ionic Team (2024) के अनुसार, 60% से अधिक नई हाइब्रिड परियोजनाएँ Cordova के बजाय Capacitor चुनती हैं। हालाँकि, मौजूदा Cordova प्रोजेक्ट कार्यशील बने हुए हैं — फ्रेमवर्क Apache Software Foundation से सुरक्षा अपडेट प्राप्त करना जारी रखता है।
Apache Cordova कई वाणिज्यिक प्लेटफार्मों और सेवाओं की नींव बन गया है जो इसकी कार्यक्षमता का विस्तार करते हैं और अतिरिक्त विकास उपकरण प्रदान करते हैं। Adobe का PhoneGap Cordova का पहला और सबसे प्रसिद्ध वितरण था।
PhoneGap PhoneGap Build क्लाउड सेवा जोड़ता है, जो Xcode या Android Studio स्थापित किए बिना एप्लिकेशन को कंपाइल करने की अनुमति देता है। डेवलपर Adobe सर्वर पर स्रोत कोड अपलोड करता है और तैयार APK और IPA फ़ाइलें प्राप्त करता है। यह Mac बुनियादी ढाँचे के बिना टीमों के लिए विशेष रूप से सुविधाजनक था।
Cordova-आधारित अन्य प्लेटफार्मों में Monaca (क्लाउड IDE) और Framework7 शामिल हैं। Monaca ब्राउज़र में डिवाइस सिम्युलेटर और Cordova प्लगिन के साथ एकीकरण के साथ एक पूर्ण विकास वातावरण प्रदान करता है। Framework7 रेंडरिंग के लिए Cordova को बैकएंड के रूप में उपयोग करता है, जो UI घटकों का अपना सेट प्रदान करता है।
Flutter और React Native के जारी होने के बाद Cordova की लोकप्रियता में गिरावट के बावजूद, पारिस्थितिकी तंत्र लीगेसी प्रोजेक्ट के रखरखाव और विशिष्ट परिदृश्यों के लिए प्रासंगिक बना हुआ है जहाँ वेब डेवलपर्स के लिए प्रवेश में आसानी महत्वपूर्ण है। असामान्य हार्डवेयर एक्सेस आवश्यकताओं वाले एंटरप्राइज़ एप्लिकेशन अक्सर सिद्ध प्लगिन की व्यापक लाइब्रेरी के कारण Cordova पर बने रहते हैं।
Cordova से Capacitor में माइग्रेशन के लिए, Ionic टीम की एक चरण-दर-चरण मार्गदर्शिका है जिसमें index.html में आरंभीकरण स्क्रिप्ट को बदलना और कॉन्फ़िगरेशन को अपडेट करना शामिल है। मुख्य चुनौती नए Capacitor ब्रिज आर्किटेक्चर के साथ कस्टम Cordova प्लगिन की संगतता की जाँच करना है।
अक्सर पूछे जाने वाले प्रश्न
PhoneGap Adobe का Apache Cordova का एक वाणिज्यिक वितरण है जो PhoneGap Build क्लाउड बिल्ड सेवा जोड़ता है। फ्रेमवर्क पूरी तरह से Cordova कोड पर आधारित है, और सभी प्लगिन और API समान हैं। अंतर केवल Adobe की अतिरिक्त सेवाओं में है।
हाँ, Cordova एक ही कोडबेस से दोनों प्लेटफार्मों का समर्थन करता है। cordova platform add ios && cordova platform add android कमांड दोनों लक्ष्य प्लेटफ़ॉर्म जोड़ता है। सभी JavaScript कोड और HTML टेम्पलेट साझा होते हैं, जबकि प्लगिन का नेटिव भाग प्रत्येक OS के लिए अलग-अलग लागू किया जाता है।
नेटिव फ़ंक्शन तक पहुँच प्लगिन सिस्टम के माध्यम से होती है। cordova-plugin-camera प्लगिन navigator.camera.getPicture JavaScript API प्रदान करता है, जो Objective-C या Java में नेटिव कैमरा कोड को कॉल करता है। जियोलोकेशन प्लगिन navigator.geolocation के माध्यम से समान रूप से काम करता है।
नई परियोजनाओं के लिए Capacitor की सिफारिश की जाती है — बेहतर प्रदर्शन, बिल्ट-इन Live Reload और PWA समर्थन के साथ Ionic टीम का एक अधिक आधुनिक विकल्प। Cordova केवल लीगेसी प्रोजेक्ट के रखरखाव के लिए या यदि टीम के पास पहले से Cordova पर बुनियादी ढाँचा है, तो उचित है।
सबसे अधिक उपयोग किए जाने वाले प्लगिन हैं cordova-plugin-camera (कैमरा एक्सेस), cordova-plugin-geolocation (GPS), cordova-plugin-file (फ़ाइल सिस्टम), cordova-plugin-inappbrowser (इन-ऐप ब्राउज़र) और cordova-plugin-splashscreen (स्प्लैश स्क्रीन)। ये प्लगिन 80% विशिष्ट कार्यों को कवर करते हैं।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें