البيئات المتوافقة
يتم دعم حزمة تطوير برامج JavaScript لمنصّة Firebase رسميًا في البيئات التالية.
المتصفحات
منتج Firebase | Edge | Firefox | Chrome | متصفح iOS Safari | Safari |
---|---|---|---|---|---|
فحص التطبيقات | |||||
إحصاءات Google | |||||
المصادقة | |||||
Cloud Firestore | (باستثناء المثابرة) |
(باستثناء الثبات في حال كان نظام التشغيل iOS < 10) |
|||
وظائف السحابة الإلكترونية | |||||
عمليات تثبيت Firebase | |||||
المراسلة عبر السحابة الإلكترونية | (Edge 17+ ، باستثناء الجوّال) |
||||
التخزين في السحابة الإلكترونية | |||||
مراقبة الأداء | |||||
قاعدة بيانات الوقت الفعلي | |||||
الإعداد عن بُعد | |||||
Vertex AI for Firebase |
بيئات أخرى
منتج Firebase | التفاعل المدمج مع المحتوى | Node.js | إضافات Chrome |
كوردوفا |
---|---|---|---|---|
فحص التطبيقات | (استخدام مقدّم خدمة مخصّص لإجراء مصادقة الجهاز الأصلي) |
(باستخدام مقدّم خدمة مخصّص) |
||
إحصاءات Google | ||||
المصادقة | (يُرجى الاطّلاع على الملاحظة) |
(يُرجى الاطّلاع على الملاحظة) |
(يُرجى الاطّلاع على الملاحظة) |
(يُرجى الاطّلاع على الملاحظة) |
Cloud Firestore | (باستثناء المثابرة) |
(باستثناء المثابرة) |
||
وظائف السحابة الإلكترونية | ||||
عمليات تثبيت Firebase | ||||
المراسلة عبر السحابة الإلكترونية | ||||
التخزين في السحابة الإلكترونية | (باستثناء عمليات التحميل) |
|||
مراقبة الأداء | ||||
قاعدة بيانات الوقت الفعلي | ||||
الإعداد عن بُعد | ||||
Vertex AI for Firebase |
تعويض الميزات المفقودة من المتصفحات
تمّ إنشاء حزمة تطوير برامج (SDK) JavaScript لمنصة Firebase استنادًا إلى أحدث معايير النظام الأساسي للويب. لا تتوافق بعض المتصفحات القديمة وبيئات JavaScript مع جميع الميزات التي يتطلبها Firebase. إذا كان لا بد أن تكون هذه المتصفحات/البيئات متوافقة، عليك تحميل رموز polyfill وفقًا لذلك.
تحدد الأقسام أدناه معظم رموز polyfill التي قد تحتاجها.
رموز polyfill المطلوبة
البيئات | رموز polyfill |
---|---|
Safari 7 و8 و9 | إسطبل ES |
العقدة < 6.5 | إسطبل ES |
رموز polyfill اختيارية
البيئات | رموز polyfill | منتجات Firebase |
---|---|---|
|
جلب |
|
|
base-64 |
|
رموز polyfill المقترَحة
رموز polyfill | الترخيص |
---|---|
قناة ES الثابتة | MIT |
جلب | MIT |
base-64 | MIT |
إعداد Polyfill مطلوب لكل من React Native وExpo
بالنسبة إلى React Native وExpo إذا كنت تحمِّل سلسلة Base-64 مرمّزة، عليك إجراء ما يلي:
تثبيت base-64 من npm:
npm install base-64
يمكنك استيراد "decode
" من base-64
وإرفاقه بالنطاق العمومي باسم "atob
" حتى
تتمكّن خدمة Cloud Storage من الوصول إليه.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
إضافة رموز polyfill إلى تطبيقك
الخيار 1: (يُنصح به) استخدام أداة الحِزم المدمجة مع Babel
إذا كنت تستخدم أداة حزم، يمكنك الدمج مع Babel و@babel/preset-env للحصول على رموز polyfill.
استخدِم دليل الإعداد التفاعلي من Babel لمعرفة كيفية دمج Babel مع أداة الحِزم.
باستخدام Babel، لا داعي للقلق بشأن أشكال polyfill المحددة التي يجب تضمينها. بدلاً من ذلك، يمكنك تحديد الحد الأدنى من بيئات المتصفح التي تحتاج إلى دعمها. بعد ذلك، يضيف Babel رموز polyfill اللازمة لك. يضمن Babel دائمًا استيفاء متطلبات التوافق مع المتصفِّح، حتى إذا بدأ Firebase أو التعليمات البرمجية في استخدام ميزات ES الجديدة.
يتضمن @babel/preset-env معلومات تفصيلية حول خيارات الضبط المتاحة لتحديد أهداف البيئة (الخيار targets
) وإضافة رموز polyfills (الخيار useBuiltIns
).
الخيار 2: (لا ننصح بهذا الخيار) إضافة رموز polyfill يدويًا
يمكنك إضافة رموز polyfill يدويًا باستخدام مكتبات رموز polyfill المفضّلة لديك (على سبيل المثال، core-js
).
import 'core-js/stable'
import 'cross-fetch/polyfill';
توفر السمة core-js
أيضًا ملف polyfill شامل يمكنك تضمينه مباشرةً في صفحة HTML.
قد يكون هذا الخيار طريقة سهلة لإدارة رموز polyfill إذا كنت لا تستخدم Babel. ومع ذلك، لا ننصح باستخدام هذا الخيار الشامل لتطبيقات الإنتاج لأنّه من المحتمل أن يتضمّن رموز polyfill غير ضرورية، ما يؤدي إلى زيادة حجم الصفحة وبالتالي زيادة وقت تحميل الصفحة.