Entornos compatibles con el SDK de Firebase JavaScript

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
  • IE 11
  • Node.js
  • Versiones anteriores a Safari 10.1
  • Versiones anteriores a iOS 10.3
fetch
  • Cloud Functions
  • Performance Monitoring

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.