Introducción a Firebase

En este artículo vamos a explicar Firebase con el fin de completar la suite tecnológica que nos proporciona Google para trabajar con Angular.

Tendremos Angular como frontEnd combinando con Angular Material para definir las interfaces junto a Firebase como lo que se conoce bajo el nombre de Backed as a Service (BaaS).

En este artículo por el momento aún no trabajaremos con Firebase, ya que en él haremos una vista de pajaro sobre la plataforma de Firebase. Que posteriormente nos permitirá el poder conocer mejor a Firebase y lo que nos ofrece para cuando tengamos una necesidad implementarla en nuestro proyecto, es decir, sabremos que pizas coger para realizar lo que necesitamos en dicha plataforma.

Limitaciones de backEnd

El backEnd es el factor determinante que suele limitar muchos proyectos o incluso muchas ideas prometedoras no llegan a realizarse debido a multitud de factores, entre los que se encuentran:

  • Factores como el conocimiento de dicha tecnología (Spring Boot, PHP, Phyton, JavaScript, etc.) y de seleccionar/escoger a la que creemos que será la más adecuada para nuestro proyecto.
  • Factores el coste económico junto con el tiempo de desarrollo, debido a lo lento y complejo que es realizar un backend tradicional. Y que el software funcione con ciertas garantías (requiere realizar testing, seleccionar arquitectura, etc). El resultado de realizar un backend tradicional es un proceso lento que dependiendo de las necesidades puede tardar muchos meses en desarrollarse 6, 12, 24, 36…

Es decir, el backEnd es un factor que limita nuestras pretensiones.

Cuando queremos desarrollar aplicaciones de una forma rápida que sean escalables y accesibles de forma rápida una alternativa a tener en cuenta es Firebase.

¿Qué es Firebase?

Firebase es plataform conocida como cloud platform (la plataforma de nube) que nos ofrece Google. Esta platform que contiene todo lo necesario referente al BackEnd para poder desarrollar de aplicaciones web y aplicaciones móviles (iOs y Android).

En nuestro caso, al desarrollar con Angular para web, Firebase nos ofrece crear aplicaciones de forma rápida  y dinámica a través de una serie de servicios que nos ofrece Google y así, solo tener que preocuparnos del lado cliente Front End.

Cuando hablamos de cloud platform estamos hablando de una serie de servicios que se encuentran “alojados en la nube”. Con ello, nos referimos a productos que tienen componentes de backend que Google mantiene y opera en su totalidad. Y a los cuales nos conectamos mediante a la API que nos proporciona Firebase interactuando para poder acceder a los servicios de Google , sin necesidad de realizar una gran configuración sobre nuestra aplicación y el servicio. Por lo tanto, si estamos utilizando una de las opciones de la base de datos de Firebase, normalmente escribimos código para consultar la base de datos sobre nuestra aplicación cliente.

Un poco de historia sobre Firebase

En 2011, antes Firebase fuera comprada por Google y también de que fuera Firebase, “Firebase” como tal pertenecía a una startup llamada Envolve.

Esta startup (Envolve) se hizo popular debido a que proporcionaba una API a los desarrolladores que ofrecía la integración de un chat en línea en los sitios web. Pero mucha gente utilizaba este servicio de mensajería para transferir datos de aplicaciones que eran mucho más que mensajes de chat, por ejemplo el estado de un juego a tiempo real entre sus usuarios.

En aquel entonces el futuro “Firebase” no era más que una base de datos (BBDD) a tiempo real, orientada sobre documento (es decir NoSQL / NoRel).

Pero James Tampling y Andrew Lee (fundadores de Envolve) percatándose de que los desarrolladores utilizaban su servicio de mensajería (chat) para otros usos, decidieron dividir Firebase en 2 partes: el sistema de chat y la arquitectura en tiempo real. Y fue en 2012,  gracias a una recaudación de 1,1 millones de dólares de invesiones privadas cuando se creó Firebase como tal, como una empresa independiente que proporcionaba Backend-as-a-Service con funcionalidad en tiempo real.

Firebase es la plataforma de desarrollo de aplicaciones móviles de Google que le ayuda a crear, mejorar y hacer crecer su aplicación.

2013, la compañía seguía creciendo hasta conseguir una recaudación de 5,6 millones de dólares. Y ya en 2014, con dicha recaudación lanzó dos productos: Firebase Hosting y Firebase Authentication posicionandose ya como una empresa que ofrece backend como servicio.

Ese mismo año en 2014, Firebase fue comprada por Google la que convirtió en una plataforma completa de servicios. Y más tarde, durante las conferencias anuales de Google I/O (evento anual donde Google presenta sus novedades: productos, software, etc.) empezaron a presentar/hablar de nuevos servicios que se incluian en Firebase como son: FireStore, Cloud Platform, etc.

Google además absorbió al equipo de Divshot para que pase a formar parte de su equipo Firebase. Provocaron que evolucionará muy rápidamente hasta convertir en el gigante multifuncional que es hoy en día.

¿Qué es un BaaS?

Hasta ahora hemos hablado de BaaS pero no hemos explicado que es. Vamos a verlo al detalle:

BaaS → o Backend-as-a-Service es un servicio que nos proporciona a los desarrolladores (de web y de mobile) un modelo que permite a los desarrolladores utilizar una serie de servicios permitiendo prescindir totalmente de una API personalizada.

Por tanto, un Backend as a Service nos proporciona una gran cantidad de herramientas y servicios para ayudarnos a desarrollar aplicaciones de alta calidad, sin necesidad de tener que desarrollar un backend (usaremos el de Google).

Backend-as-a-Service (BaaS) nos permitirá prescindir de un backEnd al completo

BaaS no es nada más y nada menos que una infraestructura de software que es vendida como un servicio. Es decir si nosotros hacemos un software (en este caso el que hace el software y por tanto el propietario de dicho software es Google) y en vez de vender dicho software a 25K $ ofrece servicios a un precio que dependerá del uso de dicho software vendiéndolo por tanto en forma de servicio por ejemplo a 100 $.

Servicios que nos ofrece Firebase

Que nos ofrece Firebase para poder prescindir de un backed. Algunos de los principales servicios que nos ofrece Firebase son:

  • Cloud Firestore: Bases de datos no relacionados (No SQL) con escalamiento automático.

  • Cloud Functions: es un framework sin servidores que te permite ejecutar de forma automática el código de backend en respuesta a las solicitudes HTTPS. Tu código JavaScript o TypeScript se almacena en la nube de Google y se ejecuta en un entorno administrado. No necesitas administrar ni escalar tus propios servidores.

  • Autentifications: Nos ofrece soluciones para autentificación para iniciar sesión con correo electrónico, autenticación telefónica, acceso mediante redes sociales (Facebook, Twitter, etc), Google, GitHub, etc.

  • Hosting: Firebase Hosting proporciona hosting seguro donde publicar nuestras aplicaciones de forma rápida para las aplicaciones web, el contenido dinámico/estático, y micro servicios.

  • Cloud Storage: se diseñó para ayudarnos a almacenar y procesar con rapidez y facilidad el contenido generado por usuarios, como fotos y videos.

  • Realtime Database: Firebase Realtime Database es una base de datos NoSQL alojada en la nube que permite almacenar y sincronizar datos entre tus usuarios en tiempo real.

  • Cloud Messaging: Notificaciones en tiempo real y envío de SMS.

  • FireStore: Bases de datos no relacionados (No SQL) con escalamiento automático.

Precios del servicio de Firebase

Firebase ofrece una versión gratuita que incluye por ejemplo 10.000 autentificaciones por mes. En caso de superar dicha cantidad de nivel de uso de uno de los servicios, autentificaciones, consultas, etc. En principio significará que tenemos una aplicación de una embergadura mediana o grande y se empezará a facturar por su uso. Os dejo el link para que veaís las tarifas una vez superado el uso gratuito mensual.

Espero que os haya servido para entender un poco más a Firebase y la gran envergadura que tiene esta plataforma de Googlea. En próximas lecciones empezaremos a trabajar con dichos servicios realizando autentificaciones, trabajando con FireStore y muchas más cosas, que nos hemos dejado en el tintero. Saludos 🙂

3 comentarios

  1. If some one needs expert view regarding running a blog afterward i propose him/her to pay a quick visit
    this web site, Keep up the good job.

  2. I’ve been exploring for a bit for any high quality articles or blog posts in this sort of house
    . Exploring in Yahoo I at last stumbled upon this website.
    Reading this info So i am satisfied to express that I’ve a
    very good uncanny feeling I found out exactly what I needed.

    I most no doubt will make certain to do not omit this website and provides
    it a look on a relentless basis.

  3. Have you ever thought about creating an e-book or guest authoring
    on other blogs? I have a blog centered on the same topics you
    discuss and would really like to have you share
    some stories/information. I know my visitors
    would enjoy your work. If you’re even remotely interested,
    feel free to shoot me an e-mail. ps4 games https://j.mp/3z5HwTp ps4 games

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

La Ley 34/2002 nos obliga a avisarte de que usamos cookies propias y de terceros con objetivos estadísticos y de sesión y para mostrarte la 'publi' que nos da de comer. Tranquilo, este mensaje solo sale una vez. Más información

Java desde 0 comunica a los usuarios, a través de este aviso, que puede utilizar cookies cuando el usuario navega por las diferentes pantallas y páginas del sitio. Durante el uso de nuestra página Web usted acepta y autoriza expresamente el uso de cookies, de acuerdo con nuestra Política de Privacidad. Este sitio web utiliza las siguientes cookies propias: - Cookies de sesión, para garantizar que los usuarios que escriban comentarios en el blog sean humanos y no aplicaciones automatizadas. De esta forma se combate el spam. Este sitio web utiliza las siguientes cookies de terceros: - Google AdManager y AdSense: Utiliza cookies para mejorar la publicidad. Entre otros fines, suelen utilizarse para segmentarla según el contenido que sea relevante para los usuarios o su ubicación, mejorar los informes de rendimiento de las campañas y evitar mostrar anuncios que los usuarios ya hayan visto. Las cookies no contienen información personal identificable. Consulta cómo utiliza Google la información de sitios web o aplicaciones. y cómo bloquear determinados anuncios. - Google Analytics: Almacena cookies para poder elaborar estadísticas sobre el tráfico y volumen de visitas de esta web. Al utilizar este sitio web está consintiendo el tratamiento de información acerca de usted por Google. Por tanto, el ejercicio de cualquier derecho en este sentido deberá hacerlo comunicando directamente con Google. - Redes sociales: Cada red social utiliza sus propias cookies para que usted pueda pinchar en botones del tipo Me gusta o Compartir.

Cerrar