Noticia Node.js 20.0 ya fue liberado y estas son sus novedades

Node-js

Node.js es un entorno en tiempo de ejecución multiplataforma, de código abierto, para la capa del servidor basado en el lenguaje de programación JavaScript, asíncrono, con E/S de datos en una arquitectura orientada a eventos y basado en el motor V8 de Google.



Se dio a conocer el lanzamiento de la nueva versión de Node.js 20.0, el cual es un marco para ejecutar aplicaciones de red en JavaScript. Este nuevo lanzamiento de Node.js 20.0 se ha asignado a la rama de soporte largo, pero este estado no se asignará hasta octubre, después de la estabilización.

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 20.0​


En esta nueva versión que se presenta de Node.js 20.0, el motor V8 se ha actualizado a la versión 11.3 utilizada en Chromium 113 y que incluye diversos cambios en comparación con la rama que utilizó el motor Chromium 107, las funciones String.prototype.isWellFormed y toWellFormed, Array.prototype y TypedArray.prototype cuentan con métodos para trabajar con la copia en el cambio de objetos Array y TypedArray, indicador «v» en RegExp, soporte para cambiar el tamaño de ArrayBuffer y aumentar el tamaño de SharedArrayBuffer, llamada final en WebAssembly.

Otro de los cambios que se destaca de la nueva versión, es que se ha propuesto un mecanismo de modelo de permiso experimental que permite restringir el acceso a ciertos recursos durante la ejecución. La compatibilidad con el modelo de permisos se habilita especificando el indicador «–experimental-permission» cuando se ejecuta.


Ademas de ello, se destaca en Node.js 20.0 que los controladores para módulos ECMAScript (ESM) externos cargados a través de la opción «–experimental-loader» ahora se ejecutan en un subproceso separado, aislado del subproceso principal, lo que elimina la intersección del código de la aplicación y los módulos ESM cargados. De manera similar a los navegadores, el método import.meta.resolve() ahora se ejecuta sincrónicamente cuando se llama desde una aplicación. En una de las próximas ramas de Node.js, se planea mover el soporte de carga de ESM a la categoría de características estables.

Tambien se destaca que se formó un equipo de rendimiento separado que, en preparación para la nueva rama, ya que trabajó para acelerar varios componentes de tiempo de ejecución, incluido el análisis de URL, fetch() y EventTarget. Por ejemplo, la sobrecarga de inicialización de EventTarget se ha reducido a la mitad, el rendimiento del método URL.canParse() se ha mejorado significativamente y se ha mejorado la eficiencia de los temporizadores. Además, el paquete incluye el lanzamiento de un analizador de URL de alto rendimiento: Ada 2.0, escrito en C ++.

Por otra parte, se destaca que se ha continuado el desarrollo de una función experimental para entregar aplicaciones en forma de un solo archivo ejecutable (SEA, Single Executable Applications). La creación de un archivo ejecutable ahora requiere la sustitución de un blob generado a partir de un archivo de configuración JSON (en lugar de la sustitución de un archivo JavaScript).

De los demás cambios que se destacan de la nueva versión:


  • En la implementación inicial, se propusieron opciones para restringir el acceso de escritura (–allow-fs-write) y lectura (–allow-fs-read) a ciertas partes del FS, procesos secundarios (–allow-child-process), adiciones (- -no-addons) y subprocesos (–allow-worker).
  • El módulo node:test (test_runner), diseñado para crear y ejecutar pruebas de JavaScript que arrojan resultados en formato TAP (Test Anything Protocol) , se ha movido a estable .
    Compatibilidad mejorada de Web Crypto API con implementaciones de otros proyectos.
    Se agregó soporte oficial para Windows en sistemas ARM64.

  • Compatibilidad continua con las extensiones WASI (WebAssembly System Interface) para crear aplicaciones WebAssembly independientes. Se eliminó la necesidad de especificar un indicador de línea de comando especial para habilitar la compatibilidad con WASI.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Node.js 20.x será compatible hasta el 30 de abril de 2026. El mantenimiento de la rama LTS 18.x anterior de Node.js durará hasta abril de 2025, y la rama LTS 16.x anterior hasta septiembre de 2023.

¿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:

Código:
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, Centos 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

Continúar leyendo...