نعم لقد قمت بعمل تطبيق بسيط جدا ً فقط لغرض تجربة التعامل مع PhoneGap، عبارة عن تطبيق قارئ RSS.
عجبتني امور كثيرة في ال PhoneGap لكن اهمها هو المحاكي، عانيت كثيرا مع محاكي الاندرويد التابع لل اندرويد SDK دائما مشاكل وبطيئ جدا ً، لكن الـ PhoneGap لديهم تطبيق تنزله على جوالك وبرنامج صغير جدا ً تنزله على حاسوبك اسمه (PhoneGap Desktop App) يعمل لك سيرفر افتراضي تحدد مجلد مشروعك ثم بنقرة زر يشتغل التطبيق على جوالك بسرعة وبدون تأخير، وبإمكانك ايضا معاينة التطبيق على محاكي الاندرويد تبع الـ SDK.
ايضا موضوع تصميم شكل التطبيق ال UI، الـ HTML تعطيك مرونة كبيرة في تصميم الواجهة افضل من الـ Java هذا غير انك ستجد واجهات كثيرة على الانترنت يمكنك استخدامها.
اذا كنت مطور او مصمم ويب ستجد الموضوع ممتع جدا ً اكثر من تعاملك مع ال Java.
أنا ارى أن المزايا تكمن في سهولة تحويل تطبيقك ل IOS و Windows خلال ثوان ، علاوة على عدم الحاجة لوجود خبرة Java
السيئات تكمن في صعوبة العمل كلما زاد حجم العمل ، لا يمكنك فعل كل شيء ، أداء التكبيق سيكون منخفض وحجمه سيكون أكبر من حجم مثيله في JAVA
أنا أرى أنه في حال كانت الميزانية المخصصة للبرنامج قليلة أو المتطلبات قليلة ف الفون غاب خيار جيد ، وفي حال كان التطبيق كبيرا أو معقدا أو يتطلب مواصفات محددة جدا فالأكيد أن البرمجة باستعمال JAVA هي الخيار الأصح
قمنا سابقا بإستخدام Titanium SDK في عمل تطبيق بسيط يجلب فقط بيانات من القاعدة.
الحقيقة التطبيق كان حجمة اضعاف حجم Native App وكذلك الأداء كان ابطىء وبه مشاكل ويتوقف.
لا تأخذ بكلامي ان Hybrid App سيئة ولكن اقول لك تحتاج شخص له تجارب كثيرة مع هذه الـ SDK ويفهم كيف يحل المشاكل. كما تلاحظ ان هنالك شركات قامت ببناء مشاريع رائعة بإستخدام Titanium SDK ويمكنك الرجول لموقعهم لترى نماذج من اعمال الشركات التي تمت بهذه الـ SDK . ايضا اذا لم تسمع عن Corona SDK فإطلع عليها لعلك تتخذ قرار اخر في بناء هذا النوع من التطبيقات. أيضا إطلع على Cordova التي يمكنك التعامل معها بإستخدام jQuery .
ما احب ان اذكره في الختام أن Native App لا شك انها افضل واسرع واقل مشاكل وتجد لها مطورين كثيرين لو تعرقلت. كذلك هي المناسبة للمشاريع التي بها Heavy Processing ... اما Hybrid App فهي خيار مناسب لو كانت ميزانيتك بسيطة وتريد Cross-platform App ويكون تطبيقك لمشروع بسيط الى متوسط ولا يحتاج الى إستخدام System Resources كثيراً. بالإضافة الى ان Hybrid App يوجد بها بعض الحدود للوصول الى System Resources ولكن طبعاً المكتبات عددها كبير وفي تزايد والشركات مستمرة في التطوير.
تجربة سيئة جدا جدا جدا ، انصحك بالابتعاد عن برمجة التطبيقات بالHTML5 ، ستجد مجموعة من المقالات التي تطبل و تزمر للفكرة ، ولكن أؤكد لك أن ولا أحد من هؤلاء المدونين قامو بتجريب المعاناة في جعل تطبيقك يعمل بشكل جيد على جميع الاجهزة ، ناهيك عن ثقل التطبيق و الحجم الكبير وتعقد عملية البرمجة الخ.