عن المشروع

Expo Device Hub هو إضافة لـ Expo DevTools توفر سطح تحكم موحدًا لمحاكيات iOS وأندرويد، مما يتيح للمطورين معاينة الأجهزة والتفاعل معها من المتصفح دون مغادرة سير عملهم. عند تشغيل `expo start`، تسجل لوحة تحكم للأجهزة تعرض بثًا مباشرًا لأي جهاز وتتيح التفاعل المباشر. القدرات الرئيسية: - بث مباشر لمحاكيات iOS وأندرويد في المتصفح. - تفاعل مباشر: النقر والسحب والتمرير والكتابة في الجهاز. - تشغيل الأجهزة وإيقافها وإضافتها دون فتح Xcode أو Android Studio. - يتبع نمط النظام الفاتح/الداكن ويمكنه تبديل مظهر الجهاز. - تغذية كاميرا محاكي أندرويد بصورة PNG من قسم الكاميرا في المفتش. المتطلبات: تحتاج محاكيات iOS إلى macOS مع Xcode؛ وتحتاج محاكيات أندرويد إلى Android SDK (emulator, adb). يتطلب استخدام الـ Hub داخل تطبيق Expo إصدار Expo SDK 57 أو أحدث. الاستخدام: ثبته باستخدام `npx expo install expo-device-hub`، ثم شغل `npx expo start`. يظهر رابط في الطرفية. يمكن تشغيله أيضًا بشكل مستقل عبر `npx expo-device-hub`. المستودع هو مساحة عمل Bun منسقة باستخدام Turborepo. تشمل الحزم إضافة DevTools الرئيسية، وطبقة عميل الأجهزة (@expo/hub-client) التي توحد بروتوكولات الاتصال المختلفة لـ serve-sim (MJPEG/H.264، حزم لمس ثنائية) وserve-emu (H.264 عبر WebCodecs، إيماءات JSON)، ومجموعة واجهات مستخدم خالية من الاعتماديات مبنية على رموز دليل أسلوب Expo، وأدوات مساعدة لأجهزة Apple وأندرويد، وخوادم serve-sim/serve-emu المضمنة. يعرض تطبيق Expo تجريبي الإضافة كما يراها المستخدم النهائي. التطوير: ثبّت الاعتماديات باستخدام Bun 1.3.14 وابنِ جميع الحزم باستخدام `bun run build`. يمكن تشغيل التطبيق التجريبي باستخدام `bun start`. لتكرار واجهة المستخدم، يمكن تشغيل الإضافة كتطبيق ويب Expo مستقل مع إعادة التحميل السريع من Metro؛ خادم الأجهزة مجمع، لذا تتطلب التغييرات تحت src/server تشغيل `bun run build:server`.