Firebase es una base de datos NoSQL alojada en la nube que utiliza un modelo de documento. Se puede escalar horizontalmente mientras le permite almacenar y sincronizar datos en tiempo real entre los usuarios. Esto es excelente para las aplicaciones que se utilizan en varios dispositivos, como las aplicaciones móviles. Firebase está optimizado para uso sin conexión con una fuerte seguridad basada en el usuario que también permite aplicaciones basadas en servidor.
Firebase se basa en la infraestructura de Google y está diseñado para escalar automáticamente. Además de la funcionalidad estándar de la base de datos NoSQL, Firebase incluye análisis, autenticación, supervisión del rendimiento, mensajería, informes de fallos y mucho más. Debido a que es un producto de Google, también hay integración con muchos otros productos. Esto incluye la integración con Google Ads, AdMob, Google Marketing Platform, Play Store, Data Studio, BigQuery, Slack, Jira y más.
Las API de Firebase están empaquetadas en un solo SDK que se puede expandir a múltiples plataformas e idiomas. Esto incluye C++ y Unity, que son populares para el desarrollo móvil.
Trabajar con Firebase
Un proyecto de Firebase es un grupo de recursos que puede incluir una base de datos, así como elementos como cuentas de usuario, análisis y cualquier cosa que se pueda compartir entre varias aplicaciones cliente. Una aplicación de Firebase es una sola aplicación que puede ser respaldada por el proyecto de Firebase. Un proyecto de Firebase puede tener varias aplicaciones de Firebase dentro.
Para crear un proyecto de Firebase, vaya al sitio de Firebase en Firebase.Google.com. En la esquina superior derecha (como se muestra en la figura 1), haga clic en el botón Ir a la consola. Esto lo llevará a la consola donde puede construir su proyecto.
Figura 1: El sitio de Firebase
El primer paso para construir un proyecto de Firebase es ingresar un nombre para su proyecto y aceptar los términos de Firebase como se muestra en la figura 2 donde he creado un proyecto llamado "Proyecto de prueba - BLJ".
Figura 2: Poner nombre a tu proyecto de Firebase.
Después de nombrar su proyecto, pasará por dos o tres pantallas adicionales para configurar su proyecto. La otra configuración sobre la que se le preguntará es si desea habilitar el análisis. Google Analytics es gratuito y proporciona orientación e informes sobre lo que está haciendo. Esto le permitirá hacer cosas de manera más efectiva, como pruebas A/B, segmentación de usuarios y focalización de disparadores de Cloud Functions basados en eventos y predicciones de comportamiento de usuarios. El proceso de configuración le permitirá usar una cuenta de Google Analytics existente o configurar una nueva. Una vez que haya recorrido el asistente de configuración, se le informará cuando se haya creado su proyecto, como se muestra en la Figura 3.
Figura 3: Configuración del proyecto de Firebase completada
Con el proyecto creado, puede hacer clic en el botón Continuar, que lo llevará a la página de sus proyectos, que será similar a la que se muestra en la Figura 4.
Figura 4: Proyecto Firebase
Es importante tener en cuenta que el proyecto se ha creado bajo un plan Spark gratuito. Esto significa que habrá cuotas de uso para la base de datos, Firestore, almacenamiento, funciones, autenticación telefónica, alojamiento y uso del laboratorio de pruebas. En general, la cuenta gratuita le permitirá ponerse en marcha con muchos proyectos pequeños.
En el área de uso de la base de datos en tiempo real con la cuenta gratuita (en el momento en que se escribió este artículo), puede tener 100 conexiones simultáneas, almacenar hasta 1 GB de datos y tener 10 GB de descargas cada mes. Solo tiene una base de datos dentro de un proyecto. Dicho esto, si desea utilizar el almacenamiento fuera de la base de datos, la cuenta gratuita proporciona hasta 5 GB de almacenamiento con descargas de hasta 1 GB por día. Puede hacer 20,000 cargas y 50,000 descargas por día. Sin embargo, solo puede tener un cubo de almacenamiento por proyecto.
Si necesita eludir estas restricciones de uso, o si desea ampliar su proyecto con Google Cloud Platform, deberá actualizar a una cuenta de Blaze. Expande las cantidades de uso.
Firebase Cloud Firestore frente a Firebase Realtime Database
Firebase tiene dos soluciones diferentes basadas en la nube que admiten la sincronización de datos en tiempo real. Estos son Cloud Firestore y Firebase Realtime Database. Realtime Database es la base de datos original de Firebase que funciona con sincronización entre clientes en tiempo real. Es una solución eficaz y de baja latencia ideal para aplicaciones móviles. Cloud Firestore es una oferta más nueva que ofrece más escalabilidad y un acceso más rápido que las bases de datos en tiempo real. Por ejemplo, uno cambia que cuando Realtime Database toma una colección de elementos de una base de datos, también toma todas las subcolecciones. Con Cloud Firestore, las consultas son superficiales porque no toman subcolecciones.
¿Qué sigue?
Este artículo fue una introducción rápida a Firebase. Puede acceder a firebase.google.com y crear un proyecto con una cuenta gratuita hoy mismo. En el próximo artículo, verá cómo usar una base de datos de Firebase desde una aplicación web simple.
# # #