Node.js 14.0 ya está aquí y estas son sus novedades

abril 22, 2020 , 0 Comments

Se acaba de presentar la liberación de la nueva version de Node.js 14.0 la cual llega con una nueva API experimental enfocada al almacenamiento local, también se destaca la actualización del motor V8 (utilizado en diversos navegadores) y otras cuantas mejoras más.

Esta nueva version de Node.js tendrá un estado LTS pero sera asignado hasta octubre después de la estabilización de ella. El soporte para Node.js 14.0 estará disponible hasta abril de 2023 y el mantenimiento de la última version LTS Node.js 12.0 durará hasta abril de 2022, mientras que para el siguiente año sera finalizado el soporte de la version Node.js 10. En lo que respecta a la version 13.0 su soporte sera finalizado en junio de este año.

Para quienes desconocen de Node.js, deben saber que esta es una plataforma que puede usarse tanto para el soporte del servidor de aplicaciones web como para la creación de programas de red de servidor y cliente ordinarios.

Para ampliar la funcionalidad de las aplicaciones para Node.js, se ha preparado una gran colección de módulos, en la que puede encontrar módulos con la implementación de servidores y clientes HTTP y SMTP, XMPP, DNS, FTP, IMAP, POP3, módulos para la integración con varios marcos web, controladores WebSocket y Ajax, Conectores DBMS (MySQL, PostgreSQL, SQLite, MongoDB), motores de plantillas, motores CSS, implementación de algoritmos criptográficos y sistemas de autorización (OAuth), analizadores XML.

¿Qué hay de nuevo en Node.js 14.0?

En esta nueva version se destaca la capacidad de generar informes de diagnóstico sobre la marcha o al ocurrir ciertos eventos se estabiliza, lo que refleja eventos que ayudan a diagnosticar problemas tales como fallas, degradación del rendimiento, pérdidas de memoria, gran carga de CPU, salida de error inesperada, etc.

El motor V8 se ha actualizado a la versión 8.1, en la que se han introducido nuevas optimizaciones de rendimiento y se han agregado innovaciones como el nuevo operador de unión lógica “??”. (devuelve el operando derecho si el operando izquierdo es NULL o no está definido, y viceversa), el operador “?.” para una comprobación única de toda la cadena de propiedades o llamadas (por ejemplo, “db? .user? .name? .length” sin comprobaciones preliminares), el método Intl.DisplayName para obtener nombres localizados, etc.

Además, se destaca la adición del soporte experimental para la API de almacenamiento local asíncrono con la implementación de la clase AsyncLocalStorage, que se puede usar para crear un estado asíncrono con controladores basados ​​en llamadas de devolución de llamada y promise.

El soporte para la implementación de AsyncLocalStorage permite almacenar datos durante el procesamiento de la solicitud web, asemejándose a los hilos locales para hilos individuales en otros idiomas.

Por otra parte, se realizó una revisión de la API de Streams, con el objetivo de mejorar la consistencia de las API de Streams y eliminar las diferencias en el comportamiento de las partes base de Node.js.

Por ejemplo, el comportamiento de http.OutgoingMessage está cerca de stream.Writable y net.Socket está cerca de stream.Duplex. La opción autoDestroy está establecida en true de forma predeterminada, lo que implica una llamada a _destroy después de la finalización.

También se menciona en el anuncio que fue eliminado la advertencia sobre las características experimentales al cargar él modulo ECMAScript 6 y exportar módulos utilizando las expresiones de importación y exportación. Al mismo tiempo, la implementación de módulos ESM sigue siendo experimental.

Se agregó soporte experimental para la API WASI (Interfaz del sistema WebAssembly), que proporciona interfaces de programa para la interacción directa con el sistema operativo (API POSIX para trabajar con archivos, sockets, etc.).

Además de que se han aumentado los requisitos para las versiones mínimas de compiladores y plataformas: macOS 10.13 (High Sierra), GCC 6, Windows más reciente que 7/2008R2.

¿Como instalar Node.JS en Linux?

La instalación de Node.JS es bastante sencilla, 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

Usuarios de openSUSE, solo tienen que teclear lo siguiente:

sudo zypper ar \
http://download.opensuse.org/repositories/devel:/languages:/nodejs/openSUSE_13.1/ \
Node.js
sudo zypper in nodejs nodejs-devel

Finalmente para los que utilizan Fedora, RHEL, Centos y derivados:

sudo dnf -i nodejs npm

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.