الأطر والأدوات لاستضافة التطبيقات

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

أُطر عمل الويب وApp Hosting

App Hosting توفّر مستويَين عامَّين من الدعم لأُطر عمل الويب الحديثة: دعم مُعدّ مسبقًا لعمليات الإنشاء والنشر، ودعم على مستوى المنتدى من خلال المساهمات في البرامج المفتوحة المصدر التي تتوافق مع مواصفات حِزم الإخراج. في كلتا الحالتين، يتيح مكوّن محوّل إطار العمل دمج إطار عمل معيّن مع App Hosting.

أُطر عمل تتضمّن دعمًا مُعدًّا مسبقًا لعمليات الإنشاء والنشر

من خلال ميزة دعم الإنشاء والنشر التي تم ضبطها مسبقًا، يحدّد Firebase إطار العمل الذي تستخدمه من خلال فحص ملف package-lock.json أو ملف قفل آخر، ويحسّن عمليات الإنشاء والنشر لتطبيقك. تلتزم Google بمواصلة دعم أُطر العمل هذه، ويمكن لفريق دعم Firebase قبول تقارير المشاكل وطلبات الميزات.

يتم تقديم هذا المستوى من الدعم لما يلي:

  • Next.js
  • Angular

يُرجى الاطّلاع على جداول الدعم للحصول على تفاصيل حول إصدارات ومستويات دعم محدّدة.

إذا حاولت نشر تطبيق Node.js لا يتضمّن ملف قفل، سيتعذّر على App Hosting إنشاء تطبيقك وتشغيله. يمكنك إنشاء package-lock.json من خلال تشغيل npm install في الدليل الجذري.

أُطر العمل المتوافقة مع المنتدى

بالإضافة إلى Next.js وAngular، يتيح App Hosting أيضًا استخدام أي إطار عمل ويب يمكنه توفير مخرجات إصدار تتطابق مع مواصفات حزمة المخرجات. يمكن لمؤلفي إطار العمل الاستفادة من مواصفات حزمة الإخراج لضمان توافق إطار العمل الخاص بهم مع App Hosting. على سبيل المثال، يحظى إطار عمل Nuxt الرائج بدعم من فريق Nitro الذي أنشأ محوّل Firebase لإتاحة نشر تطبيقات Nuxt على App Hosting.

إذا أردت الاطّلاع على أُطر عمل إضافية متوافقة مع App Hosting، يمكنك إنشاء محوِّل لإطار العمل أو التواصل مع مشرفي إطار العمل لتحويل مخرجات الإصدار إلى تنسيق App Hosting. تُعدّ محوّلات Next.js وAngular أمثلة مرجعية جيدة لأي شخص ينشئ محوّلاً.

يمكن العثور على معلومات حول أُطر العمل التي يدعمها المنتدى على Firebase Open Source. يجب توجيه المشاكل وطلبات الميزات الخاصة بأُطر العمل التي يوفّرها المنتدى إلى منتدى البرامج المفتوحة المصدر أو مؤلفي أُطر العمل. في بعض الحالات، قد تتمكّن Google من تقديم المساعدة، ولكن المنتدى هو خط الدعم الأول لهذه المحوّلات.

محوّلات إطار العمل "App Hosting"

في App Hosting، يتم توفير الدعم لكل من أُطر العمل التي تم ضبطها مسبقًا وتلك التي يدعمها المنتدى من خلال محوّلات أُطر العمل. تؤدي محوّلات إطار عمل App Hosting دورَين رئيسيَّين:

  • فهي تحلّل الرمز المصدر وأي ملفات إعداد خاصة بإطار العمل (مثل next.config.js) وتنشئ حزمة ناتجة يمكن معالجتها من خلال بقية البنية الأساسية في App Hosting.
  • وتشغّل أمر إنشاء تطبيقك لإنشاء مواد عرض ثابتة وإنشاء نسخة محسّنة من تطبيقك للإنتاج.

تُنشئ محوّلات إطارات العمل تطبيق Node.js باستخدام npm run build، وتعمل بشكل أفضل مع نصوص الإنشاء البرمجية التلقائية لكل إطار عمل: next build لـ Next.js و ng build لـ Angular. سيحاول App Hosting إنشاء إصدارات باستخدام أوامر إنشاء مخصّصة، ولكن لا يمكن ضمان نجاحها بشكل موثوق. يمكنك تجاوز نصوص الإنشاء والتشغيل في apphosting.yaml.

يتوفّر مصدر محوّلات Next.js وAngular في apphosting-adapters.

أوقات تشغيل "App Hosting"

بعد إنشاء تطبيق Node.js وطرحه من قِبل App Hosting، يتم تشغيله في نسخة Cloud Run. وبناءً على ذلك، يجب أن يكون إصدار وقت التشغيل لتطبيقك ضمن كل من النطاق المتوافق مع Cloud Run ونطاق إطار عمل الويب الذي اخترته. بالنسبة إلى الدعم المُعدّ مسبقًا لإطارَي العمل Angular وNext.js، يعني ذلك أنّ الإصدارات التالية من إطار العمل وNode.js متوافقة:

  • الإصدار 13.5.x من Next.js والإصدارات الأحدث
  • الإصدار 18.2.x من Angular والإصدارات الأحدث
  • الإصدار 22 من Node.js والإصدارات الأحدث

لا يوفّر App Hosting تلقائيًا دعمًا نشطًا لإصدارات إطار العمل التي تم إصدارها حديثًا. ستُعتبر الإصدارات الأحدث من الإصدار "النشط" حاليًا في حالة "معاينة" إلى أن يتم وضع علامة "نشط" عليها رسميًا في App Hosting.

يتيح App Hosting الدعم الطويل الأمد (LTS) لأحدث رقم إصدار ثانوي من إصدار رئيسي لمدة عام واحد من فترة توفّر الدعم الفني النشطة، بشرط التحديث باستمرار إلى أحدث إصدارات التصحيح ضمن رقم الإصدار الثانوي هذا. يمكنك الرجوع إلى الجداول التالية للاطّلاع على تفاصيل Next.js وAngular.

الجدول الزمني لإتاحة Next.js

الإصدار الحالة الإيقاف النهائي
13.5.x lts 2026-10-9
14.2.x lts 2026-10-9
15.0.x lts 2027-10-9
15.1.x lts 2027-10-9
15.2.x نشطة وليس قبل ‎2026-10-9

جدول دعم Angular

الإصدار الحالة الإيقاف النهائي
18.2.x lts 2026-10-9
19.0.x lts 2027-10-9
19.1.x lts 2027-10-9
19.2.x نشطة -

التحديثات التلقائية للصور الأساسية (ABIU)

"التحديثات التلقائية للصورة الأساسية" (ABIU) هي ميزة تطبّق تلقائيًا التصحيحات البرمجية الأمنية على بيئة التشغيل الأساسية بدون الحاجة إلى بدء طرح تطبيق جديد.

App Hosting defaults to enabling ABIU for new backends, with these specific requirements:

  • بيئات التشغيل المحدّدة الإصدار: لاستخدام ABIU، يجب تحديد بيئة تشغيل محدّدة الإصدار (مثل nodejs22 أو nodejs24). App Hosting يتيح استخدام إصدارات Node.js ذات الأرقام الزوجية، ما يعكس دعم Cloud Run.
  • مطابقة package.json: يجب أن يكون إصدار Node الذي تختاره لـ App Hosting متوافقًا مع الإصدار المحدّد في حقل engines في ملف package.json. في حال عدم التطابق، سيظهر لك خطأ في وقت الإنشاء من Cloud Build. في أي وقت تغيّر فيه الحقل engines، تأكَّد من تعديل وقت تشغيل الخلفية قبل النشر.

جارٍ إيقاف ABIU

إذا أردت إيقاف ميزة ABIU، يمكنك إيقافها أثناء عملية الإعداد أو من خلال اختيار غير محدّد لوقت التشغيل في وحدة تحكّم Firebase. وعند استخدام الإعداد التلقائي لـ nodejs بدون إصدار، يتم إيقاف ABIU تلقائيًا.

إدارة إصدارات وقت التشغيل

يمكنك الاطّلاع على إصدار وقت التشغيل في الخلفية وإعدادات ABIU المفضّلة وتغييرها في أي وقت في علامة التبويب الإعدادات في لوحة بيانات App Hosting. ومع ذلك، يُرجى العلم أنّ تغيير إصدار بيئة التشغيل قد يؤدي إلى تعطُّل تطبيقك إذا كان الإصدار الجديد غير متوافق مع الرمز البرمجي.

تصل إصدارات وقت التشغيل في النهاية إلى نهاية دورة حياة الدعم. من المهم الحفاظ على تحديث بيئات التشغيل لتجنُّب التغييرات التي قد تؤدي إلى عطل:

  • بيئات التشغيل المتوقفة نهائيًا: إذا تم إيقاف بيئة التشغيل التي اخترتها نهائيًا، سيستمر تطبيقك في العمل بشكل عام. ستتلقّى تحذيرًا في وحدة التحكّم، وعليك الانتقال إلى إصدار أحدث في أقرب وقت ممكن. لمزيد من المعلومات، يمكنك الاطّلاع على مستندات Cloud Run حول دورة حياة وقت التشغيل.
  • بيئات التشغيل التي تم إيقافها نهائيًا: لا يتم توفير أي دعم لبيئات التشغيل التي تم إيقافها نهائيًا. لن يُسمح لك بإنشاء إصدارات أو خلفيات جديدة باستخدام إصدار تم إيقافه نهائيًا، وستؤدي محاولة إجراء ذلك إلى ظهور خطأ في الإصدار. قد تتوقف عمليات النشر الحالية التي تعمل على الإصدارات التي تم إيقافها نهائيًا عن العمل، وتحتفظ "Cloud Run" بالحق في حذفها.

للحصول على قائمة كاملة بإصدارات Node المتوافقة والمتوقفة نهائيًا والقديمة، يُرجى الاطّلاع على مستندات دعم بيئة التشغيل في Cloud Run. لمزيد من التفاصيل الفنية حول آلية عمل تحديثات الصور الأساسية، يُرجى الاطّلاع على مستندات Cloud Run ABIU.

أدوات إدارة الحِزم

يستخدم App Hosting Cloud Native Buildpacks لتنفيذ عملية تثبيت التبعيات وإنشاء التطبيق باستخدام npm أو yarn أو pnpm. لا تتوافق مع مدراء الحزم الآخرين، مثل JSR.

NPM

  • ‫NPM هو مدير الحِزم التلقائي.
  • تتم إزالة التبعيات غير الإنتاجية بعد نجاح عملية الإنشاء.
  • يمكنك تحديد قسم إصدار npm باستخدام حقل engines.npm في ملف package.json.

خيط غزل

  • يتم استخدام Yarn بدلاً من ذلك عند تضمين ملف yarn.lock في مشروعك.
  • يمكنك تحديد إصدار yarn المطلوب استخدامه في الحقل engines.yarn أو packageManager في ملف package.json.
  • يتيح App Hosting استخدام وضع Yarn2 PnP.

Pnpm

  • يتم استخدام Pnpm بدلاً من ذلك عند تضمين ملف pnpm-lock.yaml في مشروعك.
  • يمكنك تحديد إصدار pnpm في الحقل engines.pnpm أو packageManager في ملف package.json.
  • للاطّلاع على مثال عملي، يمكنك مراجعة تطبيق sample-node-pnpm.

مستودعات أحادية لـ "App Hosting"

يتوافق App Hosting مع تطبيقات المستودع الواحد Nx وTurborepo. يُرجى الاطّلاع على استخدام المستودعات الواحدة مع App Hosting للحصول على إرشادات مفصّلة.

تتوفّر إصدارات Nx التالية:

الإصدار الحالة الإيقاف النهائي
20.8.x lts not before 2027-10-9

إذا كنت بحاجة إلى دعم لأنواع أخرى من مساحات عمل المستودعات الواحدة، يُرجى إعلامنا بذلك على Firebase UserVoice.