عن المشروع

Hippy هو إطار عمل لتطوير التطبيقات عبر المنصات من شركة تينسنت، يهدف إلى تمكين المطورين من الكتابة مرة واحدة والتشغيل على منصات متعددة، بما في ذلك iOS وAndroid والويب. يُصوَّر كإطار صديق لمطوري الويب، خاصة أولئك الملمّين بالفعل بـ React أو Vue، ويوفر دعمًا رسميًا لهذين الإطارين. الخصائص الرئيسية الموصوفة في ملف README: - واجهات برمجة تطبيقات متطابقة عبر المنصات المختلفة. - التواصل بين طبقة JavaScript والكود الأصلي عبر ربط محرك JS. - مكوّن مدمج قابل لإعادة التدوير لتحسين الأداء. - مسار للانتقال السلس إلى متصفح الويب. - دعم كامل لمحرك تخطيط Flex، عبر مشروع Taitank من تينسنت. يذكر ملف README أن Hippy يُستخدم في منتجات تينسنت مثل Mobile QQ ومتصفح Mobile QQ وتينسنت فيديو وQQ Music وتينسنت نيوز. البدء يتضمن تجهيز البيئة (git وnpm وgit-lfs لملفات so/gz/otf)، ثم بناء نماذج تجريبية لنظامي iOS وAndroid. على macOS، يتطلب الأمر Xcode مع iOS SDK وAndroid Studio مع NDK وNode.js؛ ويُوصى باستخدام Homebrew للاعتماديات. على Windows، يُدعم Android Studio مع NDK وNode.js، لكن تطوير iOS غير ممكن. لنظام iOS، سير العمل هو: استنساخ المستودع وتشغيل npm install في الجذر؛ ثم الانتقال إلى driver/js وتشغيل npm run init (الذي يجمع بين npm install وnpx lerna bootstrap وnpm run build)؛ اختيار نموذج تجريبي عبر npm run buildexample (hippy-react-demo أو hippy-vue-demo أو hippy-vue-next-demo)؛ تثبيت CocoaPods وcmake، وتشغيل pod install في framework/examples/ios-demo؛ ثم فتح HippyDemo.xcworkspace في Xcode وبناؤه. لنظام Android، يوصي ملف README بهاتف حقيقي بدلاً من المحاكي، مشيرًا إلى أن محرك X5 JS لا يدعم محاكيات x86 وأن محاكيات ARM ضعيفة الأداء. بعد نفس خطوات init وbuildexample، يُفتح المشروع الجذري في Android Studio، ويُوصَّل جهاز مع تمكين تصحيح USB، ويُشغَّل ملف APK ويُثبَّت. تصحيح أخطاء نموذج JS يتضمن تشغيل npm run init:example وnpm run debugexample مع اختيار نموذج وعلامة dev. في وضع التصحيح، تُربط حزم مثل @hippy/react و@hippy/vue و@hippy/vue-next بدلائل dist في driver/js/packages بدلاً من node_modules، لذا يلزم إعادة البناء بعد تغييرات المصدر. الإصدارات الإنتاجية تستخدم npm run hippy:vendor وnpm run hippy:build لإنتاج حزم vendor وindex لنظامي Android وiOS، مع تقسيم DllPlugin للحزم الشائعة وحزم التطبيق. هيكل المستودع يشمل devtools وطبقة DOM وطبقات driver (مع driver JS الذي يحتوي على أمثلة وحزم مثل hippy-react وhippy-react-web وhippy-vue وhippy-vue-css-loader وhippy-vue-loader وhippy-vue-native-components وhippy-vue-router)، وكود إطار العمل لنظامي Android وiOS مع أمثلة، ومحرك تخطيط، ووحدات لنظام Android وfootstone، وعارضات لـ Flutter والأصلي (Android/iOS)، وأصول ثابتة. التوثيق متاح على framework.tds.qq.com، مع أمثلة في المستودع وملاحظات الإصدار في إصدارات GitHub. المشروع مرخّص بموجب Apache-2.0 ويرحب بالمساهمات وفق دليل المساهمة، مع منظمة نظام بيئي في hippy-contrib ومحرك تخطيط Taitank كمشروع ذي صلة.