Qué es Node.js y para qué se utiliza
En esta clase empezamos desde el principio. Sin demasiada historia ni contexto innecesario, vamos a entender qué es Node.js, por qué existe y por qué es tan importante dentro del ecosistema JavaScript.
Qué es realmente Node.js
Node.js es un entorno de ejecución para JavaScript fuera del navegador.
Importante: Node.js no es un nuevo lenguaje, es el mismo JavaScript que ya conoces, pero ejecutándose en un lugar diferente.
Esto es clave:
- ❌ No es un lenguaje.
- ❌ No es una librería.
- ❌ No es un framework.
- ✅ Es un entorno de ejecución.
El navegador ya puede ejecutar JavaScript gracias a su motor interno. Node.js lo que hace es permitir ejecutar JavaScript fuera del navegador, directamente en el sistema operativo.
Qué hay por debajo: el motor V8
Node.js utiliza el motor V8, el mismo que usa Google Chrome para ejecutar JavaScript.
Gracias a esto:
- JavaScript se ejecuta de forma extremadamente eficiente.
- El rendimiento es excelente para tareas de entrada y salida (I/O).
- Podemos reutilizar el mismo lenguaje en frontend y backend.
Un modelo asíncrono y orientado a eventos
Una de las claves de Node.js es que es asíncrono y está orientado a eventos.
Este modelo permite que Node.js sea capaz de manejar miles de conexiones simultáneas sin bloquearse, a diferencia de otros entornos tradicionales.
Esto lo hace ideal para operaciones como:
- Acceso a red: Peticiones HTTP, WebSockets.
- Lectura y escritura de archivos: Manipulación del sistema de archivos.
- Bases de datos: Consultas rápidas y concurrentes.
- APIs y servidores: Procesamiento ligero de muchas peticiones.
Node.js no es el navegador
Es fundamental entender que, aunque el lenguaje es el mismo, las herramientas cambian:
| En el Navegador trabajamos con: | En Node.js trabajamos con: |
|---|---|
| El DOM (HTML/CSS) | El Sistema Operativo |
| Eventos de interfaz (clicks, scroll) | El Sistema de Archivos |
La ventana (window) | La Red y Procesos |
En Node.js no hay DOM. No hay ventana. Hay sistema.
Por qué Node.js es tan importante
Node.js está en el centro del ecosistema JavaScript, incluso aunque no te dediques al backend.
Lo utilizan a diario:
- Equipos frontend (React, Vue, Astro).
- Herramientas de desarrollo como Vite o Webpack.
- Runners de testing (Jest, Vitest).
- Bundlers y servidores de desarrollo.
Si estás haciendo desarrollo web moderno, ya estás usando Node.js, aunque sea solo en tus herramientas de desarrollo.
Casos de uso principales
Node.js brilla especialmente en tres escenarios:
- Servidores y APIs: Microservicios, APIs REST y comunicación en tiempo real.
- Línea de comandos (CLI): Herramientas de terminal y utilidades para desarrolladores.
- Scripts y automatizaciones: Procesamiento de archivos y pipelines de CI/CD.
Conclusión
Node.js ha unificado el desarrollo web permitiendo que un solo lenguaje domine toda la aplicación. Es una pieza fundamental, potente y versátil que todo desarrollador JavaScript debe conocer.
En la siguiente clase empezaremos a ver ejemplos prácticos y construiremos nuestra primera API.