Node.js
¿Qué es Node.js?
Node.js es un entorno de ejecución de JavaScript en el servidor, construido sobre el motor V8 de Chrome. Permite ejecutar código JavaScript fuera del navegador, lo que lo convierte en una herramienta ideal para construir aplicaciones del lado del servidor.
Fue creado por Ryan Dahl en 2009 con un objetivo claro: permitir manejar muchas conexiones simultáneas de forma eficiente, sin bloquear el hilo principal, gracias a su modelo asincrónico y orientado a eventos.
¿Para qué sirve Node.js?
Node.js se utiliza principalmente para:
- Construir APIs y servicios web.
- Crear servidores backend para apps frontend como React o Vue.
- Desarrollar herramientas CLI (como npm o vite).
- Crear aplicaciones en tiempo real, como chats o juegos multijugador.
- Automatizar procesos de desarrollo.
¿Cómo funciona?
Node.js trabaja con un modelo no bloqueante, lo que significa que puede gestionar múltiples peticiones simultáneamente sin detenerse. Usa un bucle de eventos (event loop) que gestiona tareas asíncronas como llamadas a bases de datos o accesos a archivos.
Imagina que Node es un camarero que toma muchas órdenes a la vez. En lugar de esperar en la cocina a que terminen un plato, anota el pedido y sigue con otro. Cuando la cocina le avisa que el plato está listo, lo sirve. Así, puede atender muchos clientes rápidamente.
Ejemplo: Servidor HTTP básico en Node.js
import http from 'node:http';
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hola desde Node.js!');
});
server.listen(3000, () => {
console.log('Servidor escuchando en http://localhost:3000');
});
Características clave
Asincronía y no bloqueo: ideal para aplicaciones concurrentes.NPM (Node Package Manager): el mayor ecosistema de librerías del mundo.Un solo lenguaje (JavaScript)en cliente y servidor.Compatible con múltiples frameworks: Express, Fastify, NestJS, etc.
¿Dónde se usa?
- En la mayoría de apps modernas con stack JS (por ejemplo: MERN, MEVN).
- En aplicaciones como Discord, Netflix, PayPal o LinkedIn.
- En herramientas de desarrollo frontend como Vite, ESLint, Webpack, etc.
Conclusión
Node.js permite a los desarrolladores usar JavaScript también en el servidor, ofreciendo una solución rápida, ligera y escalable. Gracias a su ecosistema y enfoque asincrónico, es una elección popular para crear aplicaciones modernas del lado del servidor.