Tutorial - ¿Qué es Firebase? Conviértete en un experto

Duración:
15'
Nivel:
intermedio
Curso relacionado:
Firebase

Firebase es una plataforma de desarrollo utilizada sobre todo en el entorno móvil y de manera adicional en aplicaciones web.

Fue fundada en 2011 por Firebase, Inc. y comprada por Google en 2014. En la actualidad, Firebase cuenta con 18 productos y está integrada en más de 1.5 millones de aplicaciones.

Inicios

Cuando nació Firebase, lo hizo como un SDK de chat, llamado Envolve, para aplicaciones móviles. Al tiempo, los fundadores se dieron cuenta que algunos desarrolladores no estaban usando el SDK para enviar mensajes. Pasaban información a las aplicaciones a través del SDK.

A partir de ahí, se creó Firebase Realtime Database, un producto separado de Envolve.

En mayo de 2012, Firebase consiguió recaudar 1.1

millones de dólares, para hacer crecer el producto.

En junio de 2013, Firebase cerró una nueva ronda de financiación, alcanzando los 5.6 millones de dólares.

En 2014, se lanzaron los productos Firebase Hosting y Firebase Authentication y a finales de ese año, Google compró la empresa.

Fue a partir de 2016 cuando se convirtió en una plataforma unificada de productos para desarrolladores móviles. A partir de ahí, incluyó:

  • Google Cloud Platform
  • Admob
  • Google Ads

Además, Google Cloud Messaging pasó a ser Firebase Cloud Messaging, que no solo permitía mandar notificaciones push a Android, también lo hacía a iOS y Web.

A principios de 2017, Google compró Fabric y Crashlytics (empresas pertenecientes a Twitter) y las incluyó dentro de la suite de Firebase.

Y en el último trimestre de 2017, Firebase sustituyó Firebase Realtime Database por Cloud Firestore, como producto de base de datos en tiempo real.

Productos

Analytics

Es el producto de Firebase para el análisis del uso de las aplicaciones y el engagement por parte de los usuarios.

Esta solución es gratuita y sustituye al producto de Google Analytics for Mobile.

Predictions

Firebase Predictions aplica técnicas de aprendizaje automático a Analytics para crear segmentos de usuarios, basándose en su comportamiento dentro de nuestra app.

Sobre estos segmentos de usuarios podemos realizar una serie de acciones, como enviar notificaciones push, In-App Messaging, cambiar su configuración mediante Remote Config o aplicar A/B Testing.

https://www.imaginaformacion.com/tutoriales/tutorial_35_imagen_1.jpg

A/B Testing

Firebase A/B Testing aplica las técnicas de testeo A/B a nuestra aplicación. Podemos realizar una serie de experimentos sobre grupos de control y aplicar aquellos que mejor tasa de conversión presenten.

A/B Testing se integra con Cloud Messaging, para enviar mensajes de marketing y Remote Config, para hacer cambios en la app de manera dinámica.

Remote Config

Firebase Remote Config es un servicio que nos permite cambiar el comportamiento de nuestra aplicación sin necesidad de que los usuarios descarguen una nueva versión.

Nuestra aplicación controla cuando se ha actualizado algún parámetro y lo aplica sin que suponga un alto coste para el rendimiento de la app.

Dynamic Links

A través de Dynamic Links, mejoramos la experiencia de los usuarios, ya que el comportamiento cambia dependiendo del Sistema Operativo en el que se abre el enlace.

App Indexing

App Indexing permite que nuestra app aparezca directamente en los resultados de Google Search. Si el contenido que está buscando el usuario está en nuestra app y tiene la app instalada, al hacer click en Google se redireccionará a nuestra app.

Si no tiene instalada la app, se mostrará una card que enlace con la descarga de la app.

Si un usuario abre el enlace en iOS o Android, puede acceder directamente a contenido de la app. Si lo abre desde su PC, recibirá el mismo contenido pero en formato web.

Firebase Cloud Messaging

Es la solución de Firebase para el envío de notificaciones push. Desde 2016, se puede usar sin ningún coste.

Productos como Urban Airship han tenido que rediseñarse, debido a la potencia de FCM. A partir de que FCM pasase a no tener coste, han pivotado a realizar otro tipo de servicios, complementarios al envío de notificaciones.

In-App Messaging

In-App Messaging nos ayuda a mejorar el uso de nuestra aplicación por parte de los usuarios activos. Lo hace a través de envíos de mensajes contextuales, facilitándoles el acceso a funcionalidad de nuestra app.

Por ejemplo, si un usuario ha empezado el proceso de compra pero lo abandona, podemos recordarle en algún momento que sigue pendiente u ofrecerle un descuento.

Realtime Database

Se trata del servicio en la nube de base de datos en tiempo real de Firebase. Los datos se almacenan en JSON y se sincronizan en tiempo real con cada cliente que esté conectado.

Además, el SDK permite que cualquier cliente, sea iOS, Android o Javascript, compartan la misma instancia de la base de datos y que reciban automáticamente cualquier actualización.

https://www.imaginaformacion.com/tutoriales/tutorial_35_imagen_2.jpg

Firebase Storage

Cloud Storage de Firebase es un servicio de almacenamiento de ficheros, que se tratan como objetos.

Tendremos un SDK para poder realizar las subidas y las descargas, sin importar la calidad de la red.

El contenido a almacenar puede ser audio, vídeo, imágenes o cualquier tipo de fichero que generen los usuarios.

Firebase Hosting

Hosting es un host web para desarrolladores.

Una de las principales ventajas es que nos ofrece una interfaz de comandos y con un sencillo comando podemos desplegar apps web y servir ese contenido a un CDN.

ML Kit

ML Kit es un SDK para móvil que nos proporciona el poder del aprendizaje automático, con la gran experiencia de Google, en un paquete listo para usar en iOS y en Android.

Viene con paquetes predefinidos con funciones habituales para los desarrolladores con poca experiencia en el campo del AA y también nos permite personalizarlo al máximo, usando TensorFlow.

Crashlytics

Crashlytics es un servicio de informe de errores. Se trata además de un servicio ligero, en tiempo real y que está conectado con el resto de productos de Firebase

No solo avisa de los errores, también los agrupa, nos indica las circunstancias y en ocasiones nos muestra posibles soluciones al error.

https://www.imaginaformacion.com/tutoriales/tutorial_35_imagen_3.jpg

Performance

Performance Monitoring es un servicio que nos ayuda a conocer en profundidad la capacidad de mejora que tiene nuestra app.

Para ello, el SDK recoge información de rendimiento de nuestra app y nos la muestra en la consola de Firebase.

De esta forma, podremos conocer cuáles son los puntos en los que nuestra app puede mejorar y así poder arreglar aquellos problemas de rendimiento críticos.

Test Lab

https://www.imaginaformacion.com/tutoriales/tutorial_35_imagen_4.jpg

El servicio de Test Lab nos va a permitir ejecutar nuestra app en dispositivos que Google tiene en sus granjas de servidores.

Así podremos realizar cientos de pruebas sin tener que adquirir todos los dispositivos.

Recibiremos capturas y vídeos de las ejecuciones en los diferentes móviles.

Admob

Cuando hablamos de Admob nos referimos al servicio de anuncios por excelencia en el mercado móvil.

Google cuenta con el mayor proveedor de anuncios. Es el más integrado en la comunidad y el que más ayuda a los desarrolladores a monetizar.

Firebase Auth

Es el sistema de autenticación de Firebase, que además permite que se realice en la parte de cliente.

Soporta la autenticación con plataformas como Facebook, GitHub, Twitter y Google.

Además, permite que el usuario cree una cuenta con usuario y contraseña y se almacene en Firebase.

Es uno de los productos estrella de Google, ya que tiene una trayectoria muy amplía, heredada de Google Analytics.

https://www.imaginaformacion.com/tutoriales/tutorial_35_imagen_5.jpg

Permisos

Existen 3 tipos de permisos en Firebase.

  • El propietario de un proyecto puede agregar a otros miembros al proyecto, vincular otros servicios de Google como Play/AdMob/Ads/BigQuery, y tener acceso total de edición al proyecto.
  • El editor de un proyecto tiene acceso total de edición al proyecto.
  • El lector de un proyecto tiene acceso de solo lectura. No obstante, aún no está correctamente implementado, ya que aparecen las opciones que ve el editor, pero da error al intentar usarlas.

Planes y Costes

Productos Gratuitos

  • Analytics
  • Cloud Messaging
  • Remote Config
  • Dynamic Links
  • Crash Reporting
  • Authentication (menos teléfono)

Productos de pago (aunque tengan un tier gratuito)

  • Realtime Database
  • Storage Functions
  • Hosting
  • Test Lab

Alternativas a Firebase

Layer

Se trata de un servicio que tuvo unos inicios similares a Firebase pero que en la actualidad se ha centrado en el envío de mensajes, especializándose en los negocios.

Permite personalizar la forma en la que los negocios se comunican con los clientes, sin que importe el dispositivo, ya que se unifica todo a través de su plataforma.

Syncano

En cierta manera, es el más parecido a Firebase, ya que nos permite integrar en nuestra app una serie de plugins (sockets) muy similares a los ofrecidos por Google. Cuenta con notificaciones push, autenticación, bots de chat, etc...

Para ello, nos proporciona una sencilla herramienta que gestiona toda la integración y el despliegue de nuestra app.

Parse

Es un servicio que principalmente se centra en el almacenamiento de información, autenticación de usuario y envío de notificaciones push.

Una de las ventajas es que es un producto gratuito y Open Source.

Solicita información sobre Firebase

En Imagina llevamos más de 13 años ofreciendo formación para empresas, estamos especializados en el área técnica y de ofimática, adaptando nuestras formaciones a vuestras necesidades. Déjanos tus datos, y nos pondremos en contacto contigo para informarte sobre el curso que mejor se ajuste a lo que buscas. Cuéntanos tus necesidades y podremos asesorarte sobre la modalidad que mejor se adapte: En directo, En directo a Medida u Online.

España