PhoneGap هو إصدار تجاري من Apache Cordova من Adobe يتيح إنشاء تطبيقات محمولة باستخدام HTML وCSS وJavaScript مع إمكانية البناء في السحابة بدون SDK محلية. أصبحت المنصة أول إطار هجين معروف على نطاق واسع ولعبت دوراً رئيسياً في نشر التطوير عبر المنصات. وفقاً لـ Adobe PhoneGap، 2024، تم إنشاء أكثر من مليون تطبيق خلال فترة وجود المنصة. PhoneGap Build هو الخدمة الرئيسية من Adobe التي تقوم بالتجميع إلى APK وIPA بدون تثبيت Xcode أو Android Studio.
الملامح الرئيسية
PhoneGap هي منصة لتطوير التطبيقات المحمولة، تم إنشاؤها في الأصل بواسطة Nitobi Software في عام 2009. في عام 2011، استحوذت Adobe على Nitobi وأصدرت PhoneGap كمنتج تجاري، ونقلت نواة الإطار إلى مؤسسة Apache Software تحت اسم Cordova.
تم إنشاء PhoneGap في مؤتمر iPhoneDevCamp في عام 2008، حيث عرض مطورو Nitobi Software تقنية تغليف تطبيقات الويب في حاوية أصلية. صدرت النسخة العامة الأولى في عام 2009 وجذبت على الفور انتباه مجتمع مطوري الويب الذين كانوا يبحثون عن طرق لدخول سوق التطبيقات المحمولة دون تعلم Objective-C.
كان الابتكار الرئيسي لـ PhoneGap هو أن المطورين يمكنهم استخدام تقنيات الويب المألوفة — HTML وCSS وJavaScript — لإنشاء تطبيقات تُثبت على الجهاز عبر متاجر التطبيقات وتتمتع بإمكانية الوصول إلى الوظائف الأصلية: الكاميرا ونظام تحديد المواقع وجهات الاتصال ومقياس التسارع.
وفقاً لـ Adobe Developer Relations (2015)، في فترة الذروة، كان أكثر من 600 ألف مطور حول العالم يستخدمون PhoneGap. كانت المنصة شائعة بشكل خاص بين استوديوهات الويب والمستقلين الذين أرادوا توسيع محفظتهم بمشاريع محمولة دون توظيف مهندسي iOS وAndroid.
يكمن الاختلاف الرئيسي بين PhoneGap وApache Cordova في نموذج التوزيع والخدمات الإضافية. Cordova هو إطار مفتوح المصدر بحت تحت إدارة مؤسسة Apache، بينما PhoneGap هو إصدار تجاري منه مع ميزات Adobe الحصرية.
| الخاصية | Apache Cordova | PhoneGap (Adobe) |
|---|---|---|
| الترخيص | Apache 2.0 (مفتوح) | Apache 2.0 + مكونات مملوكة |
| النواة | الكود الأصلي | نفس كود Cordova |
| البناء السحابي | غير متوفر | PhoneGap Build |
| الأدوات | CLI + بيئات تطوير طرف ثالث | Adobe PhoneGap Desktop + CLI |
| الدعم | مجتمع Apache | Adobe (حتى 2020) |
الميزة الرئيسية والفرق التجاري الأهم لـ PhoneGap مقارنة بـ Apache Cordova هي خدمة PhoneGap Build التي تتولى مرحلة التجميع. يقوم المطور بتحميل ملفات المصدر إلى خادم Adobe، ويختار المنصات المستهدفة ويحصل على ملفات ثنائية جاهزة بدون تثبيت Android SDK أو Xcode أو أدوات البناء المرتبطة بها.
بالإضافة إلى ذلك، تضمن PhoneGap التكامل مع Adobe Creative Cloud، مما يسمح للمصممين بتصدير التصاميم من Photoshop مباشرة إلى هيكل مشروع PhoneGap. كانت هذه الميزة مطلوبة في الفرق الصغيرة التي ليس لديها مطور محمول مخصص.
PhoneGap Build هي خدمة ويب من Adobe تقوم بتجميع كود مصدر تطبيق PhoneGap/Cordova إلى ملفات تثبيت لنظام iOS (.ipa) وAndroid (.apk) وWindows Phone (.xap) ومنصات أخرى. لا يحتاج المستخدم إلى تثبيت SDK لأنظمة التشغيل المستهدفة على جهاز الكمبيوتر الخاص به.
تتكون عملية البناء من ثلاث خطوات: يقوم المطور بأرشفة المشروع (أو الإشارة إلى مستودع Git)، وتحميله إلى build.phonegap.com واختيار المنصات. في غضون بضع دقائق، يعيد الخادم ملفات ثنائية جاهزة للتحميل إلى متاجر التطبيقات.
دعم PhoneGap Build نوعين من الاشتراكات: مجاني (حتى تطبيقين، بناء عام) ومدفوع (حتى 25 تطبيقاً، بناء خاص، أيقونات وشهادات مخصصة). لنظام iOS، كان مطلوباً شهادة توقيع من Apple Developer Program، يقوم المستخدم بتحميلها إلى حسابه الشخصي. كانت آلية Build بسيطة: يرسل المستخدم ملف ZIP أو يشير إلى مستودع Git، ويقوم الخادم تلقائياً بتحديد المنصات وإعادة الملفات الثنائية الجاهزة عبر لوحة التحكم.
وفقاً لمدونة Adobe (2017)، كان يمر عبر PhoneGap Build أكثر من 500 ألف بناء شهرياً. كانت الخدمة شائعة بشكل خاص في المؤسسات التعليمية والهاكاثونات حيث لم يكن لدى المشاركين إمكانية الوصول إلى بنية Mac التحتية. كما استخدم المطورون Build لعرض النماذج الأولية للعملاء مباشرة على الأجهزة دون إعداد البيئة.
هيكل مشروع PhoneGap مطابق لـ Cordova. الاختلاف الوحيد هو في ملف التكوين config.xml، حيث تتم إضافة عنصر
<?xml version='1.0' encoding='utf-8'?>
<widget id='com.adobe.phonegap.app'
version='1.0.0'
xmlns='http://www.w3.org/ns/widgets'
xmlns:gap='http://phonegap.com/ns/1.0'>
<name>PhoneGapApp</name>
<description>
تطبيق PhoneGap
</description>
<gap:platform name='ios' />
<gap:platform name='android' />
<gap:plugin name='cordova-plugin-camera' />
<gap:config platform='ios' min-version='13.0' />
</widget>
يحدد ملف التكوين هذا تطبيقاً مع دعم iOS وAndroid، ويحدد إصدار iOS 13 الأدنى ويضمّن إضافة الكاميرا. عند التحميل إلى PhoneGap Build، يتعرف الخادم تلقائياً على هذه الإعدادات ويبني المشروع بالتبعيات المطلوبة.
مثال على كود JavaScript أساسي مع معالجة حدث جاهزية الجهاز واستدعاء حوار أصلي:
document.addEventListener('deviceready', function() {
console.log('PhoneGap جاهز للعمل');
document.getElementById('btnAlert')
.addEventListener('click', function() {
navigator.notification.alert(
'مرحباً من PhoneGap!',
function() { console.log('موافق'); },
'رسالة',
'إغلاق'
);
});
});
الحدث deviceready هو نقطة دخول إلزامية في جميع تطبيقات PhoneGap وCordova. بدون هذا الحدث، لن تعمل استدعاءات API الأصلية لأن الجسر لم يتم تهيئته بعد. بعد الجاهزية، تتوفر جميع الإضافات بما في ذلك notification.alert لنوافذ الحوار الأصلية.
كان لـ PhoneGap عدد من المزايا التي جعلته شائعاً في منتصف العقد الأول من القرن الحادي والعشرين، لكنه كان يمتلك أيضاً قيوداً أدت إلى انخفاض حصته في السوق بعد عام 2018.
الميزة الرئيسية لـ PhoneGap هي الحاجز المنخفض للدخول لمطوري الويب. HTML وCSS وJavaScript هي تقنيات يتقنها أي متخصص في الواجهات الأمامية، مما سمح لاستوديوهات تطوير الويب بدخول سوق التطبيقات المحمولة بسرعة دون توظيف مهندسي iOS وAndroid.
حلت خدمة PhoneGap Build السحابية مشكلة البنية التحتية: يمكن للفرق التي تعمل على Windows بناء تطبيقات iOS دون شراء Mac. كان هذا أمراً حاسماً للشركات الناشئة ذات الميزانيات المحدودة للمعدات.
العيب الرئيسي لـ PhoneGap هو الأداء. WebView أبطأ من أطر واجهات المستخدم الأصلية، خاصة مع الرسوم المتحركة المعقدة والقوائم الكبيرة ومعالجة الرسومات. وفقاً لاختبارات HTML5Rocks (2016)، استغرق عرض قائمة من 1000 عنصر 200–400 مللي ثانية في PhoneGap مقابل 16–30 مللي ثانية في التطبيق الأصلي.
تضمنت القيود الإضافية الاعتماد على إصدار WebView على جهاز المستخدم، ومشاكل في تصحيح أخطاء الإضافات الأصلية وعدم الوصول إلى واجهات برمجة التطبيقات الجديدة لنظامي iOS وAndroid حتى إطلاق إضافات Cordova المقابلة.
في عام 2020، أعلنت Adobe عن إنهاء دعم PhoneGap وPhoneGap Build. قامت الشركة بنقل التطويرات إلى المجتمع مع توصية بالانتقال إلى Apache Cordova أو Capacitor. تم إغلاق PhoneGap Build وأصبح البناء السحابي غير متاح بعد الآن.
لمشاريع PhoneGap الحالية، يُوصى بالهجرة إلى Capacitor — هذا مسار مباشر مع تغييرات طفيفة في الكود. يكفي استبدال نصوص التهيئة وتحديث التكوين. يبقى كود JavaScript وقوالب HTML دون تغيير، لأن Capacitor يستخدم نفس مبادئ الجسر.
الخيار البديل هو الانتقال مباشرة إلى Apache Cordova. يتطلب هذا تثبيت المنصات محلياً عبر CLI وإعداد البناء المحلي، لكنه يحافظ تماماً على التوافق مع الإضافات الحالية وهندسة التطبيق.
على الرغم من الإغلاق، من الصعب المبالغة في تقدير الأهمية التاريخية لـ PhoneGap. كان PhoneGap هو من أثبت للسوق أن تقنيات الويب يمكن أن تكون أساساً للتطبيقات المحمولة، ممهداً الطريق لأطر العمل الهجينة ومتعددة المنصات الحديثة. مفهوم البناء السحابي، الذي تم تطبيقه لأول مرة في PhoneGap Build، تم تبنيه لاحقاً من قبل Ionic Appflow وVisual Studio App Center وخدمات التكامل المستمر الأخرى للمشاريع المحمولة.
القرارات المعمارية لـ PhoneGap — الجسر عبر WebView، ونظام الإضافات والتكوين عبر config.xml — أصبحت المعيار الفعلي للتطوير الهجين. حتى في مشاريع Capacitor الحديثة، يظهر إرث PhoneGap: نفس مبادئ العمل مع الإضافات وعملية بناء مماثلة.
للمطورين الذين يصونون مشاريع PhoneGap القديمة، المهارة الرئيسية هي فهم جسر الإضافات والقدرة على تكييف الإضافات مع الإصدارات الحديثة من Android وiOS. بدون ذلك، يصبح تحديث التطبيق لمتطلبات المتاجر الجديدة مستحيلاً بسبب أذونات النظام القديمة.
الأسئلة الشائعة
PhoneGap لا يحصل رسمياً على دعم من Adobe منذ عام 2020، لكن التطبيقات المبنية عليه تستمر في العمل. بناء مشاريع جديدة عبر PhoneGap Build غير متاح. يُوصى بالهجرة إلى Capacitor أو Apache Cordova للحصول على تحديثات الأمان.
Ionic هو طبقة فوقية فوق Cordova (ولاحقاً Capacitor) تضيف مكونات واجهة المستخدم والتوجيه وأدوات البناء. PhoneGap هو إصدار من Cordova مع بناء سحابي لكن بدون مكونات واجهة مستخدم خاصة به. يستخدم Ionic Cordova أو Capacitor كخلفية للوصول الأصلي.
بفضل PhoneGap Build، لم يكن Mac مطلوباً — كان بناء iOS يتم على خوادم Adobe. بعد إغلاق Build، يتطلب بناء iOS جهاز Mac مع Xcode، حيث أن Apache Cordova وCapacitor يقومان بتجميع المشاريع الأصلية محلياً عبر أدوات Apple.
PhoneGap متوافق مع جميع إضافات Apache Cordova لأنه يستخدم هندسة متطابقة. الإضافات cordova-plugin-camera وcordova-plugin-geolocation وcordova-plugin-file وcordova-plugin-inappbrowser تعمل دون تغيير. لم تكن هناك إضافات خاصة بـ PhoneGap فقط.
تعلم PhoneGap كأداة جديدة ليس له معنى — فهو غير مدعوم. ومع ذلك، فإن فهم هندسته مفيد لصيانة المشاريع القديمة. للتطبيقات الهجينة الجديدة، يُوصى بتعلم Capacitor مع Ionic أو React Native.
الخلاصة
سنقوم بتطوير تطبيق جوال جاهز
تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.