NodeJs con Firebase en el backend
En este artículo se presenta un proyecto programado con NodeJs y Firebase para crear un backend sencillo, rápido y potente en 30 minutos. El proyecto hace uso de la base de datos proporcionada por Firebase para sincronizar información en tiempo real.
Entorno
El proyecto que se presenta en este artículo está desarrollado mediante el lenguaje de programación JavaScript. Además, las tecnologías principales utilizadas son:
- NodeJs 10.14.1.
- Express 4.16.4.
- Firebase 6.3.0.
NodeJs es concebido como un entorno de ejecución de JavaScript orientado a eventos asíncronos. Además, está diseñado y optimizado para construir aplicaciones web escalables.
Express proporciona todas las herramientas necesarias para poder crear una infraestructura web rápida, minimalista y flexible en NodeJs.
Firebase es una plataforma para el desarrollo de aplicaciones web y aplicaciones móviles. Entre sus principales funcionalidades destacan dos.
En primer lugar, la posibilidad de autentificar a los usuarios mediante sus redes sociales (Firebase Auth). Y en segundo lugar, la base de datos sincronizada en tiempo real (Realtime Database).
La funcionalidad principal del proyecto, es leer desde un fichero un listado de noticias e introducirlas en la base de datos.
Código
NodeJs
El primer paso es tener instalado NodeJs.
El segundo paso es instalar Express para poder crear una aplicación web:
npm install express --save
// Fichero app.js
var app = express();
Firebase
El tercer paso es configurar la cuenta de Firebase y obtener la clave para conectarse a través del SDK. La clave consiste en un fichero JSON donde están las credenciales para acceder a los servicios de Firebase. Una vez obtenido el fichero, hay que importarlo en la aplicación:
// Fichero app.js
var serviceAccount = require("./news-c1eed-firebase-adminsdk-lxsj2-d67e262685.json");
El cuarto paso es añadir y configurar la librería firebase-admin, la cual proporciona la interfaz para interactuar con los servicios de Firebase:
npm install firebase-admin --save
// Fichero app.js
var admin = require("firebase-admin");
El quinto paso es utilizar la librería firebase-admin para acceder a la base de datos y así poder manipularla:
// Fichero app.js
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://news-c1eed.firebaseio.com"
});
var database = admin.database();
El sexto paso es utilizar la referencia de la base de datos para realizar las operaciones necesarias.
El ejemplo que se muestra a continuación, parte de la raíz de la base de datos y borra el nodo «News-list». Por lo tanto, todo el contenido que depende de ese nodo también es borrado.
var ref = database.ref("/News-list/");
ref.remove(); // Clear all news
Es importante destacar que la base de datos de Firebase es una base de datos no relacional, por lo tanto, recomiendo investigar sobre el concepto de NoSQL.
El código completo de la aplicación lo tenéis subido en un repositorio en Github y se pueden hacer pruebas sin problemas, además de críticas constructivas.
Conclusión
La aplicación que se presenta en este proyecto es bastante sencilla, sin embargo, es importante destacar la potencia que tienen todas estas herramientas combinadas en un mismo proyecto.
Por otro lado, lo más importante que se puede extraer de este proyecto de ejemplo, es la rapidez con la que se puede tener un backend funcionando. Es más, si tus necesidades son las de crear un prototipo y necesitas ser lo más rápido posible, es una muy buena opción utilizar estas herramientas para el backend.
0 comentarios:
Publicar un comentario