Firebase e Ionic: guía para optimizar tiempos y costes de desarrollo

Cómo-optimizar-los-tiempos-y-costes-de-desarrollo-utilizando-el-binomio-Firebase-para-Ionic-Itequia

Firebase e Ionic: guía para optimizar tiempos y costes de desarrollo

Los frameworks de desarrollo frontend multiplataforma en la actualidad

Ionic-Firebase-Itequia

En el artículo de hoy, veremos cómo se pueden optimizar los tiempos de desarrollo y costes utilizando el binomio Firebase para Ionic, pero antes, debemos de contextualizar que es cada cosa.

Angular-React-Vue-desarrollo-Itequia

Actualmente los frameworks de desarrollo frontend multiplataforma están asentados y en continuo crecimiento, la facilidad con la que se pueden crear aplicaciones multiplataforma a partir de un solo código hace que cada vez más desarrolladores los utilicen. Algunos de los más extendidos son Angular, React, Vue y un no desdeñable etcétera.

Ionic Framework

Es aquí donde entra Ionic Framework. Ionic es un Toolkit/SDK de desarrollo que permite desarrollar aplicaciones con cualquiera de las 3 librerías anteriores (y alguna otra más) con la capacidad para crear aplicaciones nativas totalmente funcionales para Android, IOS, web y/o de escritorio.

Ionic-Toolkit-Desarrollo-Itequia

Estas aplicaciones pueden necesitar datos para que funcionen y/o almacenarlos de manera persistente para poder integrarlos y analizarlos en nuestro BigData más adelante.

Toda aplicación móvil o web tiene una parte visible con la que el usuario interactúa; el frontend, y prácticamente todas tienen una parte no visible que es la que se encarga de trabajar con la información que proporciona el usuario; el backend.

Es decir, casi todas las aplicaciones constan de 2 partes, lo que significa doblar el desarrollo de código, el mantenimiento, las infraestructuras, tiempos, el coste, etc.

Puedes conocer más detalles sobre Ionic Framework en este artículo.

Firebase

En este punto aparece Firebase para ofrecernos una solución que gestione todos los datos necesarios de una aplicación sin necesidad de depender de un backend.

Firebase-Desarrollo-Itequia

Esta herramienta ofrece el hosting, el almacenamiento de una o varias bases de datos escalables, realizar tareas de análisis, testing, configuración, mensajería, anuncios, monetización, IA learning, y un largo etcétera gracias a su modularización.

Todo ello de manera gratuita al principio y con un coste escalable cuando la aplicación necesita más recursos debido a su crecimiento y éxito. Símbolo de que vamos por el buen camino.

Pero ¿qué es Firebase y cómo funciona? Veámoslo a continuación más en detalle.

¿Qué es Firebase y cómo funciona?

Firebase es una herramienta creada por Envolve en 2011, como base de datos NoSQL en tiempo real y adquirida más tarde por Google, que con el paso del tiempo ha ido añadiendo muchas otras funcionalidades para mejorar el rendimiento y optimizar los tiempos y recursos de desarrollo.

Sus funcionalidades se engloban en 3 estadios del desarrollo de una aplicación:

  • Compilación: herramientas que agilizan el desarrollo y mantenimiento de la aplicación
  • Lanzamiento: funciones que permiten analizar minuciosamente todos los aspectos de la aplicación y optimizar el lanzamiento de nuevas versiones
  • Participación: para aumentar la participación de los usuarios a partir de las estadísticas obtenidas y realizar pruebas A/B, configuraciones o mensajería
Funcionalidades-Firebase-Desarrollo-Itequia

Vamos ahora a analizar un poco más en profundidad algunas de las herramientas de cada grupo.

Compilación

Veamos a continuación las diferentes herramientas de compilación.

Cloud firestore

Es la base del proyecto Firebase. Es una base de datos NoSQL estructurada en documentos organizados en colecciones. Permite interactuar en tiempo real con la base de datos incluso sin tener conexión, ya que almacena los datos en caché y al recuperar la conexión se sincroniza automáticamente.

Realtime databse

Es muy similar a la anterior solo que, en vez de documentos organizados en colecciones, la información se almacena directamente en formato JSON y no es tan rápida, pero permite almacenar un volumen de datos mayor.

Kit de Aprendizaje Automático

Es un SDK que contiene un conjunto de Apis instalables en la aplicación para ofrecer al usuario funcionalidades basadas en aprendizaje y reconocimiento como lectura óptica de texto a través de la cámara, detección de rostro, traducciones o detección de objetos en imagen.

Authentication

Permite delegar la gestión y autentificación de usuarios mediante el típico nombre de usuario/contraseña, huella dactilar, cuentas de Google, Facebook o Twitter.

Hosting

Para usar todas estas funcionalidades como backend es necesario que estén disponibles en algún punto de la red, por lo que Firebase ofrece un host rápido, seguro e integrado con todos sus servicios.

Lanzamiento y supervisión

En cuanto a las herramientas de lanzamiento y supervisión:

Crashlytics

Permite recopilar la información de los fallos que se producen en la aplicación para su posterior análisis y agilizar su resolución.

Performance monitoring

Esta herramienta mide y analiza el rendimiento de la aplicación tanto en las versiones móvil como en web.

Google Analytics

Al crear la aplicación con Firebase, Google Analytics ya recopila y centraliza la información básica de la aplicación, los usuarios que la usan y cómo la usan. Por lo que contaremos con toda esa información para mejorar y evolucionar nuestra aplicación.

Participación

Veamos ahora las herramientas de participación.

Configuración remota

Con esta herramienta es posible modificar algunos aspectos de la aplicación (previamente definidos) sin necesidad de actualizar el código o nuevas versiones.

Cloud messaging

Este servicio gestiona las notificaciones que recibe el usuario en su aplicación.

In-app messaging

Para ir más allá con la interactuación con los usuarios, los mensajes in-app permiten mostrar imágenes, textos, enlaces y cualquier cosa que se haya definido previamente en una plantilla.

Este es solo un pequeño análisis de algunas de sus características.

Además, Firebase puede actuar como un backend tradicional y ahorrar mucho tiempo de desarrollo y costes. Permite crear aplicaciones en Android e IOS que pueden crecer sin problema e ir añadiendo más herramientas a medida que crezcan.

¿Recomendamos el uso de Firebase?

Comenzar a utilizar Firebase puede llevar algo de tiempo, debido a la abrumadora cantidad de posibilidades que ofrece. Además, las bases de datos no relacionales pueden asustar a los desarrolladores acostumbrados a las tradicionales basadas en SQL, pero una vez superada esa curva de aprendizaje inicial, Firebase puede ayudarnos a agilizar mucho el desarrollo, lanzamiento y mantenimiento de nuestras aplicaciones.

Además, constantemente Google está haciendo crecer la plataforma y no deja de innovar y añadir nuevas opciones y funcionalidades que pueden ser muy útiles para hacer crecer nuestro proyecto.

Javier Moreno Morales – Key Software Developer at Itequia