Apache Cordova — یہ کیا ہے، فن تعمیر اور ہائبرڈ فریم ورک کے کام کرنے کا اصول

مصنف: IT Sectr اشاعت: 2026-05-02 مطالعے کا وقت: 9 منٹ

Apache Cordova ایک اوپن سورس فریم ورک ہے جو آپ کو HTML، CSS اور JavaScript کا استعمال کرتے ہوئے ڈیوائس کی نیٹیو خصوصیات تک رسائی کے ساتھ موبائل ایپلیکیشنز بنانے کی اجازت دیتا ہے۔ یہ PhoneGap اور Ionic سمیت کئی ہائبرڈ پلیٹ فارمز کی بنیاد کے طور پر کام کرتا ہے۔ Apache Software Foundation، 2025 کے مطابق، Cordova Google Play اور App Store میں ہزاروں ایپلیکیشنز میں استعمال ہوتا ہے۔ WebView فریم ورک کا بنیادی جزو ہے، جو موبائل ایپلیکیشن کے اندر ویب انٹرفیس دکھانے کے لیے ذمہ دار ہے۔

اہم نکات

  • Apache Cordova ویب ٹیکنالوجیز کے ساتھ موبائل ایپلیکیشنز کے لیے ایک اوپن سورس ہائبرڈ فریم ورک ہے
  • WebView iOS اور Android پر نیٹیو شیل کے اندر HTML/CSS/JS رینڈر کرتا ہے
  • پلگ انز کیمرہ، GPS، رابطوں اور سینسرز تک رسائی کے لیے ایک ماڈیولر ایکسٹینشن سسٹم ہیں
  • JS — نیٹیو پل URL پروٹوکول کے ذریعے JavaScript سے نیٹیو کوڈ کو کال کرنے کا ایک طریقہ کار ہے
  • بنیاد — Cordova PhoneGap، Ionic (ابتدائی ورژن) اور Monaca کی بنیاد ہے

Apache Cordova کیا ہے؟

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% سے زیادہ حصہ بناتے ہیں۔

Cordova کا فن تعمیر: WebView اور پل کیسے کام کرتے ہیں

Apache Cordova کا فن تعمیر چار تہوں پر مشتمل ہے: ویب ایپلیکیشن، WebView، پلگ ان پل اور نیٹیو پلگ انز۔ ہر تہہ الگ تھلگ ہے، جس سے سسٹم کے باقی حصوں کو تبدیل کیے بغیر اجزاء کو تبدیل کیا جا سکتا ہے۔

WebView اور انٹرفیس ڈسپلے

Cordova میں WebView ایک OS سسٹم جزو ہے جو ویب صفحہ کو نیٹیو ایپلیکیشن کے حصے کے طور پر دکھاتا ہے۔ iOS پر یہ WKWebView (iOS 9+ سے)، Android پر — Android System WebView (Android 5+ سے) استعمال کرتا ہے۔ فریم ورک تمام ایپلیکیشن وسائل کے ساتھ index.html انٹری پوائنٹ کو WebView میں لوڈ کرتا ہے۔

WebKit Team (2024) کے مطابق، WKWebView UIWebView کے مقابلے میں 50% کم میموری استعمال کرتا ہے، جو Cordova کے ابتدائی ورژنز میں استعمال ہوتا تھا۔ یہ محدود RAM والے موبائل آلات کے لیے اہم ہے۔

JavaScript اور نیٹیو کوڈ کے درمیان پل

پل 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 CLI کمانڈ لائن پروجیکٹس بنانے، بنانے اور ان کا انتظام کرنے کا مرکزی ٹول ہے۔ یہ ایک متحد انٹرفیس کے ذریعے پروجیکٹ شروع کرنے، پلیٹ فارم شامل کرنے اور پلگ انز انسٹال کرنے کے لیے کمانڈز فراہم کرتا ہے۔

ورک فلو میں تین بنیادی کمانڈز شامل ہیں: پروجیکٹ بنانے کے لیے cordova create، ہدف پلیٹ فارمز شامل کرنے کے لیے cordova platform add ios/android اور npm رجسٹری سے پلگ انز انسٹال کرنے کے لیے cordova plugin add۔

  • cordova create — www/، hooks/ اور config.xml کے ساتھ پروجیکٹ کا ڈھانچہ بناتا ہے
  • cordova platform add — iOS یا Android کے لیے نیٹیو پروجیکٹس ڈاؤن لوڈ اور کنفیگر کرتا ہے
  • cordova plugin add — پلگ ان انسٹال کرتا ہے اور اسے پروجیکٹ کنفیگریشن میں رجسٹر کرتا ہے
  • cordova build — Xcode اور Android Studio کے ذریعے ایپلیکیشن کو APK یا IPA میں کمپائل کرتا ہے

تمام پروجیکٹ سیٹنگز روٹ ڈائریکٹری میں config.xml فائل میں محفوظ ہوتی ہیں۔ اس میں ایپلیکیشن کا نام، پیکیج شناخت کنندہ، معاون اسکرین اورینٹیشنز، آئیکنز اور انسٹال کردہ پلگ انز کی فہرست بیان کی جاتی ہے۔ فائل W3C Widget Package XML فارمیٹ استعمال کرتی ہے، جو Jenkins اور GitHub Actions CI/CD سسٹمز سمیت کسی بھی بلڈ ٹول کے ساتھ پروجیکٹ کو مربوط کرنے کی اجازت دیتی ہے۔

کوڈ کی مثالیں: پلگ انز اور کنفیگریشن

آئیے کیمرہ اور جغرافیائی محل وقوع کی حمایت کے ساتھ Cordova پروجیکٹ کے لیے config.xml کنفیگریشن فائل کی ایک مثال دیکھتے ہیں۔

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 کوڈ سے کیمرہ پلگ ان کو کال کرنے کی مثال:

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 فارمیٹ میں وصول کرتا ہے، جس کے بعد یہ صفحہ پر ظاہر ہوتی ہے۔ غلطی کا انتظام لازمی ہے — صارف کیمرہ تک رسائی کی درخواست کو مسترد کر سکتا ہے۔

Cordova کی حدود اور Capacitor میں منتقلی

اپنی مقبولیت کے باوجود، Apache Cordova میں کچھ حدود ہیں جن کی وجہ سے Ionic ٹیم سے Capacitor متبادل کا ظہور ہوا۔ اہم مسائل پل کی کارکردگی، جدید ویب معیارات کی حمایت اور ڈی بگنگ کی پیچیدگی سے متعلق ہیں۔

WebView URL پروٹوکول کے ذریعے پل Capacitor میں براہ راست JavaScript پل کے مقابلے میں سست ہے۔ بار بار نیٹیو APIs کو کال کرنے پر، جیسے کہ ریئل ٹائم میں کیمرہ کے ساتھ کام کرتے وقت، یہ فرق نمایاں ہو جاتا ہے۔ Cordova اضافی پلگ انز کے بغیر جدید WebView صلاحیتوں کو مکمل طور پر سپورٹ نہیں کرتا۔

ایک اور حد تیسرے فریق کے ٹولز کے بغیر ڈیوائس پر بلٹ ان Live Reload سپورٹ کی کمی ہے۔ Cordova ڈویلپمنٹ میں ہر کوڈ تبدیلی کے بعد پروجیکٹ کو دوبارہ تعمیر کرنے کی ضرورت ہوتی ہے، جو Capacitor یا React Native کے مقابلے میں ڈویلپمنٹ سائیکل کو سست کر دیتی ہے۔

Ionic Team (2024) کے مطابق، 60% سے زیادہ نئے ہائبرڈ پروجیکٹس Cordova کے بجائے Capacitor کا انتخاب کرتے ہیں۔ تاہم، موجودہ Cordova پروجیکٹس فعال رہتے ہیں — فریم ورک Apache Software Foundation سے سیکیورٹی اپڈیٹس وصول کرتا رہتا ہے۔

Cordova ایکو سسٹم: PhoneGap، Monaca اور دیگر

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 پلگ انز کی مطابقت کی جانچ کرنا ہے۔

اکثر پوچھے گئے سوالات

Cordova اور PhoneGap میں کیا فرق ہے؟

PhoneGap Adobe کی طرف سے Apache Cordova کی ایک تجارتی تقسیم ہے جو PhoneGap Build کلاؤڈ بلڈ سروس شامل کرتی ہے۔ فریم ورک خود مکمل طور پر Cordova کوڈ پر مبنی ہے، اور تمام پلگ انز اور APIs ایک جیسے ہیں۔ فرق صرف Adobe کی اضافی خدمات میں ہے۔

کیا ایک ساتھ Android اور iOS کے لیے Cordova استعمال کیا جا سکتا ہے؟

ہاں، Cordova ایک کوڈ بیس سے دونوں پلیٹ فارمز کو سپورٹ کرتا ہے۔ cordova platform add ios && cordova platform add android کمانڈ دونوں ہدف پلیٹ فارمز شامل کرتی ہے۔ تمام JavaScript کوڈ اور HTML ٹیمپلیٹس مشترکہ ہوتے ہیں، جبکہ پلگ انز کا نیٹیو حصہ ہر OS کے لیے علیحدہ علیحدہ لاگو کیا جاتا ہے۔

Cordova کیمرہ اور GPS تک کیسے رسائی حاصل کرتا ہے؟

نیٹیو فنکشنز تک رسائی پلگ ان سسٹم کے ذریعے ہوتی ہے۔ cordova-plugin-camera پلگ ان navigator.camera.getPicture JavaScript API فراہم کرتا ہے، جو Objective-C یا Java میں نیٹیو کیمرہ کوڈ کو کال کرتا ہے۔ جغرافیائی محل وقوع کا پلگ ان navigator.geolocation کے ذریعے اسی طرح کام کرتا ہے۔

کیا 2025-2026 میں Cordova پر نیا پروجیکٹ شروع کرنا چاہیے؟

نئے پروجیکٹس کے لیے Capacitor تجویز کیا جاتا ہے — بہتر کارکردگی، بلٹ ان Live Reload اور PWA سپورٹ کے ساتھ Ionic ٹیم کا ایک زیادہ جدید متبادل۔ Cordova صرف لیگیسی پروجیکٹس کی دیکھ بھال کے لیے یا اگر ٹیم کے پاس پہلے سے Cordova پر انفراسٹرکچر ہو تو جائز ہے۔

کون سے Cordova پلگ انز سب سے زیادہ مقبول ہیں؟

سب سے زیادہ استعمال ہونے والے پلگ انز ہیں cordova-plugin-camera (کیمرہ تک رسائی)، cordova-plugin-geolocation (GPS)، cordova-plugin-file (فائل سسٹم)، cordova-plugin-inappbrowser (ایپ میں براؤزر) اور cordova-plugin-splashscreen (اسپلیش اسکرین)۔ یہ پلگ انز 80% عام کاموں کو کور کرتے ہیں۔

خلاصہ

  • Apache Cordova HTML، CSS اور JavaScript کے ساتھ موبائل ایپلیکیشنز کے لیے ایک اوپن سورس ہائبرڈ فریم ورک ہے
  • فن تعمیر WebView، URL پروٹوکول کے ذریعے پل اور ماڈیولر نیٹیو پلگ ان سسٹم پر مبنی ہے
  • پلگ انز کیمرہ، GPS، رابطوں، فائل سسٹم اور دیگر ہارڈویئر فنکشنز تک رسائی فراہم کرتے ہیں
  • Cordova CLI create، platform add، plugin add اور build کمانڈز کے ذریعے پروجیکٹ کا انتظام کرتا ہے
  • حدود میں کم پل کی رفتار، Live Reload کی کمی اور کارکردگی کے مسائل شامل ہیں
  • ایکو سسٹم میں PhoneGap، Monaca اور Framework7 شامل ہیں، جو Cordova کی صلاحیتوں کو بڑھاتے ہیں
  • Capacitor نئے پروجیکٹس کے لیے تجویز کردہ متبادل ہے

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں