Node.js 20.0 ja va ser alliberat i aquestes són les seves novetats

Node-js

Node.js és un entorn en temps d'execució multiplataforma, de codi obert, per a la capa del servidor basat en el llenguatge de programació JavaScript, asíncron, amb E/S de dades en una arquitectura orientada a esdeveniments i basat en el motor V8 de Google.

Es va donar a conèixer el llançament de la nova versió de Node.js 20.0, el qual és un marc per executar aplicacions de xarxa en JavaScript. Aquest nou llançament de Node.js 20.0 s'ha assignat a la branca de suport llarg, però aquest estat no s'assignarà fins a l'octubre, després de l'estabilització.

Per als que desconeixen de la plataforma Node.js, heu de saber que es pot utilitzar tant per al manteniment de servidors d'aplicacions web com per crear programes regulars de xarxa de clients i servidors.

Per ampliar la funcionalitat de les aplicacions per a Node.js, s'ha preparat una gran col·lecció de mòduls, on es poden trobar mòduls amb la implementació de servidors i clients.

Principals novetats de NODE.JS 20.0

En aquesta nova versió que es presenta de Node.js 20.0, el motor V8 s'ha actualitzat a la versió 11.3 utilitzada a Chromium 113 i que inclou diversos canvis en comparació amb la branca que va utilitzar el motor Chromium 107, les funcions String.prototype.isWellFormed i toWellFormed, Array.prototype i TypedArray.prototype compten amb mètodes per treballar amb la còpia en el canvi dobjectes Array i TypedArray, indicador «v» a RegExp, suport per canviar la mida de ArrayBuffer i augmentar la mida de SharedArrayBuffer, anomenada final a WebAssembly.

Un altre dels canvis que es destaca de la nova versió, és que s'ha proposat un mecanisme de model de permís experimental que permet restringir l'accés a certs recursos durant l'execució. La compatibilitat amb el model de permisos s'habilita especificant l'indicador «–experimental-permission» quan sexecuta.

A més, es destaca a Node.js 20.0 que els controladors per a mòduls ECMAScript (ESM) externs carregats a través de l'opció «experimental-loader» ara s'executen en un subprocés separat, aïllat del subprocés principal, el que elimina la intersecció del codi de laplicació i els mòduls ESM carregats. De manera similar als navegadors, el mètode import.meta.resolve() ara s'executa sincrònicament quan es diu des d'una aplicació. En una de les properes branques de Node.js, es planeja moure el suport de càrrega d'ESM a la categoria de característiques estables.

També es destaca que es va formar un equip de rendiment separat que, en preparació per a la nova branca, ja que va treballar per accelerar diversos components de temps d'execució, incloent l'anàlisi d'URL, fetch() i EventTarget. Per exemple, la sobrecàrrega d'inicialització d'EventTarget s'ha reduït a la meitat, el rendiment del mètode URL.canParse() s'ha millorat significativament i s'ha millorat l'eficiència dels temporitzadors. A més, el paquet inclou el llançament dun analitzador dURL dalt rendiment: Ada 2.0, escrit en C ++.

D'altra banda, es destaca que s'ha continuat desenvolupant una funció experimental per lliurar aplicacions en forma d'un sol fitxer executable (MAR, Single Executable Applications). La creació d'un fitxer executable requereix ara la substitució d'un blob generat a partir d'un fitxer de configuració JSON (en lloc de la substitució d'un fitxer JavaScript).

Dels altres canvis que es destaquen de la nova versió:

  • A la implementació inicial, es van proposar opcions per restringir l'accés d'escriptura (–allow-fs-write) i lectura (–allow-fs-read) a certes parts del FS, processos secundaris (–allow-child-process), addicions (- -no-addons) i subprocessos (–allow-worker).
  • El mòdul node:test (test_runner), dissenyat per crear i executar proves de JavaScript que donen resultats en format TAP (Test Anything Protocol) , s'ha mogut a estable .

    Compatibilitat millorada de Web Crypto API amb implementacions daltres projectes.
    S'ha afegit suport oficial per a Windows en sistemes ARM64.

  • Compatibilitat continua amb les extensions WASI (WebAssembly System Interface) per crear aplicacions WebAssembly independents. S'ha eliminat la necessitat d'especificar un indicador de línia d'ordres especial per habilitar la compatibilitat amb WASI.

finalment si estàs interessat en poder conèixer més a l'respecte, Pots consultar els detalls a el següent enllaç.

Node.js 20.x serà compatible fins al 30 d'abril del 2026. El manteniment de la branca LTS 18.x anterior de Node.js durarà fins a l'abril del 2025, i la branca LTS 16.x anterior fins al setembre del 2023.

Com instal.lar NODE.JS en Linux?

Per als que estiguin interessats a poder instal·lar aquesta nova versió de Node.JS, han de saber que el procés és força senzill, per això només han d'obrir una terminal en el sistema i en ella van a teclejar algun dels següents comandaments, Segons sigui la seva distro.

Per al cas dels que són usuaris de Debian, Ubuntu i derivats, només han de teclejar el següent:

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm

Mentre que per als que són usuaris de Arch Linux, Manjaro, Arc Linux o qualsevol altre derivat d'Arch:

sudo pacman -S nodejs npm

Pels que utilitzen Fedora, RHEL, Centres i derivats:

sudo dnf -i nodejs npm

Finalment, un altre dels mètodes per instal·lar Node.js és des dels paquets de Snap i per això només cal executar la següent ordre:

sudo snap install node --classic

Add as preferred source