
Tabla de contenidosMostrar / ocultar
¿Qué es Node.js?
Node.js es un entorno de ejecución (runtime environment) multiplataforma y de código abierto para JavaScript que permite ejecutar código JavaScript fuera del navegador web, principalmente en el lado del servidor (server-side).
Construido sobre el motor V8 de Google Chrome, Node.js utiliza un modelo de E/S orientado a eventos (event-driven) y no bloqueante (non-blocking), lo que lo hace extremadamente ligero, rápido y eficiente para aplicaciones distribuidas que gestionan miles de conexiones simultáneas con un consumo mínimo de memoria RAM.
¿Cuándo y quién lo creó?
- Año de lanzamiento: 2009.
- Creador: Ryan Dahl.
- Contexto histórico: A Dahl le frustraba la forma en que los servidores web tradicionales de la época (como Apache HTTP Server) gestionaban la concurrencia. Cada petición de usuario requería asignar un hilo completo del sistema operativo (thread-per-connection), consumía 2 MB de memoria por conexión y hacía que el servidor colapsara rápidamente ante decenas de miles de clientes simultáneos. Dahl concibió la idea de aprovechar el Event Loop natural de JavaScript para delegar todas las operaciones de entrada/salida (lectura de disco, consultas a bases de datos, sockets de red) de forma asíncrona mediante un único hilo principal.
- Gobernanza: Actualmente lo mantiene la comunidad bajo la tutela de la OpenJS Foundation (parte de la Linux Foundation).
¿Para qué se utiliza?
Node.js es una pieza fundamental de la ingeniería de software contemporánea:
- APIs RESTful y GraphQL: Creación de servicios de alta concurrencia que interactúan con bases de datos relacionales (PostgreSQL, MySQL) o NoSQL (MongoDB, Redis).
- Aplicaciones en tiempo real (WebSockets): Sistemas de chat, subastas en directo, paneles colaborativos y telemetría de sensores IoT.
- Backend-for-Frontend (BFF) y SSR: Servidores para renderizar aplicaciones en tiempo real (Server-Side Rendering) con frameworks como Next.js, Nuxt o Astro.
- Ecosistema npm y herramientas de construcción: Ejecución del mayor registro de paquetes del mundo (npm), utilizado para empaquetar, compilar y probar prácticamente cualquier aplicación web moderna.
- Microservicios y Cloud Functions: Arquitecturas serverless en plataformas como AWS Lambda, Google Cloud Run o Cloudflare Workers.
Arquitectura técnica: ¿cómo funciona Node.js?
Node.js combina varios componentes fundamentales escritos en C++ y JavaScript:
+-------------------------------------------------------+
| Aplicació Node.js |
| (Codi JavaScript) |
+-------------------------------------------------------+
| APIs Nadiues (fs, http, crypto, path) |
+---------------------------+---------------------------+
| Motor V8 (C++) | libuv (C) |
| (Compilació & Memòria) | (Event Loop & ThreadPool)|
+---------------------------+---------------------------+
| Sistema Operatiu (Linux / Windows) |
+-------------------------------------------------------+
- Motor V8: Compila el código JavaScript directamente a código máquina nativo del procesador.
- libuv: Biblioteca en C diseñada específicamente para Node.js que implementa el Event Loop multiplataforma y gestiona un grupo de hilos internos (Thread Pool) para aquellas operaciones del sistema que no pueden ser no bloqueantes de forma nativa a nivel de sistema operativo (OS), como ciertas lecturas de archivos.
// Ejemplo de servidor HTTP asíncrono con el módulo nativo 'node:http'
import http from 'node:http';
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({
status: 'online',
uptime: process.uptime(),
platform: process.platform
}));
});
server.listen(3000, () => {
console.log('Servidor en ejecución en http://localhost:3000');
});
Ventajas principales
- Un solo lenguaje en todo el stack: Permite a los equipos utilizar JavaScript/TypeScript tanto en el frontend como en el backend y compartir modelos de datos, validaciones y lógica de negocio.
- Bajo consumo de recursos: Ideal para entornos reducidos en contenedores Docker y microservicios en la nube.
- Comunidad masiva: Miles de bibliotecas de código abierto auditadas disponibles de inmediato mediante gestores de paquetes.

Checklist de Rendiment (60 FPS) i Accessibilitat (WCAG AA)
Els 25 punts d'auditoria que aplique en producció abans de desplegar qualsevol aplicació web o SPA en Angular/TypeScript.
¿Tienes un reto similar en tu empresa o negocio?
Desarrollo aplicaciones web a medida, diseño páginas web rápidas y ayudo a negocios a optimizar rendimiento y automatización en Xàtiva, Valencia o en remoto.