Firebase & Me:

No se si conocen la herramienta que nació en 2011 conocida como Firebase, empecé a usarla hace más o menos 2 años y pues aún trabaje con la versión anterior. Si la versión que Google compró antes de que el año pasado en el I/O nos dieran la sorpresa de la mega herramienta que han construido y que como si fuese poco sigue y sigue creciendo.

old firebase

El año pasado cuando decidí migrar de mi FIrebase 3.1 a la nueva versión 9.6 realmente estaba asustado y preocupado. Pensé que había de hacer todo de nuevo, son 6 versiones de diferencia. Mi enorme y agradable sorpresa fue ver cuánto se había logrado preservar de la antigua API y eso realmente me hizo simple el buscar los métodos depreciados y modificarlos.

 

Cuando empecé me tope con cambios en mi base de datos, la cual antes no manejaba perfiles del usuario fuera de la data del NO SQL. Esto me encanto y empecé a modificarlo. Luego de haber modificado algunos proyecto viejos decidí crear una aplicación de ejemplo para probar todo lo nuevo que habian integrado y entre lo que más me atraía era FirebaseUI.  

¿Que es FirebaseUI?

Es una excelente herramienta, yo pienso que si empezaste a hacer una aplicación bien sea como proyecto personal como para un cliente, hay algo que hace especial a esa aplicación, existe ese diferenciador, esa idea y pues FIrebaseUI nos permite centrarnos en eso. Nos evita pasar dos semanas haciendo el login de tu app para que después veas la funcionalidad que habías pensado. Y eso era al inicio hoy por hoy tiene la capacidad de generar tablas, agregar, editar, eliminar tanto registros como archivos con el nuevo Firebase Storage.

 

Hablando ahora un poco más a detalle veremos como fueron las nuevas herramientas y su implementación (Creo que en el 90% por no decir 100% fue fluido y muy muy simple):

 

Storage:

Está fue una excelente inclusión al set de herramientas de firebase y que tenga soporte tanto para móviles como para web lo volvió aún más genial. Cuando hacia una aplicación y quería que los usuarios cargaran imágenes esto se hacia con una librería como “Cloudinary”. Luego de que llego storage es super sencillo y lo mejor es que es asíncrono, de está forma el usuario no se queda esperando que suba s i no sube en segundo plano.

 

Autenticación

La autenticación es algo que con el tiempo si desarrollas en aplicaciones móviles se vuelve tedioso y sumamente pesado, principalmente por que ahora es necesario en un 90% de los casos que los usuario puedan iniciar con Facebook/Twitter/Google. Tranquilo, usando la herramienta de autenticación disponible en móviles y en web puede simplemente ejecutar sentencias de código como:

 

Hosting

SI bien haces una aplicación móvil yo sigo considerando que debes tener una web aún cuando sea meramente informativa y fija. El hosting de firebase te permite colgar aplicación web hechas con angular, vue, entre otros. Este hosting tiene un certificado SSL gratuito heredado automáticamente de firebaseapp.com, además de ello tiene una increíble recurrencia con espejo en los servidores de Google y para tus deploys son atómicos, ya que se hacen de servidor en servidor para que siempre se pueda acceder al sitio y no hayan “Periodos de mantenimiento”.

 

TestLab

Esta herramienta es excelente para tu proceso de rollout y todas las respectivas pruebas de QA (Control de calidad). Tu aquí subes el instalador de tu aplicación en mi caso suele ser un apk y le pides que lo ejecute en una serie de dispositivos android con distintas medidas y distintos sistemas operativos. Estas pruebas te devuelven un log, un video, pantallazos y un increíble diagrama de flujo de tus pantallas.

 

Crash Reporting

 ¿Se imaginan poder enterarte de los errores de tu aplicación, incluso esos errores silenciosos? Si, esa es la tarea de crash reporting. Si pones un catch en tu código, deberías tener un envió de crash reporting. Con el simple hecho de instalarlo puedes tener un rastreo de los cierres inesperados de la aplicación.

 

Remote Config

Este es una salvación en cuanto a tiempo y tiene una gran responsabilidad sobre ser organizados. Aquí podrás definir parámetros que tu usuario podrá consultar para cambiar acciones en la aplicación. Por ejemplo si tiene textos multi lenguaje, puede ser una buena idea configurarlos y no quemarlos en tu aplicación. Tranquilo, deberás incluir un catalogo de los mismos parámetros como un valor por defecto dentro de tu aplicación.

 

Cloud Functions:

Whuauh y más whuauh. Eso fue lo que dije cuando nos sorprendieron con el lanzamiento de cloud funcitons para firebase. Antes en una aplicación con firebase tenias inmensas cantidades de lógica pegada en tu cliente, ahora eso no es necesario, puedes tener tu lógica en el cliente y lógica en el servidor. De está manera cuando cargas una imagen a storage, puedes hacer que una función en el servidor mediante NodeJS se encargue de ponerle una marca de agua, ese es solo un ejemplo.

 

Bueno, creo que en está oportunidad hay lo dejare, realmente Firebase es una increíble herramienta para el desarrollo de aplicaciones móviles y web. No me sorprende realmente como Google sigue y sigue apostando.

En una siguiente entrega hablaré de las demás funcionalidades de Firebase y manténganse atentos ya que pronto lanzare una nueva aplicación 100% operativa en Firebase [ Solo para Android ].