Está en la página 1de 23

Objetivo:

Reconocer las características de los patrones de diseño.


Instrucciones:
1. Revisa la rúbrica de evaluación.
2. A continuación lee las entradas del proceso de iniciación del proyecto:
a) Enunciado del trabajo del proyecto.
El enunciado del trabajo es la entrada que describe la oportunidad o
necesidad de negocio que la organización ha identificado y por la cual se
dio origen al proyecto. Adicionalmente, indica el alcance y los requisitos del
producto los cuales servirán de apoyo para los procesos posteriores
principalmente al proceso de planeación.

b) Uso de la API.
Puede consultar el backend de Firebase Auth a través de una API REST.
Esto se puede usar para varias operaciones, como crear nuevos usuarios,
iniciar sesión en los existentes y editar o eliminar estos usuarios.

c) A lo largo de este documento, API_KEY se refiere a la clave API web, que


se puede obtener en la página de configuración del proyecto en su consola
de administración.

d) Factores Ambientales.
Una entrada a este proceso son las herramientas de distribución y
administración de la información con el fin de contar con documentos
estructurados y versionados para que puedan ser actualizables de manera
íntegra y fácilmente accesibles entre los diferentes interesados.

3. Realiza una investigación y responde los siguientes cuestionamientos:


¿Cómo se crea un proyecto en Firebase?

Lo primero que debes hacer para crear un proyecto con Console Firebase es
dirigirte a la página web oficial de Firebase. Después, haz clic en entrar a la
consola, en donde podrás encontrar todos los proyectos de Firebase que ya
tienes guardados. En esta, lo que vas a hacer es seleccionar la opción de
“Proyecto nuevo”.

Allí debes ingresar cuál va a ser el nombre de tu proyecto y, al confirmarlo, te va a


aparecer una ventana en donde te van a decir que se estarán activando varios
servicios de Firebase que son seleccionados de forma automática. Para esto, te
preguntan si quieres habilitar Google Analytics.

El siguiente paso es que debes crear una cuenta o seleccionar una que ya


tengas. Cuando hagas eso, el sistema te va a preguntar dónde quieres las
Analytics, por lo que necesitas elegir una localización. Lo más recomendado es
que selecciones el lugar donde vives, porque así Firebase puede ser más preciso
cuando registra los datos, especialmente la hora y el día, puesto que puede
relacionar esos datos con tu lugar de residencia.

Por último, solo debes aceptar los términos y condiciones de Google, con lo que
ya te queda el proyecto guardado en Firebase. Cabe aclarar que después de
hacer todo esto, el proyecto puede tardar un poco en terminar de crearse.

Cuando termina de cargar, te aparece una casilla para abrir tu proyecto. Después
de abrirlo, en la parte izquierda de la pantalla encontrarás todos los productos
relacionados con Firebase; los más importantes suelen ser los primeros, por
ejemplo, la autenticación, la base de datos o Cloud Firestore y la Realtime
Database, entre otros servicios.

En caso de que, además de cómo crear un proyecto con Console Firebase, te


interesa conocer mucho más sobre esta plataforma, te invitamos a leer el
artículo Qué es Firebase App Distribution de nuestro blog, en donde podrás
encontrar información más detallada sobre las posibilidades de esta plataforma.

¿Para qué y dónde se habilita Google Analitics?

Google Analytics es una de las herramientas gratis que Google pone a disposición


de los usuarios. Es su plataforma de medición de tráfico; es decir mide cuántas
personas entran a un sitio web o a alguna de sus páginas (secciones). Para
alguien que nunca ha tenido contacto con ella, imaginen que deben acceder a
través de un explorador de internet (Chrome, Microsoft Edge, Mozilla Firefox, ,
Safari) y teclear https://analytics.google.com/ o colocar como término de búsqueda
Google Analytics. Ahí podrán empezar su registro, generar su contraseña o usar
sus credenciales de Gmail y posterior a ello, dar de alta el sitio a analizar.

Activar o desactivar Google Analytics para usuarios

Si eres administrador de cuentas de Google en una organización, puedes controlar


quién utiliza Google Analytics desde su cuenta. Solo tienes que activar o
desactivar el servicio para esos usuarios en la consola de administración. Los
usuarios que tengan Analytics activado pueden utilizarlo para supervisar el tráfico
de los sitios web o de las aplicaciones móviles de tu empresa.

Controlar quién utiliza Analytics en tu organización

Antes de empezar: Para activar o desactivar el servicio en cuentas de usuario


concretas, incluye esas cuentas en una unidad organizativa si quieres controlar el
acceso por departamento, o en un grupo de acceso si quieres controlar el acceso
de determinados usuarios de varios departamentos o de un mismo departamento.

1. Inicia sesión en la consola de administración de Google.

Debes utilizar una cuenta de administrador, no la que estás usando ahora

2. En la consola de administración, ve a Menú   Aplicaciones


Servicios adicionales de Google Google Analytics.
3. Haz clic en Estado del servicio.

4. Para activar o desactivar un servicio en toda tu organización, haz clic


en Activado para todos o en Desactivado para todos y, a continuación, haz
clic en Guardar.
5. (Opcional) Para activar o desactivar un servicio en una unidad organizativa,
sigue estos pasos:
1. En la parte izquierda, selecciona la unidad organizativa.
2. Para cambiar el estado del servicio,
selecciona Activado o Desactivado.
3. Elige una opción:
 Si el estado del servicio es Heredado y quieres mantener el
ajuste actualizado aunque cambie el ajuste principal, haz clic
en Anular.
 Si el estado del servicio es Anulado, haz clic en Heredar para
volver al mismo ajuste que la unidad organizativa superior o
en Guardar para conservar el nuevo, incluso si cambia el
ajuste de la organización principal.
Nota: Consulta más información sobre la estructura
organizativa.
6. Para activar un servicio en determinadas cuentas de usuario de varias
unidades organizativas o de una misma unidad, utiliza un grupo de acceso.
Consulta más información en la sección sobre cómo activar servicios en
grupos.

Pasos siguientes

Visita el Centro de Ayuda de Google Analytics para saber cómo funciona este


servicio.
¿Dónde puedo agregar una app android a un proyecto de Firebase?

Firebase es una plataforma para dispositivos móviles que te permite desarrollar


apps de alta calidad, ampliar tu base de usuarios y ganar más dinero rápidamente.
Cuenta con funciones complementarias que puedes combinar según tus
necesidades con Google Analytics para Firebase como componente central.
Además, puedes integrar y explorar los servicios de Firebase en tu app
directamente desde Android Studio por medio de la ventana Assistant que se
muestra en la Figura 1.

Primero, debes asegurarte de que tienes instalada la versión 26 del repositorio de


Google o una posterior mediante los siguientes pasos:

1. Haz clic en Tools > SDK Manager.


2. Haz clic en la pestaña SDK Tools.
3. Marca la casilla de verificación Google Repository y haz clic en OK.
4. Haz clic en OK para instalarlo.
5. Haz clic en Background para completar la instalación en segundo plano, o bien
espera a que esta finalice y presiona Finish.

Para abrir y usar la ventana Assistant en Android Studio, realiza los siguientes


pasos:

1. Haz clic en Tools > Firebase para abrir la ventana Assistant.


2. Haz clic en una de las funciones que se enumeran (por ejemplo, Analytics) para
expandirla y, luego, presiona el instructivo Primeros pasos a fin de conectarte a
Firebase y agregar el código necesario a tu app.

Si quieres obtener más información para usar los servicios de Firebase, consulta
la Documentación de Firebase.

¿Dónde se puede modificar la autenticación a proveedores de acceso desde


Firebase y cuáles son los proveedores?

¿Qué es Firebase Authentication?


Con todos los avances tecnológicos, la autenticación de cada vez más
funcionalidades juega un papel vital en el mundo en línea. Una de las cosas más
importantes a considerar en estos días es la seguridad, y la autenticación de
usuarios es una de las mejores soluciones para garantizar la seguridad para los
usuarios.

Sin embargo, implementar esta tecnología no es tan fácil como parece, y las
plataformas como Firebase facilitan a los desarrolladores la implementación de la
autenticación. El artículo explicará los servicios de autenticación de Firebase y
seguirá la siguiente estructura:

 Descripción general de Authentication


 Beneficios de Authentication
 Descripción general del servicio de Firebase Authentication
 Ventajas de Firebase Authentication
 Características principales de Firebase Authentication
 Precios de Firebase Authentication
 Conclusión

¿Qué es la autenticación de Firebase?

La autenticación de Firebase es una característica de la autenticación de usuario


que proporciona Firebase como sus servicios de backend. Este es un sistema de
autenticación basado en token que proporciona una fácil integración con la mayoría
de las plataformas.  

Lo mejor de todo es que es un sistema basado en roles, lo que significa que puede
crear diferentes roles para diferentes usuarios. Otra gran característica es que esta
autenticación es fácil de integrar con la API de Firebase, lo que hace que esta
característica esté lista y funcionando fácilmente en poco tiempo.

Ventajas de Firebase Authentication

El servicio de autenticación de Firebase viene con muchas ventajas


diferentes. Éstas son algunas de ellas.

 Ahorre tiempo en el desarrollo de métodos de servicios web para la


autenticación
Cuando crea una aplicación web, una aplicación móvil o una aplicación informática
para la seguridad del sistema, debe guardar las credenciales de inicio de sesión y
otros medios de autenticación.

Esto lleva mucho tiempo porque tiene que implementar diferentes servicios para
ello. Sin embargo, cuando usa la autenticación de Firebase, no tendrá que
programar demasiado. La información que debe almacenarse se almacenará en el
sistema de Firebase, y Firebase manejará cada tipo de servicio de autenticación de
forma eficiente.

 Análisis

Una de las cosas más importantes en el desarrollo y el futuro de una aplicación la


forma en la que es mejorada. Una de las mejores formas de mejorar la aplicación
es hacerlo mejor para los usuarios en términos de experiencia y características del
usuario. La autenticación de Firebase también es una plataforma excepcional en
este caso, ya que proporciona análisis detallados sobre la información y la
interacción de los usuarios en su plataforma. Esta información demográfica y el
análisis de los usuarios lo hacen extremadamente eficiente para fines de mejora.

Características principales de Firebase Authentication

Aunque esta es una característica de los servicios de backend de Firebase con un


campo de alcance muy estrecho, todavía viene con muchas características
principales. Aquí discutiremos todas estas características principales en detalle.

 Solución de autenticación directa

Esta es una de las mejores formas de agregar una función de autenticación a su


sistema. Consiste en un sistema de inicio de sesión completo para su aplicación. El
sistema utiliza direcciones de correo electrónico y contraseñas para iniciar sesión y
funciona para todas las aplicaciones web y móviles.
Una de las mejores cosas aquí es que esta función es de código abierto. Puede
agregar esta función a su aplicación mediante el SDK de autenticación de
Firebase.

 Integración de proveedores de identidad federada.

Además de la autenticación de credenciales, una de las mejores formas de


autenticación y la autenticación más popular es mediante el uso de otros
proveedores de identidad federados. Al usar los servicios de autenticación de
Firebase, puede permitir que los usuarios inicien sesión con las siguientes
plataformas.

1. Google
2. Facebook
3. Twitter
4. GitHub

 Autenticación con número de teléfono

Otra característica sorprendente de la autenticación de Firebase es que los


usuarios pueden autenticarse usando sus números de teléfono a través de un
SMS. Es una buena característica y funciona bien según la situación.

 Integración del sistema de autenticación personalizado

Si desea utilizar el sistema de autenticación existente de su aplicación, puede


integrarlo con los servicios de autenticación de Firebase para usar los servicios de
base de datos en tiempo real de Firebase.

¿Dónde puedo crear una Cloud firestore en Firebase?


Cloud Firestore es una base de datos NoSQL alojada en la nube, flexible y

escalable y, al igual que Firebase Realtime Database, mantiene tus datos

sincronizados entre apps cliente a través de objetos de escucha en tiempo real.

El modelo de datos de Cloud Firestore admite estructuras de datos flexibles y

jerárquicas. Almacena tus datos en documentos, organizados en colecciones. Los

documentos pueden contener objetos anidados complejos, además de

subcolecciones.

En Cloud Firestore, puedes usar consultas para recuperar documentos

individuales o todos los documentos de una colección que coinciden con los

parámetros de la consulta. Tus consultas pueden incluir varios filtros en cadena y

combinar los filtros con criterios de orden.

Cloud Firestore almacena en caché datos que usa tu app de forma activa, por lo

que la app puede escribir, leer, escuchar y consultar datos, aunque el dispositivo

se encuentre sin conexión. Cuando el dispositivo vuelve a estar en línea, Cloud

Firestore sincroniza todos los cambios locales de vuelta a Cloud Firestore.

¿Para qué sirve?

Cloud Firestore te permite crear tu propia base de datos. En ella podrás almacenar

todos los datos que necesites manejar en tu app ya que permite almacenar desde

datos simples como strings, integer hasta objetos anidados complejos.


Desde tu app podrás acceder y gestionar esa base de datos que aportará más

riqueza a tu proyecto.

¿Cómo usar Cloud Firestore en tu app?

NOTA: en este post vamos a mostrar cómo implementarlo en Android, pero

también se puede usar en el resto de tecnologías, donde la implementación sería

muy similar.

Antes de importarlo en tu proyecto, deberás habilitar Firestore Database dentro de

tu proyecto en la consola de Firebase. Para ello, una vez dentro de tu proyecto,

deberás entrar en Firestore Database y pulsar en Crear base de datos.

Al igual que con Cloud Storage, en Firestore Database también puedes configurar

tus reglas de privacidad.

Nosotros, en este ejemplo, vamos a configurarlo público, con permisos abiertos

tanto de escritura como de lectura. Para ello, configuraremos esta regla:


¿Para qué sirve y dónde puedo iniciar una colección en Firebase?

Aprendemos a crear colecciones de elementos dentro de Firebase, acceder a ellas


y suscribirnos a cambios en las colecciones, tanto si se generan nuevos
elementos como si éstos cambian.

En este artículo vamos a abordar el trabajo con colecciones. Verás que, llegado un
momento, lo vamos a dividir en dos apartados, porque cubrimos tanto la versión 2
de Firebase como la actual versión 3. Los conceptos son exactamente los mismos
y el código prácticamente no cambia de una versión a otra, pero tendremos
ejemplos para la rama 2 y la 3 de Firebase, así que podrás encontrar
perfectamente las cosas que se han modificado en la última versión.

Recuerda que para comenzar debes haber inicializado tu proyecto Firebase. Si


usas Firebase 3, que es lo más normal puesto que trae muchos beneficios, ésto se
hace colocando el snipet de inicialización que puedes copiar directamente de la
consola. Como esto ya se explicó anteriormente, solo te dejo el enlace al artículo
donde encontrarás todo detallado: Introducción a Firebase 3.

En esta práctica con Firebase vamos a aprender a trabajar con colecciones de


elementos, es decir, listas de items que podamos tener en la base de datos bajo
un campo. Haremos básicamente un ejercicio en el que insertaremos datos en una
colección y luego otro ejercicio para mostrar esos datos, que a su vez tendrá dos
grandes bloques: la operativa para mostrar nuevos elementos en la colección
cuando sean creados y la operativa para actualizar la página cuando se produzcan
cambios.
Estamos empezando con Firebase, pero ya hay algunas cosas que hemos
aprendido como son las referencias y los eventos con los que suscribirnos a
cambios en el modelo de datos. Basaremos las explicaciones en ese

conocimiento, por lo que si aun tienes dudas te recomendamos repasar el artículo


de iniciación a Firebase.

También vimos anteriormente cómo realizar operaciones de escritura y lectura de


documentos, la diferencia ahora es que no vamos a escribir y leer un documento,
sino una colección. Por ejemplo, en tu base de datos de Firebase podrías tener un
usuario con sus datos. Cada usuario es un "documento". Pero nuestra aplicación
podrá manejar un número indeterminado de usuarios, por lo que tendremos una
colección de usuarios.

¿Dónde puedo crear una Realtime Database en Firebase?

Lo primero es importar el módulo de Firebase a tu fichero build.gradle:


Antes de agregar datos a nuestra base de datos debemos saber que el modelo de

datos se basa en colecciones, que contienen documentos.

Y dentro de estos documentos, podemos almacenar colecciones y datos. Los

datos podrán ser del tipo: string, number, boolean, map, array, null, timestamp y

geopoint.

Como ejemplo, vamos a crear una colección llamada users, donde

almacenaremos la info de nuestros usuarios:

Ahora, vamos a ver dos formas de crear un documento dentro de la colección:


La primera forma es usando la función add. Con esta función podremos añadir un
documento dentro de nuestra colección y Firestore Database nos generará un ID
de forma automática.

// Add a new document with a generated ID

Ejecutando este código, desde nuestra app estaremos creando una nueva

colección llamada “users” que dentro almacenará un documento cuyo ID será

“miles” y que contendrá la información del usuario donde podremos ver su

nombre, apellido y año de nacimiento.

Una vez ejecutado este código, si volvemos a la consola de Firebase, podremos

ver lo siguiente:
¿Para qué sirve Storage en Firebase y dónde acceso a este apartado?

Firebase es una plataforma de desarrollo de aplicaciones web y móviles impulsada


por Google. Cloud Storage (Almacenamiento en la nube) se incorpora de forma
nativa a la arquitectura de Firebase. Al crear proyectos de Firebase, también está
creando proyectos de Google Cloud, porque aquí es donde Firebase almacena los
datos. Esta integración le permite aprovechar las funciones de seguridad de
Google Cloud para las aplicaciones de Firebase, así como administrar los medios
directamente a través de su cuenta de almacenamiento. 
Este artículo explica cómo funciona la arquitectura de Firebase y lo guía por el
proceso de acceder y cargar archivos, configurar el monitoreo, así como las reglas
de seguridad basadas en el usuario.  
Firebase es una plataforma para el desarrollo de aplicaciones web y móviles. Fue
creado por Firebase, Inc en 2011 y adquirido en 2014 por Google. Firebase
Storage es un almacenamiento incorporado a la plataforma Firebase. Puede
usarlo para almacenar y administrar medios generados por usuarios de
aplicaciones web y móviles.  
El Firebase SDK permite a los desarrolladores trabajar con Firebase mediante
programación, incluida la funcionalidad de almacenamiento en la nube. Les
permite descargar y cargar archivos desde y hacia los clientes
directamente. También incluye funciones que permiten reanudar o reintentar las
transferencias en casos de conectividad insuficiente.    
¿Cómo encaja Cloud Storage en la arquitectura de Firebase?
La arquitectura de Firebase está formada por varios componentes, que funcionan
en conjunto para proporcionar un marco y una infraestructura para desarrollar y
alojar aplicaciones web y móviles. 
Cloud Storage: también llamado Firebase Storage, es un servicio
de almacenamiento de objetos que se ofrece en Google Cloud
Platform. Cuando Google Cloud Storage se incorpora a las aplicaciones de
Firebase, obtiene acceso a las medidas de seguridad de Google y la capacidad de
proteger cualquier carga o descarga en su aplicación. A través del SDK, también
puede administrar sus medios y acceder a ellos directamente desde su cuenta de
almacenamiento. La integración es compatible con aplicaciones de Android, C ++,
iOS, Unity y Web.    
Cloud Firestore: un servicio de base de datos flexible y escalable para el desarrollo
de servidores, web y dispositivos móviles. Sirve como base de datos de
documentos NoSQL. Puede usarlo para almacenar, consultar y sincronizar los
datos de su aplicación. Es compatible con aplicaciones web, iOS y Android. 
Autenticación: incluida en el SDK en forma de bibliotecas de IU. Puede usarla
como un servicio de backend para autenticar a los usuarios de la aplicación
mediante contraseña, números de teléfono o ID federado. Las opciones federadas
incluyen Google, Twitter y Facebook. Es compatible con aplicaciones web, iOS y
Android.
Alojamiento: proporciona alojamiento de nivel deproducción para su contenido
web. Con este componente, puede implementar aplicaciones y ofrecer contenido
dinámico o estático a través de una red de entrega de contenido global (CDN, del
inglés “content delivery network”). También puede combinar el componente de
alojamiento con Cloud Functions para desarrollar y alojar microservicios. Solo se
admiten aplicaciones web.
Funciones en la nube: le permiten automatizar el código de su backend en
respuesta a los activadores de eventos. Los eventos se pueden activar mediante
solicitudes HTTPS o funciones de Firebase. Las funciones en la nube son
compatibles con Android, C++, Unity, iOS y aplicaciones web. 
Métodos de almacenamiento de Firebase
Al usar el almacenamiento de Firebase, varios métodos pueden ayudarlo a
simplificar la administración, monitorear su estado y mejorar su seguridad. 
Accediendo a archivos a través de referencias
Aunque Firebase Storage utiliza una base de datos en tiempo real, puede acceder
a los datos a través de un sistema de archivos/carpetas familiar. Al acceder a los
archivos, simplemente necesita llamar a la referencia donde está almacenado su
archivo. Las referencias también le permiten controlar dónde se almacenan los
archivos y cómo se etiquetan los archivos. 
Para acceder a los archivos, puede utilizar el siguiente código (para aplicaciones
web, hay un código similar disponible para Android o iOS a través de los SDK
correspondientes):
var storageRef = firebase.storage.ref(«folderName/file.jpg»);
Carga de archivos 
Cargar archivos es fácil siempre que conozca la referencia de dónde desea
almacenar su archivo. Con las aplicaciones web, puede cargar archivos a través
de un elemento <input type=”file” />. Cuando carga archivos desde Android e iOS,
puede cargar archivos desde la memoria o desde una transmisión. 
Para configurar la carga de archivos, puede utilizar el siguiente código:

¿Para qué sirve Hosting en Firebase y dónde acceso a este apartado?

Firebase Hosting es un servicio de alojamiento que se administra por completo


para todos los microservicios y el contenido dinámico. Una de las mejores cosas
de Firebase Hosting es que sus servidores están respaldados con
almacenamiento SSD, lo que significa que no tendrá que preocuparse por la
velocidad de los servidores. 
Estos servidores de Firebase Hosting también admiten una red de entrega de
contenido global para la mejor experiencia. En términos de seguridad, viene con
SSL integrado en el sistema Firebase Hosting, lo que lo hace muy seguro.
Ahora, pasemos a las ventajas de Firebase Hosting, que seguramente lo ayudarán
a comprenderlo mejor.
Ventajas de Firebase Hosting
Los servicios de Firebase Hosting vienen con muchas ventajas diferentes. Aquí
discutiremos algunas de ellas.
Menor costo de desarrollo
En la antigüedad, las aplicaciones web y móviles tradicionales utilizaban servicios
de servidor de alojamiento. Esto hacía que el costo general de desarrollo fuera
muy alto por las siguientes razones:
Un equipo más grande de desarrolladores necesitaba una aplicación.
Los diferentes servicios eran comprados por separado.
Los servicios de Firebase Hosting se encargan de todos estos problemas a la vez
que obtiene mucha ayuda para construir el backend, por lo que se reduce la
cantidad de desarrolladores que trabajan en una aplicación. Del mismo modo,

puede acceder a todos los servicios bajo una plataforma, por lo que no necesita
pagar por cosas diferentes.
De esta manera, el costo total de desarrollar una aplicación está bajo control con
los servicios de Firebase Hosting.
Tiempo de comercialización más rápido
Una de las cosas más desafiantes que surgen en el momento del desarrollo y la
implementación de la aplicación es crear rápidamente un producto de software de
calidad. Con el uso de los servicios de Firebase Hosting, puede desarrollar
excelentes aplicaciones muy rápido.
Escalabilidad
Una de las cosas más importantes relacionadas con la aplicación es el escalado
porque se necesita cuando una aplicación se vuelve popular. Utilizar un servidor
de alojamiento es complicado y costoso. Sin embargo, cuando usa Firebase
Hosting, las opciones de escalado son automáticas, lo que significa que no
necesita preocuparse por la administración del servidor.
Cree aplicaciones con muchas funciones
Una de las cosas más importantes relacionadas con la aplicación es el escalado
porque se necesita cuando una aplicación se vuelve popular. Utilizar un servidor
de alojamiento es complicado y costoso. Sin embargo, cuando usa Firebase
Hosting, las opciones de escalado son automáticas, lo que significa que no
necesita preocuparse por la administración del servidor.
Características principales de Firebase Hosting
Firebase Hosting viene con muchas funciones. Aquí mencionaremos algunas de
ellas.
La seguridad es vital en el mundo en línea, y los servicios de Firebase Hosting
hacen que las aplicaciones sean muy seguras con SSL integrado con cero
configuraciones.
Los servicios de alojamiento de Firebase Hosting son muy rápidos, lo que significa
que su aplicación no tendrá que enfrentarse a ningún problema de alta latencia de
Internet.
Las herramientas de línea de comandos de los servicios de Firebase Hosting
facilitan a los desarrolladores agregar objetivos de implementación en las
aplicaciones.
Los servicios de alojamiento y backend emulados facilitan que los equipos
prueben y mejoren el sistema incluso antes de completar la aplicación en vivo.

¿Para qué sirve Functions en Firebase y dónde acceso a este apartado?

Cloud Functions es un framework sin servidores que permite escribir e


implementar código en los servidores de Firebase que responda de forma
automática a un evento concreto de nuestra app. Con los casos de uso siguientes
seguro que queda más claro:
 Notificar a los usuarios cuando ocurre algo interesante: envía correos
electrónicos de confirmación cuando un usuario se registre, envía una push a un
usuario suscrito a un blog cuando otro cree un nuevo post…

 Ejecutar la limpieza y el mantenimiento de la base de datos: elimina lenguaje


obsceno de mensajes de usuarios, borra definitivamente el contenido de un
usuario eliminado de base de datos…

 Ejecutar tareas intensivas en la nube en lugar de en la app: envía correos


masivos a los usuarios, preprocesa imágenes recortándolas y comprimiendo su
tamaño antes de almacenarlas…
 Realizar integraciones con API y servicios de terceros: procesa pagos, traduce
con Google translate, usa Linkedin o Instagram como proveedor de
autenticación…

Este módulo está soportado para iOS, Android, Web, C++ y Unity.

Firebase Authentication

La mayoría de las aplicaciones requieren de un proceso de autenticación del


usuario para que éste pueda hacer uso de la misma.

Y de nuevo, Firebase ya pensó en ello desde sus inicios con el módulo Firebase


Authentication, que proporciona servicios de backend, SDK fáciles de integrar y
utilizar y bibliotecas de IU ya preparadas para que puedas autenticar a los
usuarios de tu aplicación.

Permite la autenticación mediante diversos mecanismos: contraseñas, números de


teléfono, proveedores de terceros como Facebook, Google y Twitter…

Además, aprovecha otros estándares como OAuth 2.0 y OpenID Connect por lo


que puedes también integrarlo fácilmente con tu propio backend.
Este módulo está soportado para iOS, Android, Web, C++ y Unity.

¿Qué otras funcionalidades existen en Firebase?


Más adelante entraremos en detalle de cada uno de los módulos que componen
cada grupo, pero primero: ¿Cuáles son las principales ventajas que ofrece esta
plataforma?
Inicio gratuito y escalable: uno de los aspectos más destacables de Firebase es
que la mayoría de sus módulos son de uso gratuito siempre y para cualquier
tamaño. Hay algunos que limitan la capacidad en el plan gratuito, pero no
debemos preocuparnos por ello, puesto que si a futuro nuestra app tiene éxito y es
necesario aumentar las capacidades de nuestro servidor, podemos gestionarlo
fácilmente con Firebase.
Es multiplataforma, ya que se encuentra disponible para las principales
plataformas móviles (Android e iOS) y para la web. Además, otras tecnologías
comienzan a tener también soporte como Node, Flutter, Unity…
Nos ofrece un gran poder de crecimiento al gestionar fácilmente todos los usuarios
de las aplicaciones, y potenciar el crecimiento de los mismos a través del envío de
notificaciones e invitaciones.
Se trata de una herramienta ágil, sencilla y nos permite olvidarnos de la
infraestructura. Firebase nos proporciona APIs intuitivas integradas todas en un
sólo SDK, lo que nos permite centrarnos en resolver los problemas de nuestros
clientes en vez de focalizarnos en crear una infraestructura compleja.
Podemos ganar dinero: sí sí, has leído bien, mediante el uso de AdMob podemos
dotar a nuestra app con anuncios y publicidad de manera muy sencilla.
Crecimiento continuo: no perdáis de vista las novedades de Firebase, ya que van
creando nuevos módulos y éstos cada vez son compatibles con nuevas
tecnologías.
Y como todo en esta vida tiene una cara B, Firebase también tiene algunas
desventajas que debemos tener en cuenta a la hora apostar por esta plataforma:
No es open source: Firebase no es una opción de código abierto, por lo que los
desarrolladores no pueden hacer adaptaciones si lo desean.
No dispone de bases de datos relacionales: sus dos
opciones, Firestore y Realtime Database tienen una estructura NoSQL. Además,
se hace complicado a veces ejecutar consultas complejas.
No todos los servicios son gratuitos: si bien como hemos comentado antes hay un
conjunto interesante de ellos que sí lo son, hay otros que comienzan siendo
gratuitos y tan pronto el usuario exceda el límite establecido, se efectuarán los
cargos bajo el Plan de pago. Por ello, es necesario tener una previsión de cómo
escalará nuestra aplicación para tener en cuenta que en algún momento podemos
tener costes por el uso de alguno de sus módulos.
Se ejecuta sólo el Google Cloud: al ser parte de Google no podía ser de otra
forma. No tenemos ninguna opción de ejecutar Firebase en otros proveedores en
la nube como AWS o Azure.

Requiere tiempo de aprendizaje: como con toda tecnología, debemos aprender


cómo usar Firebase. Si bien proporciona gran documentación sobre cómo integrar
cada módulo y ejemplos de cada uno de ellos, tenemos que dedicar tiempo a
conocer cómo integrarlos en nuestra aplicación.
¿A partir de qué momento, Firebase te cobra por el uso de sus
funcionalidades?
Recuerda que una de sus ventajas es que la mayoría de sus módulos son gratis.
Pero si tu app tiene éxito y necesita más recursos Firebase dispone de 2 planes
de precios que ofrecen mayores capacidades:
Plan Spark: no tiene coste para muchos servicios y otros tienen límites amplios
para comenzar a utilizarlos.
Plan Blaze: incluye el plan blaze, y cobra algunos servicios en función del volumen
de uso.
Para poder estimar el coste del plan Blaze, Firebase te proporciona una
calculadora para que definas tus necesidades de aplicación (memoria de BBDD,
operaciones de escritura y lectura necesarias, invocaciones…) y en función de eso
te indica el precio que tendrás que pagar.
Consulta los precios de cada módulo y haz tus propios cálculos desde la web
oficial.

RUBRICA EVALUACIÓN

Dimensiones Observación Puntaje

1. Analiza, investiga y responde los


Cognoscitiva cuestionamientos solicitados. 6

1. Esquematiza la información de forma


Procedimental 3
comprensible.

1. Complementa con material extra su actividad.


Actitudinal 1

También podría gustarte