Node.js 22 llega con gráficos ESM, cliente WebSocket y actualizaciones del motor V8
Se acaba de dar a conocer el lanzamiento de Node.js 22 el cual llega con diversos aspectos destacados, una serie de mejoras bastante interesantes. Entre las novedades más importantes que se presentan se incluyen gráficos ESM requeridos, cliente WebSocket, actualizaciones del motor JavaScript V8 y más.
Para quienes desconocen de Node.js, les puedo decir que este es un popular runtime de JavaScript de código abierto que permite ejecutar JavaScript en el lado del servidor. Esto permite a los desarrolladores usar JavaScript para construir aplicaciones web y servicios backend. Node.js se basa en el motor V8 y proporciona una serie de módulos y bibliotecas que facilitan el desarrollo de aplicaciones web escalables y de alto rendimiento.
¿Qué hay de nuevo en Node.js 22?
Esta nueva versión, que se presenta Node.js 22, es una versión LTS y que, siguiendo el calendario de lanzamientos de Node.js, esta versión entrará en el periodo de soporte a largo plazo (LTS) en octubre. Node.js 22 reemplaza a Node.js 21
Por la parte de los cambios que se introducen en este lanzamiento, podemos encontrar una gran cantidad de cambios y correcciones, pero dentro de los mas importantes que podemos destacar se encuentran los siguientes:
Actualización de V8 a la versión 12.4
Node.js 22 incluye la actualización del motor JavaScript V8 versión 12.4, que incorpora nuevas funcionalidades como la recolección de basura WebAssembly y métodos Set. Además, se han implementado diversas mejoras en los ajustes base para proporcionar una mejor experiencia, asi como también mejoras en el rendimiento de las streams de Node.js, la API fetch(), y las API de sistema de archivos síncronos.
Nuevo compilador JIT
Maglev es el nuevo compilador JIT de optimización, el cual está habilitado de forma predeterminada en arquitecturas compatibles y que se enfoca en producir rápidamente código de máquina de alto rendimiento para el código JavaScript más utilizado. Al activar Maglev, se puede lograr una aceleración significativa en las aplicaciones CLI de corta duración que no realizan operaciones prolongadas.
Mejoras en el manejo de IPV6
A partir de la versión 17, Node.js ha dejado de priorizar el uso de IPV4 sobre IPV6, y esto se debe a que es un cambio que está dirigido a la mejora de la experiencia de los usuarios con configuraciones IPV6 incorrectas, ya que se incluye la implementación del algoritmo de «happy eyeballs» y la solución de casos particulares, como la adición de nuevos eventos de intentos de conexión.
Mejoras en la compatibilidad web
Las mejoras en la compatibilidad web continúan integrándose en la API y en este lanzamiento se ha incluido el soporte experimental para un cliente Websocket compatible con navegadores, así como soporte para el formato de compresión deflate-raw para Webstreams y un soporte parcial para la API Navigator.
Mejoras en la Compatibilidad con ESM
La mejora de la compatibilidad con ECMAScript Module es otro de los puntos que recibieron especial atención, ya que en Node.js 22 se presenta la introducción de nuevas adiciones que buscan simplificar el proceso de migración de CJS a ESM y entre las que más se destacan es la introducción de nuevos atributos de importación y la capacidad de requerir gráficos ESM sincrónicos.
Adición de APIs Adicionales
Se han implementado varias API adicionales para reducir la necesidad de dependencias externas, incluyendo un analizador de argumentos, un corredor de pruebas, WebSockets y, más recientemente, Text Styling. Estos permiten cubrir escenarios básicos sin necesidad de incluir dependencias adicionales.
De los demás cambios que se destacan de esta nueva versión:
- Soporte para la función require() en gráficos ESM síncronos bajo la bandera –experimental-require-module.
- El manejo de transmisiones se ha mejorado al aumentar el valor de la opción highWaterMark de 16 KB a 65 KB, que define el límite hasta el cual se almacena en el búfer la grabación.
- Nueva función experimental para la ejecución de scripts desde el archivo package.json con la bandera CLI node –run <script-in-package-json>
- Esta versión agrega las funciones glob y globSync al módulo node:fs para la coincidencia de patrones, lo que permite a los desarrolladores utilizar estas funciones para la coincidencia de rutas de archivos según patrones específicos.
Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
¿Como instalar Node.js en Linux?
Para quienes estén interesados en poder instalar esta nueva versión de Node.js, deben saber que el proceso es bastante sencillo, para ello solo tienen que abrir una terminal en el sistema y en ella van a teclear alguno de los siguientes comandos, según sea su distro.
Para el caso de los que son usuarios de Debian, Ubuntu y derivados, solo tienen que teclear lo siguiente:
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
Mientras que para los que son usuarios de Arch Linux, Manjaro, Arco Linux o cualquier otro derivado de Arch:
sudo pacman -S nodejs npm
Para los que utilizan Fedora, RHEL y derivados:
sudo dnf -i nodejs npm
Finalmente, otro de los métodos para instalar Node.js es desde los paquetes de Snap y para ello basta con ejecutar el siguiente comando:
sudo snap install node --classic