OpenWebinars

Desarrollo Web

Ventajas de usar Firebase

Queremos contarte las ventajas de utilizar Firebase como bakend para tus aplicaciones o plataformas.

Diego Martínez

Diego Martínez

EXPERTO EN JAVASCRIPT

Lectura 6 minutos

Publicado el 4 de junio de 2019

Compartir

    Tabla de contenidos

Queremos contarte las ventajas de utilizar Firebase como backend para tus aplicaciones o plataformas.

Firebase es una herramienta en la nube que ofrece varias soluciones a trabajos muy típicos de desarrollo de aplicaciones, como por ejemplo algunas de las que destacamos a continuación.

Hosting sin necesidad de FTP ni servidores

Para una aplicación web necesitamos un alojamiento. Lo más clásico es tener un hosting contratado en un servidor, y tener que administrarlo en mayor o menor medida.

En el mejor de los casos, no es necesario administrar nada, solo es necesario conectarse al servidor por FTP y subir los ficheros estáticos o dinámicos, ya sean PHP, Angular o HTML puro.

En el peor de los casos, tenemos que administrar una máquina que soporte todo esto, a la que poder subir ficheros, pero también tenemos que administrar la seguridad, el acceso a diferentes usuarios o para los distintos servicios que se tengan en el servidor, es decir, es un proceso mucho más complejo.

Firebase nos ahorra todo este trabajo, ya que permite subir una aplicación de NodeJS, sea con Angular, React o sea algún servicio, con un simple comando de consola, ya que con el comando firebase deploy vamos a desplegar nuestro proyecto automáticamente en la nube, sin FTP y sin administrar servidores, todo muy sencillo.

Solo es necesario tener integrada la aplicación con el proyecto de Firebase y escribir ese comando en la consola, con la herramienta de CLI, podemos subir nuestro proyecto, el cual se va a compilar, se subirá a la nube y nos ofrecerá una URL, que podremos asociar un dominio si queremos tener una URL más bonita, para que cualquier usuario pueda acceder.

Gestión de usuarios con diferentes proveedores

Otro tema típico y clásico que hay que hacer en cualquier desarrollo de aplicaciones, es la gestión de usuarios.

Esta gestión, si no se utiliza un servicio de terceros para administrar los usuarios, implica desarrollar una serie de servicios o módulos dentro de la aplicación, para tener los usuarios bien en base de datos o en cualquier otra solución, y securizar todo el proceso de identificación para que nadie pueda entrar de ninguna manera.

Firebase ofrece un servicio de gestión de usuarios, y no solo eso, sino que además permite la identificación de los mismos con diferentes proveedores, por ejemplo Google, Facebook, Twitter y GitHub.

También ofrece un método de autenticación básica con usuario y contraseña, que es un proceso que está totalmente estandarizado en el mundo de las aplicaciones y servicios.

Todo esto nos ayuda a simplificar el trabajo, ya que no hay que escribir todo el código necesario para la gestión de usuarios, puesto que la consola de Firebase nos permite crear los usuarios y administrarlos.

Es cierto que ofrece un nivel muy básico en este aspecto, y que para una gestión de usuarios más compleja va a ser necesario hacer cierto desarrollo, pero siempre apoyado con los métodos que nos ofrece Firebase.

Además proporciona un método para hacer login directamente introduciendo el email y la contraseña, y va a devolver una tipología de errores ya definidos, por ejemplo, el usuario es correcto pero la contraseña es errónea, el usuario no existe, el formato del email incorrecto, etc.

De esta forma, aunque sea necesario algo de código para gestionar los errores o para gestionar usuarios, Firebase nos va a ayudar a simplificar todo el proceso.

Ventajas respecto a bases de datos

Al utilizar Firebase, que ofrece una base de datos ya montada, solo tenemos que meter y sacar datos de la misma. De lo contrario tendríamos que desplegar una base de datos de algún tipo, ya sea MySQL, Oracle o alguna de las modernas de tipo no relacionales.

Y de nuevo, al igual que ocurría con el hosting, posiblemente habría que administrar el servidor y todo lo demás. Bastante trabajo solo de infraestructura, más todo el código que hace falta para acceder a la base de datos.

Con la base de datos en la nube de Firebase, y con la librería que ofrece para Angular, es posible hacer operaciones directas y muy sencillas a la base de datos, ya sea para insertar o para actualizar un dato, para borrarlo o para sacar listados.

Esto nos permite trabajar a un nivel alto comparado con el trabajo habitual de tener que trabajar contra un MySQL o contra PostGreSQL.

Además permite tener en la consola de Firebase una visión de los datos que tenemos en la base datos, una importación y exportación bastante ágil o hacer un backup, todo ello dentro de las opciones gratuitas, hasta ciertos límites, para proyectos simples y en los que no se manejen muchos datos.

Todo lo anterior se extiende para la capacidad que ofrece Firebase de gestionar ficheros, ya que permite subir ficheros, modificarlos, hacer alguna operación con los mismos y borrarlos.

De esta forma tenemos una herramienta de gestión de ficheros en la nube sin necesidad de desplegarla ni montarla en un servidor, sino que directamente, igual que con la base datos, podemos trabajar con operaciones de subida directa y borrado, todo de forma muy sencilla, sin tener que administrar ningún servidor para los ficheros, ni la seguridad del mismo.

También destacar lo simple que resulta desplegar servicios en las funciones en la nube de Firebase, donde podemos desplegar servicios de forma muy sencilla, sin tener que contratar una instancia en Amazon o en Azure, securizarla, realizar toda la administración y todo lo necesario para despleglar un site de servicio en NodeJS.

Podemos hacer una función en la nube, sin tener que crear un proyecto de Node con Express o con cualquier otro framework de microservicios, sino que vamos a poder generar un pequeño proyecto, en el que simplemente tendremos que meter el código de nuestra función.

No solo nos va a servir como servicio web para que sea llamado por HTTP y haga una serie de operaciones o de acciones, si no que vamos a poder activar funciones en la nube en función a eventos de base de datos o de Firebase storage, la herramienta para gestionar ficheros en la nube.

Por ejemplo, si cada vez que un usuario accede a la base de datos queremos que se envíe un correo, podemos hacer una función en la nube que salte cuando el nodo de los usuarios reciban una nueva información o nuevos datos, y a partir de ese evento enviar un correo con los propios datos que cogemos de ese nodo nuevo.

Esta es una de las herramientas más potentes que se incluyen en Firebase, porque permite triggers de la base de datos, por ejemplo. Si venís de usar Oracle y habéis utilizado triggers, en las bases de datos no relacionales seguramente los echéis de menos, y es algo que Firebase, con las Cloud Functions, permite implementar triggers de manera muy sencilla, y no solo para la base de datos, sino también para la parte de storage.

Estas son algunas de las ventajas de usar Firebase como backend, y hay muchas más, pero son las más importantes y las más básicas, además de las más típicas dentro de un desarrollo de aplicaciones o servicios.

Aprende a usar los servicios de Firebase como el hosting web, autenticación de usuarios, base de datos, almacenamiento en la nube y cloud functions con un proyecto real de Angular.

cta-blog-curso-openshift

Recuerda que puedes comenzar este curso con tu suscripción a OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.

Compartir este post

También te puede interesar

Icono de la tecnología
Curso

Firebase y Angular

Intermedio
2 h. y 58 min.

Aprende a usar los servicios de Firebase como el hosting web, autenticación de usuarios, base de datos, almacenamiento...

Diego Martínez
4.3