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

تم تصميم 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"

بعد إنشاء التطبيق وطرحه من قِبل App Hosting، يتم تشغيل تطبيق Node.js في نسخة 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.