Todo lo que necesitas para evaluar, configurar y construir con Firebase incluyendo Web Apps: servicios clave, ejemplos de código listos para copiar, reglas de seguridad, despliegue y mejores prácticas.
Enlace oficial: firebase.google.com
¿Qué es Firebase y cuándo usarlo?
Firebase es una plataforma de Google que acelera el desarrollo de aplicaciones web y móviles al ofrecer servicios administrados como autenticación, base de datos en tiempo real, Firestore, almacenamiento de archivos, funciones serverless, hosting, analítica, mensajería push y más. Su propuesta “Backend as a Service” te permite enfocarte en la experiencia de usuario, delegando infraestructura y operaciones.
Casos ideales
- MVPs y prototipos: lanzar rápido con autenticación y datos persistentes sin montar servidores.
- Apps en tiempo real: chats, tableros, colaboraciones y dashboards actualizados al instante.
- Equipos pequeños: menos DevOps, más foco en producto.
Cuándo considerar alternativas
- Consultas complejas: si dependes de joins avanzados o reporting pesado, evalúa un data warehouse o una base relacional aparte.
- Reglas de compliance estrictas: revisa ubicación de datos, cifrado y certificaciones, o combina con otros servicios de Google Cloud.
- Lock-in: si la portabilidad absoluta es crítica, define una capa de abstracción desde el inicio.
Arquitectura y servicios clave
Autenticación (Authentication)
Proveedores listos (Email/Password, Google, Apple, Facebook, etc.), gestión de sesiones segura y SDKs para Web, Android e iOS.
Base de datos: Firestore vs Realtime Database
Característica | Cloud Firestore | Realtime Database |
---|---|---|
Modelo | Documentos y colecciones | Árbol JSON |
Consultas | Compuestas, indexadas | Básicas, por ruta |
Escalabilidad | Alta, global | Alta, por árbol |
Tiempo real | Sí (listeners) | Sí (suscripciones) |
Storage
Almacenamiento de archivos con URLs firmadas, reglas de acceso y soporte para grandes volúmenes de datos.
Cloud Functions
Backend serverless que responde a eventos (HTTP, Firestore, Auth, Storage, etc.) sin administrar servidores.
Hosting
CDN global, HTTPS por defecto, soporte a SPA y previews por canal.
Otros servicios
- Remote Config y A/B Testing: activa o desactiva features y experimenta sin publicar versiones nuevas.
- Analytics: métricas de uso, embudo, retención e ingresos.
- App Check: protege recursos de abuso (bots, emuladores no autorizados).
- Emulator Suite: prueba localmente sin costo ni riesgo.
Configuración inicial para Web
- Crea un proyecto: en Firebase Console.
- Registra tu app web: obtiene el objeto de configuración (apiKey, authDomain, projectId, etc.).
- Elige SDK: modular (recomendado) vía NPM o CDN.
Opción CDN (rápida para prototipos)
Opción NPM (para proyectos con bundler)
Autenticación
Habilita proveedores en Firebase Console > Authentication. En Web, usa el SDK modular para crear flujos con pop-ups o redirecciones.
Para apps móviles, integra los SDK nativos (Android/iOS) con el mismo proyecto para compartir usuarios y reglas.
Base de datos: Firestore
CRUD básico
Reglas de seguridad (ejemplo)
Índices
Consultas compuestas requieren índices. La consola sugiere el índice al detectar errores; crea solo los necesarios para controlar costos.
Almacenamiento de archivos (Storage)
Usa rutas por usuario/proyecto y valida accesos con reglas.
Reglas (ejemplo)
Hosting y despliegue
- Instala CLI:
npm i -g firebase-tools
- Login:
firebase login
- Inicializa:
firebase init hosting
(elige proyecto y carpeta de distribución) - Build (si aplica):
npm run build
- Deploy:
firebase deploy --only hosting
Para SPA, agrega un rewrite
a /index.html
en firebase.json
para manejar rutas del lado del cliente.
Cloud Functions (backend serverless)
Ideal para lógica sensible, integraciones de terceros, webhooks y tareas programadas.
HTTP onRequest (Node.js)
Mensajería Push (FCM) en la web
Requiere permisos del navegador y un Service Worker. Úsalo para notificaciones transaccionales o re-engagement.
Client
Service Worker
Seguridad y mejores prácticas
- Reglas primero: escribe, prueba y versiona reglas de Firestore/Storage; usa el Emulador para validarlas.
- Principio de mínimo privilegio: solo lo necesario para cada ruta/colección.
- Validación en reglas: tipa campos, tamaños y ownership; no confíes solo en el cliente.
- Separación de entornos: proyectos Dev/Staging/Prod con datos y claves distintas.
- App Check: activa para proteger recursos de abuso automatizado.
- Claves del cliente: la apiKey no es secreta, pero sí restringe acceso vía reglas y dominios autorizados.
- Observabilidad: usa Analytics, Performance y logs de Functions para detectar problemas temprano.
Costos y planificación
- Modelo: capa gratuita útil para desarrollo; en producción pagas por uso (lecturas/escrituras, almacenamiento, egress).
- Presupuestos y alertas: configúralos en Google Cloud para evitar sorpresas.
- Optimiza lecturas: indexa lo justo, pagina resultados y usa caché en cliente.
- Batch y colas: consolida escrituras y usa Functions para tareas costosas.
Herramientas para desarrollo local
Emulator Suite te permite probar Auth, Firestore, Storage, Functions y Hosting localmente.
Recursos recomendados
Conclusión
Firebase reduce la complejidad operativa y acelera el time-to-market con un conjunto de servicios integrados, seguros y escalables. Empieza por autenticación y Firestore, define reglas sólidas, automatiza con Functions y despliega en Hosting. Con el Emulador y buenas prácticas de seguridad/costos, podrás iterar rápido y crecer con confianza.
Explora más en firebase.google.com.