🧭 Almacena datos con ¡Realtime Database! #048

Avatar
5 min lectura

Utilicemos el servicio que hizo popular a Firebase y que permite agregar persistencia de datos en la nube a nuestras aplicaciones Android.

📍 El mapa de hoy:

  • ANDROID FIREBASE: Realtime Database
  • Noticias y contenido útil: Exposed, optimización de imágenes, animaciones en Compose y más…
  • Píldoras de la semana

Si prefieres pasar de tutoriales y recibir una formación como BugDroid manda, aquí tienes Compose Expert para convertirte en… Expert de Compose 😁


¿Sabías qué aproximadamente el 75% de los usuarios desinstalan una aplicación si esta se demora más de 5 segundos en cargarse o mostrar nueva información en tiempo real? Es un dato interesante pero también compromete a los desarrolladores a la necesidad crítica de mantener a los usuarios comprometidos con datos frescos y actualizados constantemente.

Por ello tenemos un servicio con mucha popularidad, el cual es Realtime Database de Firebase, que es una solución en la nube que ofrece una base de datos en tiempo real, lo que significa que los cambios se reflejan instantáneamente en todos los dispositivos conectados. Esta característica es especialmente útil cuando se trata de aplicaciones colaborativas, chats en tiempo real y cualquier otro escenario donde la sincronización en tiempo real sea esencial.

Integrarlo a una aplicación Android u otras, puede resultar sumamente sencillo, y acá te mostramos algunas ventajas y desventajas de utilizar Realtime Database:

Ventajas:

  • Tiempo real: Tal como su nombre indica, Realtime Database ofrece sincronización en tiempo real, lo que permite que los datos se actualicen instantáneamente en todos los dispositivos conectados.
  • Escalabilidad: Firebase se encarga de ajustar los servidores o la administración de recursos a medida que aumentan los datos, por lo que no necesitamos manejar manualmente esas funcionalidades.
  • Offline: Firebase también permite almacenar localmente los datos en el dispositivo y se sincronizan automáticamente con la base de datos en la nube ni bien se restablece la conexión.
  • Seguridad: Proporciona autenticación y reglas de seguridad configurables para proteger tus datos.

Desventajas:

  • Estructura plana: Realtime Database utiliza una estructura de datos plana en un JSON el cuál es un único árbol plano. Lo que limita a tener una estructura más compleja.
  • Consultas complejas: No tiene un sistema de consultas robusto como las bases de datos relacionales, solamente un nivel básico de acceso o consulta de datos.
  • Migración: Cambiar de Realtime Database a otro sistema de base de datos puede resultar complejo debido a la estructura específica de Firebase.
  • Costos variables: Si bien se tiene una capa gratuita, pero los costos pueden aumentar a medida que tu aplicación crece y recibe más tráfico.

Pero en líneas generales, la elección de usar Realtime Database de Firebase para nuestras aplicaciones Android dependerá de las necesidades específicas de tu proyecto y de tu preferencia por la simplicidad de implementación y la sincronización en tiempo real frente a consideraciones más complejas relacionadas con la estructura de datos y las consultas avanzadas.

Y si necesitas una guía paso a paso para integrar este servicio a tu aplicación Android con Kotlin y Jetpack Compose, tenemos un video para ti:

>>ANDROID FIREBASE | Realtime Database 🗄️

📰 Noticias y contenido útil

🔥 Exposed: De ser un ORM/DAO ligero escrito en Kotlin a utilizarlo en proyectos críticos y ser una de las herramientas más útiles para consultas en bases de datos. Échale un vistazo a Exposed.

❓ ¿Tu también alguna vez te pusiste a pensar acerca de cómo optimizar las imágenes en nuestras aplicaciones? Lee el siguiente artículo donde explican los avances en la compresión de imágenes, para reducir el tamaño de las mismas sin comprometer la calidad.

💡 Si te gustan las animaciones en aplicaciones Android y más aún si utilizas Compose, aquí hay un listado interesante de diferentes animaciones que se pueden realizar con Compose y cómo implementarlos.

🤖 ¿Estás trabajando o aprendiendo Compose Multiplatform?, probablemente encontraste algunos problemas. El equipo de JetBrains necesita de tu retroalimentación para mejorar el performance de tus aplicaciones hechas con Compose Multiplatform.

📱 Revoluciona tu carrera en 180 días y descubre el sistema más eficaz para lograr las habilidades que demandan las grandes empresas creando código de calidad. ¡Ya están abiertas las reservas para la edición de octubre en Architect Coders! ¿Conoces las ventajas de hacer la reserva ahora?

💊 Píldoras de la semana

1️⃣ Firebase Crashlytics para detectar errores en Android Apps: Si necesitamos información detallada acerca de los errores y fallos de nuestra aplicación y poder darles solución, Crashlytics nos ayuda con ello.

2️⃣ Firebase Authentication en Android: En muchas ocasiones puede ser un dolor de cabeza pero con Firebase Authentication esto se resume a adicionar un par de configuraciones, un par de bloques de código y ya tenemos un inicio de sesión seguro y rápido.

3️⃣ Firebase App Check para protección del backend de apps: Podemos bloquear el tráfico no registrado o sin credenciales hacia nuestros servicios de back-end y evitar el fraude o suplantación de identidad.

4️⃣ Cloud Firestore, una base de datos en tiempo real para nuestras Android Apps: La base de datos moderna que nos brinda características mas que útiles a nuestras aplicaciones Android, entre las principales, los datos en tiempo real.

5️⃣ Firebase multiplataforma: Podemos integrar Firebase en cualquier plataforma, desde aplicaciones Android, iOS, hasta web, escritorio y videojuegos.

6️⃣ Una de las principales ventajas de Firebase: ¿No te gusta hacer back-end? Para esos casos, existe Firebase que te brinda diferentes características para simplemente utilizarlos sin necesidad de preocuparnos por temas de back-end.


🚀¡Aquí tienes todo por esta semana!

Esperamos que todos los links te sean de ayuda 🧭, y si se te ocurre alguna forma de mejorar esta newsletter, estaremos más que encantados de escucharla.

¡Un fuerte abrazo!