¿Qué es Firebase?
Si trabajas haciendo apps para móviles, sabes lo complicado que resulta a veces realizar algunas operaciones, sobre todo la gestión multidispositivo con la base de datos. Por ejemplo a la hora de realizar aplicaciones muy grandes como CLMs, hay una enorme inversión de horas de trabajo para crear un backend poderoso que nos permita sincronizar de forma bidireccional la comunicación entre dispositivo y servidor aunque estemos desconectados de la red.
Firebase se podría decir que es un framework de trabajo de Google que nos ayuda con esto y con muchas cosas más. Aunque tiene soporte para web, está más orientada al desarrollo móvil iOS y android, para que los desarrolladores no tengan que preocuparse de desarrollar y mantener un servidor con su backend, además de ofrecer herramientas para la interconexión entre la app y el backend.
Firebase dispone de diferentes funcionalidades, entre las que se encuentran:
- Base de datos en tiempo real: una base de datos gestionada por Google basada en JSON que nos permite, mediante eventos, tener funcionalidades en tiempo real. También nos permite llevar una gestión automática de los datos en el caso de que la aplicación se encuentre sin conexión, sincronizando todos los cambios una vez haya recuperado dicha conectividad.
- Sistema de autentificación de usuarios tanto por email/contraseña como por otros sistemas como facebook, twitter, google, github, etc.
- Cloud Messaging para el envío de notificaciones push a los dispositivos de una forma sencilla.
- Un sistema de almacenamiento y sincronización de ficheros con el dispositivo.
- Un sistema de hosting estático, ideal para realizar páginas estáticas o utilizarlo a modo de CDN de la app.
- Sistema de reporting de errores.
- Laboratorio de pruebas, para realizar pruebas en los dispositivos.
- Funciones lambda basadas en NodeJS para realizar mediante eventos ciertas operaciones.
- Conexión con AdMob para la monetización de la aplicación.
- Configuración remota de la aplicación, pudiendo cambiar dinámicamente funcionalidades de la misma.
Lo más llamativo de Firebase es el Free Tier que ofrece, puesto que un proyecto para arrancar es gratuito, pudiendo dar el salto al pago cuando la aplicación haya crecido lo suficiente. Como opciones de pago disponemos de una tarifa plana de 25$ al mes que nos ofrece lo necesario para funcionar en proyectos de mediana envergadura. También disponemos de un «pago por uso» que nos permite pagar por aquellos recursos que utilicemos y que nos permitirá, de una forma escalonada, ir aumentando los costes poco a poco, según va creciendo nuestra aplicación.