NodeJS: ¿Qué es y para qué sirve?

Node.js is un entorno de ejecución Javascript multiplataforma y open-source. Es sin duda la tecnología de Javascript más utilizada en el lado del servidor a día de hoy.

En el momento de escribir este post Node.js funciona con el engine V8 de Javascript, este engine es el que utiliza el navegador Google Chrome, para ejecutar Node.js no hace falta tener instalado ni activo este navegador en el servidor.

Node.js se ejecuta en un proceso único, creando un nuevo hilo de ejecución por cada petición. Dispone además de una manera nativa de una serie de primitivas I/O que evitan que haya bloqueos, de hecho la mayor parte de las librerías creadas para extender Node.js están basadas en la misma filosofía para evitar paralizaciones en la ejecución.

Cuando Node.js neceista ejecutar una operación de I/O, como leer de la red, acceder a ficheros, etc, en vez de bloquear la CPU hasta que la operación termine permite pausar el consumo de CPU hasta que recibe la respuesta esperada y puede continuar con la ejecución.

Esto permite que Node.js pueda ejecutar miles de peticiones concurrentes en el mismo servidor sin tener que preocuparse de la tarea de manejar la concurrencia de hilos con lo que mejora el rendimiento y permite evitar muchos problemas.

Node.js es utilizado a día de hoy por millones de desarrolladores, al funcionar con Javascript muchos desarrolladores de la parte front son capaces de programar utilizando Node.js con muy poca formación adicional.

Node.js se ejecuta en el servidor, por lo que tienes un control completo de su ejecución y de las librerías que utiliza.

La primera versión de Node.js fue lanzada en 2009 por su creador, Ryan Dahl, para solucionar un problema de del servidor Apache que impedía más de 10.000 conexiones concurrentes. El proyecto fue creciendo como la espuma y a día de hoy tiene un uso abrumador.

En mi caso aterrizó en mi vida profesional en 2013 o así, el proyecto fue fallido, pero me sirvió para descubrir una tecnología muy rápida y fácil de utilizar en cualquier entorno alternativa a PHP, que era lo que usaba en el desarrollo del servidor casi en exclusiva -salvo algo de C# o de ASP.NET- por aquella época.

Node.js dispone de centenares de miles de paquetes para instalar, todos Open Source y usables en cualquier proyecto.

En Internet hay disponibles un montón de frameworks y herramientas que amplían y simplifican las posibilidades de Node.js como Express, Meteor, NestJS, etc.

A ver si me animo y escribo unos cuantos tutoriales sobre Node.js.

Espero que os sea de utilidad ^_^.

Comentarios