تطبيق (صيغة ملف)
حزمة تطبيقات HarmonyOS ، أو ملف التطبيق (المُعرّف بامتداد الملف ..) .app، [ 1 ] هي صيغة الملف التي يستخدمها نظام التشغيل HarmonyOS . وهي بمثابة تطبيق HarmonyOS أصلي للتوزيع والتثبيت عبر متجر تطبيقات Huawei AppGallery ، أو للتوزيع عبر متجر تطبيقات Huawei Ability Gallery للتطبيقات التي لا تتطلب تثبيتًا، وذلك في كلٍ من نظام الإطار المزدوج الكلاسيكي السابق ونظام HarmonyOS Next الحالي الذي يعتمد على إطار تطبيقات OpenHarmony الموحد. كما يُستخدم ملف التطبيق أيضًا من قِبل عدد من أنظمة التشغيل الأخرى مفتوحة المصدر المبنية على HarmonyOS، مثل أنظمة التشغيل المبنية على OpenHarmony وOniro، لتوزيع وتثبيت التطبيقات وألعاب الفيديو والبرمجيات الوسيطة . ويشمل ذلك أنظمة تشغيل أخرى غير مبنية على OpenHarmony، مثل نظام التشغيل Unity المبني على GNU Linux ، والذي يدعم صيغة ملف التطبيق.
يحتوي كل تطبيق HarmonyOS على ملف واحد أو أكثر من ملفات HarmonyOS Ability Package ( HAP ) بامتداد الملف ".hap"، والملف pack.infoالذي يصف سمات ملف التطبيق.
تحتوي معظم تطبيقات HarmonyOS على ملف HAP واحد على الأقل من نوع الإدخال، وهو الوحدة الرئيسية للتطبيق، وملفات HAP إضافية من نوع الميزة، والتي تُستخدم لتنفيذ ميزة معينة في التطبيق.
ملخص
ملفات App Pack و HAP
يتم توزيع تطبيقات HarmonyOS كملف حزمة برمجية يُعرف باسم App Pack أو ملف App، وينتهي بـ .app، وهو مشابه لحزم البرامج الأخرى مثل apk المستخدمة في نظام التشغيل Android ، أو msi في Microsoft Windows ، أو حزمة deb في أنظمة التشغيل المستندة إلى Debian .
لإنشاء تطبيق HarmonyOS، يلزم استخدام أداة تطوير برمجيات مثل DevEco Studio لكتابة التعليمات البرمجية وتجميع حزمة HarmonyOS Ability Package (HAP) والملفات المرتبطة بها في حزمة التطبيق. [ 2 ]
قد تتضمن ملفات HAP موارد ومكتبات خارجية وملفات تهيئة . تُصنف هذه الملفات إلى نوعين من الوحدات: وحدات الإدخال ووحدات الميزات. تُعد وحدات الإدخال هي الوحدة الرئيسية ويجب تضمينها في حزمة التطبيق، بينما تُعد وحدات الميزات وحدات إضافية لتنفيذ ميزات التطبيق.
علاوة على ذلك، قد يحتوي ملف التطبيق الذي يتضمن إصدارات ومواصفات مختلفة مُحسَّنة للأجهزة المختلفة على أكثر من ملف HAP واحد من نوع الإدخال. [ 3 ]
مرّ تطوير صيغة HAP تاريخيًا بمرحلتين. في المرحلة الأولى، بعد فك الضغط ، كان هناك ملف APK غير قابل للتنفيذ يُستخدم كمدخل للبرنامج للاتصال بمكتبات ملفات AOSP الثنائية للتفاعل مع قاعدة AOSP لنظام HarmonyOS 1.0.1 مع واجهة برمجة التطبيقات 5 لأجهزة التلفاز، ونظام HarmonyOS 2.0 مع واجهة برمجة التطبيقات 6 للهواتف والأجهزة اللوحية. ويعود ذلك إلى عدم اكتمال بيئة التطوير المبكرة لصيغة ملفات التطبيقات الجديدة خلال إطار عمل OpenHarmony المزدوج (الطبقات 3-5) الذي يتضمن تقاربًا بين قاعدة EMUI لنظام Android . خلال المراحل الأولى لتطوير التطبيقات، سهّل مطورو الطرف الثالث عملية تطوير حزم مختلطة من APK وHAP. [ 4 ] منذ إدخال مكتبات HAR على HarmonyOS 3.1 API 9 مع إطار عمل البرمجة التصريحية ArkUI وتطور ArkTS من eTS في الإصدار 3.0، كلغة برمجة أساسية تحل محل ثنائيات Java في المرحلة الثانية من HAP، تم التخلص من ملفات APK بعد فك الضغط على HarmonyOS 3.1 Developer Preview API 9 Stage Model Ability، ولا يمكن تحويل HAP إلى APK عن طريق فك الضغط والتغليف البسيط، لذلك فإن تنسيق ملف HAP ليس غلافًا لملف APK.
قبل تجميع ملفات HAP في حزمة التطبيق، يُسمح بتشغيلها مباشرةً على جهاز حقيقي أو محاكي لتمكين المطورين من تصحيح الأخطاء والتحقق من التطبيقات أثناء مرحلة التطوير. [ 5 ]
بعد التطوير، يمكن توزيع التطبيقات التي تحتوي على معلومات التوقيع على أجهزة مختلفة باستخدام AppGallery Connect، وهي مجموعة أدوات من الخدمات لإنشاء التطبيقات وتطويرها وتوزيعها وصيانتها. [ 6 ]
الحزم المشتركة

لمشاركة التعليمات البرمجية والموارد في حزمة التطبيق، يوفر نظام التشغيل نوعين من الحزم المشتركة: أرشيف هارموني (HAR) ، وهي حزمة مشتركة ثابتة، وحزمة هارموني المشتركة (HSP) ، وهي حزمة مشتركة ديناميكية. [ 7 ]
يُمكّن كلٌّ من HAR وHSP من مشاركة الشيفرة البرمجية ومكتبات C++ والموارد وملفات التكوين. في HAR، تُجمَّع الشيفرة والموارد مع الوحدات النمطية المُستدعِية، مما قد ينتج عنه نسخ متعددة من الشيفرة والموارد نفسها. في المقابل، يسمح HSP بالتجميع المستقل، مما يؤدي إلى وجود نسخة واحدة فقط من الشيفرة والموارد في المنتج النهائي. [ 7 ]
عندما تشير عدة تطبيقات HAP إلى نفس ملف HAR، يمكن استخدام HSP بدلاً من ذلك لمشاركة بعض متغيرات الحالة وتقليل حجم حزمة التطبيق. ومع ذلك، فإن HSP له بعض القيود؛ على سبيل المثال، لا يدعم تعريف القدرات في ملف التكوين الخاص به، ويجب أن تكون وحدات الاستدعاء الخاصة به في نفس نموذج المرحلة كما هو الحال مع HSP. [ 7 ]
في OpenHarmony 4.1، تم تحسين واجهة برمجة التطبيقات (API) 11 لتشمل HSP على مستوى النظام، والذي يدعم ترقيات OTA ضمن نظام إدارة حزم التطبيقات. كما يدعم تحديث API 11 ضمن مكتبة الفئات الأساسية العامة إنشاء عمال (Workers) في HSP وHAR، حيث يُسند المستخدم مهمةً ما ويستمر في تنفيذها، بينما يقوم العامل، أو عدة عمال (يُعرفون أيضًا باسم مجموعات الخيوط) ، بمعالجة المهمة على خيط منفصل. يتم استدعاء دالة رد نداء عند استدعاء دالة خاصة مُقدمة في الاستدعاء الأولي. [ 8 ]
بنية ملفات التطبيق
عادةً ما يحتوي هيكل ملف التطبيق بعد بنائه وتغليفه في نموذج مرحلي على الملفات والمجلدات التالية. [ 9 ]
entry.hapوfeature.hap: الوحدات الأساسية لكل من أنواع الإدخال والميزات لتثبيت تطبيق، والتي تحتوي على المجلدات والملفات التالية.ets: مجلد يخزن ملفات البايت كود التي تم إنشاؤها بعد بناء الكود.libs: مجلد يخزن ملفات التبعية للوحدة الرئيسية.resources: مجلد يحتوي على ملفات موارد مثل الرسومات والوسائط المتعددة وسلاسل الأحرف والتخطيطات.resources.indexملف يحتوي على جدول فهرس الموارد الذي يتم إنشاؤه عند إنشاء التطبيق.app.json5وmodule.json5: ملفات JSON تحتوي على معلومات التكوين لأدوات البناء ونظام التشغيل وأسواق التطبيقات. [ 10 ]
pack.infoملف يصف خصائص حزمة التطبيق.
انظر أيضاً
مراجع
- ↑柳، 伟卫 (2022). تم تحديث نظام التشغيل HarmonyOS الجديددار نشر جامعة تسينغهوا . رقم ISBN 9787302596424.
- ↑ "Huawei DevEco Studio - تطبيق Huawei HarmonyOS" . Developer.harmonyos.com . تم الاسترجاع بتاريخ 2023-08-20 .
- ↑ "أساسيات التطبيق" . developer.harmonyos.com . تم الاطلاع عليه بتاريخ 2023-08-20 .
- ↑ خالسا، بهاميني (13 يناير 2024). "ممارسة تطوير Youku Hongmon | حزمة Youku Android و HarmonyOS Hap الهجينة" . Mo4Tech . تم الاسترجاع في 24 مارس 2024 .
- ↑ "نظرة عامة - بناء تطبيقك" . developer.harmonyos.com . تم الاطلاع عليه بتاريخ 2023-08-20 .
- ↑ "نظرة عامة - AppGallery Connect" . developer.huawei.com . تم الاطلاع عليه بتاريخ 2023-08-20 .
- ↑ بيتس، كريزت (أبريل 2024). "إصدار OpenHarmony 4.1 متوفر الآن مع أكثر من 4000 واجهة برمجة تطبيقات جديدة" . GAMINGDEPUTY . تم الاطلاع عليه بتاريخ 16 أبريل 2024 .
- ↑ "هيكل حزمة التطبيق في نموذج المرحلة" . developer.harmonyos.com . تم الاطلاع عليه بتاريخ 2023-08-20 .
- ↑ "نظرة عامة على ملف تكوين التطبيق (نموذج المرحلة)" . developer.harmonyos.com . تم الاطلاع عليه بتاريخ 21-08-2023 .
- تنسيقات الأرشيف
- أنظمة التشغيل المدمجة
- أنظمة تشغيل الأجهزة المحمولة
