Se lanzó Node.js 22: resumen de las novedades clave
El 22 de abril de 2024 se produjo el lanzamiento oficial de Node.js 22, la nueva versión estable de la popular plataforma de servidor JavaScript. Esta actualización trae consigo muchas mejoras en rendimiento, seguridad y facilidad de desarrollo. Analicemos lo más interesante.
Principales cambios en Node.js 22
1. El motor V8 se actualizó a la versión 12.4
Node.js 22 se basa en el nuevo motor V8 12.4, que ya se utiliza en Chrome 124. Entre las mejoras clave:
- Optimización del trabajo con arreglos — el nuevo
Array.fromAsyncpermite crear arreglos a partir de iteradores asíncronos sin promesas innecesarias. - Análisis sintáctico más rápido — gracias al compilador JIT mejorado, la velocidad de ejecución del código ha aumentado en promedio un 5–10%.
- Nuevos métodos para RegExp — se agregó soporte para el indicador
vpara una sintaxis de expresiones regulares más flexible.
2. WebSocket se vuelve estable (sin indicador)
Anteriormente, WebSocket en Node.js era experimental y requería ejecutarse con el indicador --experimental-websocket. En la versión 22, finalmente ha obtenido el estatus de API estable. Ahora puede usar el WebSocket integrado sin configuración adicional:
const ws = new WebSocket('ws://example.com');ws.onmessage = (event) => console.log(event.data);Esto simplifica la creación de aplicaciones en tiempo real (real-time): chats, rastreadores, juegos.
3. Módulos ESM por defecto para scripts
A partir de Node.js 22, si ejecuta un script con la extensión .mjs o si en package.json se especifica "type": "module", el sistema de módulos CommonJS ya no se utiliza por defecto. Este es un paso importante hacia la estandarización del ecosistema en torno a los módulos ES.
- Simplificación de la importación — ahora
import/exportfunciona de forma nativa sin transpiladores. - Soporte para top-level await — se pueden esperar promesas en el nivel superior del módulo.
4. Trabajo mejorado con flujos (Streams)
Se agregaron nuevos métodos para trabajar con streams:
ReadableStream.from()— permite crear flujos legibles a partir de cualquier iterador (por ejemplo, de Set o Map).WritableStream.getWriter()— simplifica la escritura de datos en flujos sin envoltorios innecesarios.
5. Mayor seguridad
En Node.js 22 se han reforzado las políticas de seguridad:
- Escapado automático al mostrar datos en la consola mediante
console.log()para prevenir inyecciones. - Prohibición del uso de algoritmos criptográficos obsoletos por defecto (por ejemplo, SHA-1 para firmas).
¿Qué significa esto para los desarrolladores?
Node.js 22 no es solo un lanzamiento más, sino un hito importante en la evolución de la plataforma. Los principales beneficios para los desarrolladores:
- Menos dependencias — el WebSocket integrado y los ESM estables permiten prescindir de paquetes de terceros (por ejemplo,
wsoesm). - Mayor rendimiento — gracias a las optimizaciones