Entornos compatibles
El SDK de Firebase JavaScript es compatible oficialmente con los siguientes entornos.
Navegadores
Producto de Firebase | IE 11 | Edge | Firefox | Chrome | Safari iOS | Safari |
---|---|---|---|---|---|---|
Analytics | ||||||
Authentication | ||||||
Cloud Firestore | (excepto persistencia) |
(excepto persistencia) |
(excepto persistencia en versiones anteriores a iOS 10) |
|||
Cloud Functions | ||||||
Cloud Messaging | (Edge 17 y versiones posteriores) |
|||||
Cloud Storage | ||||||
Performance Monitoring | ||||||
Realtime Database | ||||||
Remote Config |
Otros entornos
Producto de Firebase | React Native | Node.js | Extensiones de Chrome |
Cordova |
---|---|---|---|---|
Analytics | ||||
Authentication | (consulta la nota) |
(consulta la nota) |
(consulta la nota) |
(consulta la nota) |
Cloud Firestore | (excepto persistencia) |
(excepto persistencia) |
||
Cloud Functions | ||||
Cloud Messaging | ||||
Cloud Storage | (excepto cargas) |
|||
Performance Monitoring | ||||
Realtime Database | ||||
Remote Config |
Polyfills
El SDK de Firebase JavaScript se compiló según los estándares más recientes de la plataforma web. Algunos entornos de JavaScript y navegadores más antiguos no son compatibles con todas las funciones que requiere Firebase. Tendrás que cargar polyfills según corresponda si necesitas admitir estos entornos o navegadores.
En las siguientes secciones, se identifica la mayoría de los polyfills que podrías necesitar.
Polyfills necesarios
Entornos | Polyfills |
---|---|
IE 11 | ES Stable |
Safari 7, 8 y 9 | ES Stable |
Versiones anteriores a Node.js 6.5 | ES Stable |
Polyfills opcionales
Entornos | Polyfills | Productos de Firebase |
---|---|---|
|
fetch |
|
Polyfills recomendados
Polyfills | Licencia |
---|---|
ES Stable | MIT |
fetch | MIT |
Agrega polyfills a tu aplicación
Opción 1: Usa un agrupador integrado en Babel (recomendado)
Si usas un agrupador, intégralo en Babel y @babel/preset-env para obtener polyfills.
Para obtener información sobre cómo integrar Babel en tu integrador, usa la guía de configuración interactiva de Babel.
Con Babel, no tienes que preocuparte de los polyfills exactos que debes incluir. Basta con que especifiques los entornos de navegador mínimos que quieres admitir, y Babel agregará los polyfills necesarios. Además, la herramienta garantiza que siempre se cumplan los requisitos de compatibilidad con navegadores, incluso si Firebase o tu propio código comienza a usar funciones de ES nuevas.
@babel/preset-env ofrece información detallada sobre las opciones de configuración disponibles para especificar objetivos de entorno (opción targets
) y agregar polyfills (opción useBuiltIns
).
Opción 2: Agrega polyfills manualmente (no recomendado)
Puedes agregar polyfills manualmente con tus bibliotecas de polyfill favoritas (por ejemplo, core-js
).
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
también ofrece un archivo de polyfills todo en uno que puedes incluir directamente en la página HTML.
Si no usas Babel, esta es una opción conveniente para administrar polyfills. Sin embargo, no recomendamos esta opción de todo en uno para las apps de producción, ya que podrían incluirse polyfills innecesarios y aumentar el peso y el tiempo de carga de la página.