Cordova

من موسوعة حسوب
اذهب إلى: تصفح، ابحث

أباتشي كوردوفا (Apache Cordova، وسنطلق عليه اختصارًا "كوردوفا" فقط) هو إطار تطوير جوال مفتوح المصدر. تسمح لك كوردوفا باستخدام تقنيات الويب القياسية مثل HTML5 و CSS3 و JavaScript لتطوير تطبيق للجوال يعمل على جميع المنصات.

بعض مزايا استعمال كوردوفا هي:

  • احتوائها على واجهة سطر أوامر قوية.
  • توفير الكثير من الإضافات والأدوات التي تسد الحاجة الأساسية لأغلب التطبيقات.
  • المرونة، والسرعة، وقابلية التعديل والتخصيص.
  • تشمل أغلب وأشهر أنظمة تشغيل الهاتف المحمولة والهواتف الذكية مثل أندرويد، و iOS، وويندوز فون، و blackberry، و Ubuntu Touch ...إلخ.
  • وجود مجتمع كبير يوفر الكثير من الدعم والإضافات والمكتبات التي يمكن الاستفادة منها.

تقتصر أغلب مساؤئ استعمال كوردوفا على مساوئ التطبيق الهجين الذي يختلف عن التطبيق الأصيل بعدة نواحٍ منها: التطبيق الهجين أبطأ من الأصيل، ووجود الكثير من مشكلات التوافقية بين المنصات، وهدر الكثير من الوقت في اختبار وتحسين التطبيق على كم هائل من الأجهزة التي سيستهدفها.

محتويات

البدء باستعمال كوردوفا

نظرة عامة

يعطي هذا القسم لمحة مختصرة عن كوردوفا ويشرح المعمارية المتبعة في بناء التطبيقات باستعمال كوردوفا، وعارض الويب المستعمل، وأهمية الإضافات وكيفية توسيعها لعمل التطبيق، ومسارات التطوير المتبعة أثناء إنشاء التطبيق.

تثبيت كوردوفا وإنشاء أول تطبيق

يوضح لك هذا الدليل كيفية تثبيت كوردوفا وإنشاء تطبيق متكامل فيها اعتمادًا على HTML و JS ونشره على العديد من المنصات الأصلية للجوّال باستخدام واجهة سطر أوامر كوردوفا (CLI). للحصول على مرجع تفصيلي حول سطر أوامر كوردوفا، اطلع على صفحة واجهة سطر الأوامر.

استعمال القوالب الجاهزة

يشرح هذا القسم كيفية الاستفادة من القوالب الجاهزة عبر استخدام شيفرة برمجية موجودة مسبقًا لتبني عليها مشروعك. يتطرق أيضًا إلى كيفية إنشاء قالب ومشاركته مع الآخرين.

دعم المنصات

يوضح هذا القسم مجموعة أدوات التطوير وواجهات برمجة التطبيقات للجهاز (device APIs) المتاحة لكل منصة من منصات الجوال.

إنشاء التطبيقات

التطوير على مختلف المنصات

"شيفرة واحدة لتطبيق واحد يعمل على جميع المنصات المستهدفة" هو شعار كوردوفا. باستعمال منصة كوردوفا، يمكنك كتابة شيفرة واحدة لتطبيقك باستعمال تقنيات الويب ثم نشره على المنصات التي تدعمها كوردوفا. سيتناول هذا القسم شرحًا مفصلًا لتطوير ونشر التطبيق على منصات أندرويد و iOS، وويندوز، و OS X.

منصة أندرويد

يوضح هذا القسم كيفية إعداد بيئة SDK لنشر تطبيقات كوردوفا لأجهزة أندرويد، وكيفية استخدام أدوات سطر الأوامر المتمحورة حول أندرويد اختياريًا في سير عمل التطوير الخاص بك.

منصة iOS

يوضح هذا القسم كيفية إعداد بيئة تطوير SDK لنشر تطبيقات كوردوفا للأجهزة التي تعمل على أنظمة iOS مثل iPhone و iPad وكيفية استخدام أدوات سطر الأوامر المرتكزة على منصة iOS بشكل اختياري في سير عمل التطوير الخاص بك. 

منصة ويندوز

يوضح هذا القسم كيفية إعداد بيئة تطوير SDK الخاصة بك لإنشاء تطبيقات كوردوفا ونشرها على منصات Windows 8.1، و Windows Phone 8.1، و Windows 10 Universal App. يوضح أيضًا كيفية استخدام أدوات الصدفة (shell) لتوليد وبناء التطبيقات، أو واجهة سطر أوامر كوردوفا العابر للمنصات. بالإضافة إلى ذلك، يتطرق هذا القسم إلى كيفية تعديل تطبيقات كوردوفا داخل Visual Studio. 

منصة OS X

يوضح هذا القسم كيفية إعداد بيئة تطوير SDK لنشر تطبيقات كوردوفا على أجهزة OS X الحاسوبية.

إدارة إصدارات المنصات والإضافات

القدرة على الحفظ والاستعادة مفيدة جدًا للتطبيقات التي يعمل عليها فريق كبير، بحيث يركز كل عضو في الفريق على منصة أو إضافة معينة. توفر كوردوفا الكثير من المزايا والوسائل لمشاركة المشروع وتقليل حجم الشيفرة البرمجية التي يجب أن يُتحقَّق منها في المستودع. يشرح هذا القسم كيفية إدارة مختلف المنصات والإضافات في كوردوفا مثل الإضافة والإزالة والتحديث والاستعادة بالإضافة إلى الحفظ الجماعي.

تخصيص الأيقونات

يوضح هذا القسم كيفية إعداد أيقونة التطبيق لمختلف المنصات.

تخزين البيانات

يشرح هذا القسم واجهات برمجة التطبيقات (APIs) المتخصصة في التخزين لأجل استخدامها مع تطبيقات كوردوفا. يلخص أيضًا مزايا ومساوئ كل واجهة من الواجهات المتوافرة لتحدِّد أنت الواجهة الأنسب لاستعمالها في تطبيقك. 

إدارة الخصوصية

يتناول هذا الدليل مجال خصوصية تطبيقات الجوّال ويعالج بعض قضاياها المهمة. كما يوضح بعض أفضل الممارسات الشائعة والمقبولة في مجتمع المطورين، ويقدم روابطًا لمراجع أكثر تفصيلاً.

إدارة الأمن

يتضمن هذا القسم بعض شرحًا لأفضل الممارسات الأمنية التي يجب مراعاتها عند تطوير تطبيقات كوردوفا. يرجى الانتباه إلى أن الأمن موضوع معقد للغاية، وأنّ هذا القسم ليس شاملًا.

اللوائح البيضاء

لوائح النطاقات البيضاء (Domain whitelisting) هي نموذج أمني يضبط إمكانية الوصول إلى النطاقات الخارجية التي لا يتحكم فيها تطبيقك. توفر كوردوفا سياسة أمنية قابلة للتعديل لتحديد المواقع الخارجية التي يمكن الوصول إليها.

استعمال الإضافات

الإضافة هي حزمة من الأكواد البرمجية التي تسمح لعارض كوردوفا (Cordova webview)، الذي يُعرض التطبيق من خلاله، التواصل مع المنصة الأصلية (native platform) التي يعمل عليها. توفر الإضافات إمكانية الوصول إلى وظائف الجهاز والمنصة غير المتوفرة عادةً للتطبيقات الشبكية (web-based apps). كل ميزات واجهة كوردوفا البرمجية (Cordova API) الرئيسية تنفَّذ على أنَّها إضافات، فضلًا عن العديد من الإضافات الأخرى التي تتيح ميزات أخرى، مثل ماسحات الرموز الشريطية (bar code scanners) والتحكم باتصالات NFC، وتصميم واجهات التقويم الزمني ...إلخ.

إنشاء إضافة

يوضح هذا القسم خطوات إنشاء إضافة بسيطة تعمل على تمرير سلسلة نصية من JavaScript إلى المنصة الأصلية، والعكس بالعكس. يمكنك استخدامها كنموذج لبناء ميزات أكثر تعقيدًا. يناقش هذا القسم البنية الأساسية للإضافات وواجهة JavaScript المقدمة.

استعمال الأداة Plugman لإدارة الإضافات

منذ الإصدار 3.0 وما بعده، أصبحت كوردوفا تنفِّذ كل الواجهات البرمجية الخاصة بالجهاز (device APIs) على شكل إضافات، لكن لا تفعِّلها افتراضيًا. بناءً على ذلك، أصبحت هنالك حاجة لتوفير أداة تنفذ ذلك وتدير الإضافات - مثل التثبيت والإزالة ...إلخ. - في منصة كوردوفا. هذا الأمر يعتمد على سير العمل المتبع في إنشاء تطبيقك (اطلع على قسم "مسارات التطوير" في الصفحة "نظرة عامة").

سير العمل المرتكز على منصة واحدة يستخدم الأداة Plugman منخفضة المستوى في واجهة سطر الأوامر لكل منصة مستهدفة على حِدة. يقدم هذا القسم تفاصيلًا مفصلة عن كيفية استخدام الأداة Plugman.

استعمال الإضافات وتطويرها على مختلف المنصات

لتعلم كيفية استعمال الإضافات وتطويرها على جميع المنصات، سيتم تطوير مثالالإضافة echo الوارد في دليل تطوير الإضافات، والذي يربط الاتصال بين المعرض webview الخاص بكوردوفا وبين المنصة الأصلية في منصة في كل منصة على حدة. قبل الانتقال إلى الأقسام التالية، راجع صفحة دليل تطوير الإضافات لتكوين نظرة عامة على بنية الإضافات وواجهات JavaScript الخاصة بها.

منصة أندرويد

يشرح هذا القسم كيفية تنفيذ شيفرات الإضافات الأصلية (native plugin code) على منصة أندرويد.

منصة iOS

يقدم هذا القسم تفاصيل عن كيفية تنفيذ شيفرات الإضافات الأصلية (native plugin code) على منصة iOS.

منصة ويندوز

يقدم هذا القسم تفاصيل عن كيفية تنفيذ إضافة لاستخدامها في متجر تطبيقات ويندوز للهواتف وسطح المكتب في ويندوز 8.1 للهاتف (Windows 8.1 phone)، ومنصة ويندوز الكونية (Universal Windows [ويندوز 10+]‎‎).

إضافات جاهزة

توفِّر كوردوفا العديد من الواجهات البرمجية لإضافات أساسية (Core Plugin APIs) جاهزة يمكن تثبيتها واستعمالها مباشرةً في تطبيقك. الإضافات التي سيأتي ذكرها بعد قليل هي الإضافات الأساسية ولكنها ليست كل الإضافات المتاحة في كوردوفا.  تتوافر واجهات برمجة تطبيقات إضافية عبر إضافات من طرف ثالث (third-party plugins). يمكنك في أي وقت إلقاء نظرة على الإضافات الموجودة عبر هذا الرابط.

حالة البطارية

تمنح هذه الإضافة التطبيق إمكانية معرفة حالة بطارية الجهاز.

الكاميرا

توفر هذه الإضافة واجهة برمجية لالتقاط الصور، واختيار الصور من مكتبة الصور داخل النظام.

حالة الجهاز

توفر هذه الإضافة معلومات حول عتاد وبرامج الجهاز الذي يعمل عليه التطبيق. 

مربعات الحوار

توفر هذه الإضافة إمكانية الوصول إلى بعض مربعات الحوار ومربعات التنبيه الأصلية والتحكم بها وعرضها.

الوصول إلى الملفات

توفر هذه الإضافة واجهة برمجية للوصول إلى الملفات، إذ يمكن استخدامها للقراءة من أو الكتابة على الملفات الموجودة على الجهاز.

تحديد الموقع الجغرافي

توفر هذه الإضافة معلومات حول الموقع الجغرافي للجهاز، مثل خط العرض وخط الطول.

متصفح داخلي

تساعد هذه الإضافة على عرض المقالات ومقاطع الفيديو وموارد الويب المفيدة داخل تطبيقك. كما تمُكن المستخدمين أيضًا من الاطلاع على صفحات الويب دون مغادرة التطبيق.

تسجيل الصوت

تُمكّن إضافة تسجيل الصوت من تسجيل وتشغيل الملفات الصوتية على الجهاز.

الوصول إلى الوسائط المتعددة

تمكّن إضافة الوصول إلى الوسائط المتعددة من التقاط الصور وتسجيل الصوت والفيديو على الجهاز.

حالة الشبكة

توفر هذه الإضافة معلومات حول حالة الاتصال بشبكة الاتصال الخليوية (cellular) والشبكة اللاسلكي (wifi)، وتتحقق مما إذا كان الجهاز متصلًا بالإنترنت. 

اتجاه الشاشة

تُستخدَم إضافة اتجاه الشاشة للتحكم باتجاه الشاشة (عبر ضبطها إلى اتجاه محدَّد أو منع تغيير الاتجاه) بشكل موحَّد في المنصات iOS وأندرويد و windows-uwp.

شاشة البدء

تستعمل هذه الإضافة لإنشاء شاشات البدء (splash screens)، إذ تعرض أو تخفي شاشة البدء أثناء فتح التطبيق.

شريط الحالة

توفر هذه الإضافة بعض الدوال التي يمكن استخدامها لتخصيص شريط الحالة في منصتي iOS و أندرويد.

التحكم بالاهتزاز

توفر هذه الإضافة وسيلة للتحكم في اهتزاز الجهاز.

اللائحة البيضاء

توفر هذه الإضافة اللوائح البيضاء التي تحدِّد كيفية التصفح عبر واجهات وصفحات التطبيق في كورودوفا 4.0.

العولمة

تمكّن إضافة العولمة من الحصول على معلومات حول الإعدادات المحلية واللغوية والزمنية للمستخدم.

مواضيع متقدمة

تضمين كوردوفا في تطبيق أصيل

تُنفَذ تطبيقات كوردوفا عادةً على هيئة العارض WebView الذي يستند على متصفحٍ داخل المنصة الأصلية للهاتف. يوضح هذا القسم كيفية إنشاء مكونات العارض WebView الخاصة بك (في المنصات الداعمة) لتحقيق أقصى استفادة ممكنة من الواجهات البرمجية لكوردوفا. يمكنك بعد ذلك نشر تلك المكونات مع المكونات الأصلية للتطبيق الهجين (hybrid application).

الخطوات التالية

يعطي هذا القسم بعض النصائح حول عدة مواضيع تتعلق بأفضل الممارسات المُتعارف عليها بين المطورين، وطرق الاختبار والترقية، ومواضيع أخرى. على أي حال، أنت لست ملزمًا بتطبيقها بل يمكن اعتبارها كنقطة انطلاق نحو مرحلة أكثر تقدمًا.

مراجع

الملف Config.xml

يتضمن الملف Config.xml الإعدادات العامة التي تتحكم في العديد من سلوكيات تطبيقات كوردوفا. هذا الملف هو ملف XML ومستقل عن المنصات، وهو مصاغ وفق مواصفات W3C في تطبيقات الويب المحزَّمة (Widgets)، وقد تم توسيعه لتحديد ميزات الواجهة البرمجية (API) لكوردوفا، والإضافات والإعدادات الخاصة بالمنصات.

الملف Plugin.xml

يعرِّف الملف Plugin.xml بنية وإعدادات الإضافة في مشروعك، ويحتوي على العديد من العناصر التي يمكن استخدامها لتوفير تفاصيل عن الإضافة.

الأحداث

توفر كوردوفا العديد من الأحداث التي يمكن استخدامها من قبل التطبيقات، إذ يمكن إضافة مُنصِتات (listeners) لها لتحسس وقوعها ومعالجتها.

واجهة سطر الأوامر

يقدم هذا القسم معلومات حول واجهة سطر الأوامر الخاصة بكوردوفا، والأوامر التي تُستخدم معها.

الخطافات

يوفر هذا القسم معلومات حول خُطافات كوردوفا (Cordova Hooks) التي هي نصوصٌ برمجية خاصة يمكن إضافتها من قِبل مطوري التطبيقات والإضافات، أو حتى من طرف نظام البناء (build) الخاص بك لتخصيص أوامر كوردوفا. تسمح لك خطافات كوردوفا بالقيام بأنشطة خاصة ترافق أوامر كوردوفا.