Qué es Firebase (parte II)

Tabla de contenidos

Firebase es una plataforma de servicios enfocada a facilitar y optimizar el desarrollo de aplicaciones, y ha sido creada por Google. Para explicar todo lo que ofrece Firebase a los desarrolladores de software, hemos creado una serie de artículos. Si te perdiste la parte I, haz clic en este enlace. En esta parte II hablaremos de las herramientas de lanzamiento y supervisión.

En Pizzacorn desarrollamos nuestros proyectos utilizando la plataforma de Firebase, ya que nos facilita mucho el trabajo. Así conseguimos ahorrar tiempo y que las aplicaciones estén listas en plazos más cortos. Pero además, al ser un producto de una empresa tan puntera como Google, nos beneficiamos de que las aplicaciones funcionan perfectamente en cuanto a sincronización, autentificación o envío de notificaciones. Pero, lo más importante, tienen unos estándares de seguridad muy altos.

Herramientas de lanzamiento y supervisión

Una vez hemos creado nuestro proyecto de Firebase, nos aparece un panel de control con todas las herramientas a nuestra disposición. A la izquierda de la pantalla, veremos varios menús desplegables. El segundo de ellos es Lanzamiento y supervisión. Veamos lo que contiene:

Como hicimos en el capítulo anterior, vamos a organizar estas herramientas según su cometido:

  • Análisis de errores: Crashlytics
  • Rendimiento de la aplicación: Performance
  • Probar el funcionamiento de la aplicación: Test Lab y App Distribution
  • Actualizaciones de la aplicación en tiempo real: Remote Config (visto en el capítulo anterior, «Qué es Firebase . parte I»)

Crashlytics

Este nombre tan raro es una combinación de las palabras crash y analytics, que, traducidas al español, significan fallo (aplicado a la informática) y análisis. Sabiendo esto, es más fácil intuir de qué se trata, ¿verdad? En efecto, esta es la herramienta de análisis de errores de Firebase.

Análisis de errores no significa «resolución de errores», tampoco nos vengamos arriba… Pero sí es una manera de organizar y priorizar los fallos de la aplicación. Esta herramienta se basa en los informes de fallos (crash reports) para analizarlos y clasificarlos, de manera que el desarrollador sepa qué problemas son más importantes y establezca una prioridad a la hora de abordarlos. Combina un panel de control en tiempo real y un sistema de notificaciones para estar informado en todo momento de los fallos que están sucediendo en la aplicación.

En el panel de control aparecerán los errores que están sucediendo con información como el número de línea de código que ha lanzado el error, el mensaje asociado a ese fallo (excepción) y a cuántos usuarios ha afectado. Pero además, Firebase Crashlytics incorpora una serie de funciones que permiten obtener información adicional de los errores, como por ejemplo, a qué usuarios les ha afectado este error (podemos identificarlos por su email, nombre de usuario, etc). Esto, en Flutter (el framework con el que desarrollamos las aplicaciones en Pizacorn), lo haría la función FirebaseCrashlytics.instance.setUserIdentifier(email).

Crashlytics está soportada en apps de Android, iOS, macOS, tvOS y watchOS.

Performance

Esta herramienta provee de un panel de control con información acerca de la experiencia de usuario. Esto quiere decir el tiempo que tardó en cargar la aplicación o en pasar de una pantalla a otra, por poner un par de ejemplos. Esta información es valiosa porque si la aplicación no es cómoda de usar, el usuario podría prescindir de ella, y eso no nos interesa, ¿verdad?

También va a aportar información sobre las dependencias de la app, las latencias de red y los errores que afectan a los usuarios con la supervisión automatizada de solicitudes HTTP/S. En definitiva, gestionar el rendimiento de la aplicación.

Performance se puede usar en aplicaciones Android, iOS y web.

Test Lab

Test Lab es un banco de pruebas para la aplicación, usando los dispositivos reales del centro de datos de Google. Antes de lanzar la aplicación al mercado, es conveniente probarla para medir su rendimiento, la usabilidad, detectar errores, comportamientos inesperados, etc. Con Test Lab podemos realizar estas pruebas en vez que sean los usuarios nuestros «conejillos de indias».

Esta es una herramienta muy versátil, ya que se pueden elegir los distintos dispositivos en los que queremos probar la aplicación, así como las distintas configuraciones regionales. Podemos emplear patrones de pruebas diseñados por nosotros, codificados en Android Espresso o UI Automator, o bien, utilizar la herramienta Robo integrada en Firebase, de manera que no tenemos que escribir ningún código porque ya viene hecho. Una vez seleccionados estos parámetros, se va a simular que un número determinado de usuarios están utilizando nuestra aplicación y se van a generar unos informes con los resultados. Incluso tendremos capturas de pantalla de los usuarios ficticios y un vídeo con el que podremos ver cómo se ha recorrido la aplicación.

Está disponible para aplicaciones Android e iOS.

App Distribution

Como hemos visto en el apartado anterior, las aplicaciones tienen que probarse antes de ser lanzadas al mercado. Con Test Lab hemos utilizado un robot que simula el uso de la aplicación, pero otra forma de probarla es mediante un equipo de pruebas compuesto por miembros del equipo de desarrollo. En otras ocasiones, querremos lanzar una nueva versión de la aplicación.

Cuando se quiere poner a prueba una aplicación entre varias personas, se suele enviar por email o medios similares, dándose el caso de que el email no llegue correctamente a esa persona o de que no se le envíe la versión correcta de la aplicación.

Para esto es para lo que puede ser útil App Distribution. Consiste en una herramienta que va a distribuir la aplicación entre los grupos de testeo de manera eficaz. Vamos a poder saber quién ha instalado la aplicación en la versión correcta, quién la ha usado y qué resultados ha obtenido de la experiencia. Si, además, la combinamos con Crashlytics, obtendremos información más completa sobre la estabilidad de la aplicación.

App Distribution funciona para aplicaciones Android e iOS.

Comparte el post
Pizzacorn.es

Pizzacorn.es

Diseño y desarrollo multiplataformas

Buscar
Más articulos