قبل البدء في إنشاء نموذج أولي لتطبيق الويب واختباره باستخدام المحاكي Firebase Hosting، تأكَّد من أنك تفهم سير العمل Firebase Local Emulator Suite العام، ومن أنك تثبّت وتُعدّ Local Emulator Suite وتراجع أوامر واجهة سطر الأوامر الخاصة بها.
يجب أيضًا أن تكون على دراية بميزات وسير عمل عملية التنفيذ لـ Firebase Hosting. ابدأ بـ مقدمة عن Firebase Hosting.
ما الذي يمكنني فعله باستخدام المحاكي Firebase Hosting؟
يوفّر المحاكي Firebase Hosting محاكاة محلية عالية الدقة لـ Hosting خدمات، ما يوفّر معظم الوظائف المتوفّرة في بيئة الإنتاج Hosting. يتيح لك المحاكي Hosting ما يلي:
- إنشاء نموذج أولي لمواقعك الإلكترونية الثابتة وتطبيقات الويب بدون تكبّد رسوم تخزين أو وصول
- إنشاء نموذج أولي لوظائف HTTPS واختبارها وتحديد الأخطاء فيها قبل نشرها على موقعك الإلكتروني المستضاف
- اختبار المواقع الإلكترونية وتطبيقات الويب في عمليات سير عمل التكامل المستمر المستندة إلى الحاويات
اختيار مشروع Firebase
تحاكي Firebase Local Emulator Suite المنتجات لمشروع Firebase واحد.
لاختيار المشروع الذي تريد استخدامه، نفِّذ الأمر firebase use في دليل العمل قبل بدء المحاكيات في واجهة سطر الأوامر. يمكنك أيضًا تمرير
العلامة --project إلى كل أمر من أوامر المحاكي.
Local Emulator Suite تتيح محاكاة مشاريع Firebase الحقيقية و مشاريع العرض التوضيحي.
| نوع المشروع | الميزات | الاستخدام مع المحاكيات |
|---|---|---|
| حقيقي |
مشروع Firebase الحقيقي هو مشروع أنشأته وأعددته (على الأرجح من خلال وحدة تحكّم Firebase). تحتوي المشاريع الحقيقية على موارد نشطة، مثل مثيلات قاعدة البيانات أو مساحات التخزين أو الدوال أو أي مورد آخر أعددته لمشروع Firebase هذا. |
عند العمل مع مشاريع Firebase الحقيقية، يمكنك تشغيل المحاكيات لأي من المنتجات المتوافقة أو جميعها. بالنسبة إلى أي منتجات لا تحاكيها، ستتفاعل تطبيقاتك ورمزك مع المورد النشط (مثيل قاعدة البيانات أو مساحة التخزين أو الدالة وما إلى ذلك). |
| عرض توضيحي |
لا يحتوي مشروع Firebase التجريبي على أي إعداد حقيقي في Firebase و لا على أي موارد نشطة. يمكن عادةً الوصول إلى هذه المشاريع من خلال المختبرات البرمجية أو البرامج التعليمية الأخرى. تحتوي أرقام تعريف مشاريع العرض التوضيحي على البادئة |
عند العمل مع مشاريع Firebase التجريبية، تتفاعل تطبيقاتك ورمزك مع المحاكيات فقط. إذا حاول تطبيقك التفاعل مع مورد لا يتم تشغيل محاكي له، سيتعذّر تنفيذ هذا الرمز. |
ننصحك باستخدام مشاريع العرض التوضيحي كلما أمكن ذلك. تتضمّن المزايا ما يلي:
- إعداد أسهل، لأنّه يمكنك تشغيل المحاكيات بدون إنشاء مشروع Firebase على الإطلاق
- أمان أقوى، لأنّه إذا استدعى الرمز عن طريق الخطأ موارد غير محاكاة (في بيئة الإنتاج)، لن يكون هناك أي احتمال لتغيير البيانات أو الاستخدام أو الفوترة
- دعم أفضل بلا إنترنت، لأنّه لا حاجة إلى الوصول إلى الإنترنت لتنزيل إعدادات حزمة تطوير البرامج (SDK)
سير عمل النماذج الأولية الأساسي
إذا كنت تجري تكرارات سريعة أو أردت أن يتفاعل تطبيقك مع موارد مشروع الخلفية المحاكية، يمكنك اختبار محتوى Hosting وإعداداتها محليًا. عند الاختبار محليًا، تعرض Firebase تطبيق الويب على عنوان URL مستضاف محليًا.
(اختياري) يتفاعل تطبيقك المستضاف محليًا تلقائيًا مع موارد المشروع الحقيقية، وليس المحاكاة (الدوال وقاعدة البيانات والقواعد وما إلى ذلك). يمكنك بدلاً من ذلك ربط تطبيقك اختياريًا لاستخدام أي موارد مشروع محاكاة أعددتها. مزيد من المعلومات: Realtime Database | Cloud Firestore | Cloud Functions
من جذر دليل مشروع على جهاز المستخدم، نفِّذ الأمر التالي:
firebase emulators:start
افتح تطبيق الويب على عنوان URL المحلي الذي تعرضه واجهة سطر الأوامر (عادةً
http://localhost:5000).لتعديل عنوان URL المحلي بالتغييرات، أعِد تحميل المتصفّح.
الاختبار من أجهزة محلية أخرى
لا تستجيب المحاكيات تلقائيًا إلا للطلبات الواردة من localhost. يعني ذلك أنّه يمكنك الوصول إلى المحتوى المستضاف من متصفّح الويب على جهاز الكمبيوتر، ولكن ليس من الأجهزة الأخرى على شبكتك. إذا أردت إجراء الاختبار من أجهزة محلية أخرى، اضبط ملف firebase.json على النحو التالي:
"emulators": {
// ...
"hosting": {
"port": 5000,
"host": "0.0.0.0"
}
}
إنشاء رموز مصادقة لعمليات سير عمل التكامل المستمر
إذا كانت عمليات سير عمل التكامل المستمر تعتمد على "استضافة Firebase"، عليك تسجيل الدخول باستخدام رمز مميّز لتشغيل firebase emulators:exec. لا تتطلّب المحاكيات الأخرى تسجيل الدخول.
لإنشاء رمز مميّز، نفِّذ الأمر firebase login:ci على بيئتك المحلية. يجب عدم تنفيذ هذا الأمر من نظام تكامل مستمر. اتّبِع التعليمات للمصادقة.
ما عليك سوى تنفيذ هذه الخطوة مرة واحدة لكل مشروع، لأنّ الرمز المميّز سيكون صالحًا على مستوى جميع عمليات الإنشاء. يجب التعامل مع الرمز المميّز ككلمة مرور، لذا تأكَّد من الحفاظ على سريته.
إذا كانت بيئة التكامل المستمر تتيح لك تحديد متغيرات البيئة التي يمكن استخدامها في النصوص البرمجية للإنشاء، ما عليك سوى إنشاء متغيّر بيئة باسم FIREBASE_TOKEN، وتكون قيمته سلسلة الرمز المميّز للوصول. ستختار واجهة سطر الأوامر
Firebaseتلقائيًا متغيّر البيئة FIREBASE_TOKEN وستبدأ المحاكيات بشكل صحيح.
كحلّ أخير، يمكنك ببساطة تضمين الرمز المميّز في النص البرمجي للإنشاء، ولكن تأكَّد من عدم وصول الأطراف غير الموثوق بها إليه. بالنسبة إلى هذا النهج المبرمَج
، يمكنك إضافة --token "YOUR_TOKEN_STRING_HERE" إلى الأمر
firebase emulators:exec.
ما هي الخطوة التالية؟
- شغِّل بداية سريعة باستخدام المحاكي Hosting باتّباع الدرس التطبيقي حول الترميز على الويب في Firebase.
- تعرَّف على كيفية إنشاء نموذج أولي لوظائف HTTPS باستخدام المحاكي Hosting كما هو موضّح في أدلة "استضافة Firebase" للدوال.
- للاطّلاع على مجموعة منسّقة من الفيديوهات وأمثلة تفصيلية حول كيفية التنفيذ، يُرجى اتّباع قائمة تشغيل التدريب على محاكيات Firebase.