Hace pocos días se dio a conocer el lanzamiento de la nueva versión de Node.js 21, versión en al cual se destacan las actualizaciones del motor JavaScript V8 a 11.8, un nuevo indicador experimental para invertir los valores predeterminados del módulo –experimental-default-type, un cliente WebSocket integrado, muchas actualizaciones de nuestro ejecutor de pruebas y más.
Con el lanzamiento de esta nueva rama Node.js 21.0 (que tendrá soporte durante 6 meses), una vez estabilizada la rama 20.0 esta recibirá el estado LTS y será compatible hasta abril de 2026, mientras que mantenimiento de la rama LTS anterior de Node.js 18.0 durará hasta septiembre de 2025 y el siguiente año (2024) la rama LTS 16.0 tendrá fin.
Para quienes desconocen de la plataforma Node.js, deben saber que se puede utilizar tanto para el mantenimiento de servidores de aplicaciones web como para crear programas regulares de red de clientes y servidores. Para ampliar la funcionalidad de las aplicaciones para Node.js, se ha preparado una gran colección de módulos, en la que se pueden encontrar módulos con la implementación de servidores y clientes.
Principales novedades de Node.js 21
En esta nueva versión que se presenta de Node.js 21, la base del motor V8 se actualizó a la versión 11.8, utilizada en Chromium 118, que ahora admite el método ArrayBuffer.prototype.transfer, la capacidad de agrupar matrices e instrucciones WebAssembly para procesar constantes. Se han actualizado el administrador de paquetes incluido npm 10.2.0 y el analizador llhttp 9.1.2 y se ha interrumpido la compatibilidad con Visual Studio 2019 y versiones de macOS anteriores a 11.0.
Por la parte de las mejoras de Node.js 21, una de sus principales novedades es la estabilización de la API Fetch, la cual esta diseñada para cargar recursos a través de la red y simplificar la escritura de código JavaScript universal adecuado para trabajar en el lado del servidor y del cliente.
Otra de las APIs que se ha estabilizado es la API WebStreams, proporcionando acceso a los flujos de datos recibidos a través de la red. La API permite agregar sus propios controladores que trabajan con datos a medida que la información llega a través de la red, sin esperar a que se descargue el archivo completo.
Ademas de ello, también se destaca que se agregó un modo experimental para usar la implementación predeterminada de módulos JavaScript ESM en lugar de CommonJS (específico de Node.js). Se menciona que el cambio no afecta a los módulos cuyo formato se define explícitamente mediante el campo «type» en package.json, se especifica mediante el indicador «–input-type«. Para activar nuevas configuraciones del módulo, se ha propuesto el indicador «–experimental-default-type«.
De los demás cambios que se destacan de esta nueva versión:
- Se ha agregado una implementación experimental de la API WebSocket. Para habilitar la compatibilidad con WebSocket, se proporciona el indicador «–experimental-websocket«.
- Se ha agregado una opción de «flush» a la función fs.writeFile para forzar que los datos se vacíen en la unidad después de cada operación de escritura.
- Rendimiento mejorado del código relacionado con el análisis de URL, recuperación de API, transmisiones, nodo:fs y HTTP.
- Se agregó un objeto de navegador global
- En el parámetro «–test«, se agregó soporte para máscaras globales para seleccionar pruebas para ejecutar
- Se ha descontinuado el soporte para el controlador globalPreload, a favor de las llamadas de registro e inicialización para configurar módulos.
Finalmente 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 metodos para instalar Node.js es desde los paquetes de Snap y para ello basta con ejecutar el siguiente comando:
sudo snap install node --classic