Panoramica di Node.JS v.12
Distribuisci le applicazioni più diffuse sui nostri server cloud ad alte prestazioni con un solo clic.
Node.js è una piattaforma software basata sul motore V8 (che traduce JavaScript in codice macchina), che trasforma JavaScript da un linguaggio altamente specializzato a un linguaggio di uso generale. Node.js aggiunge a JavaScript la capacità di interagire con i dispositivi di input/output tramite la propria API (scritta in C++), di collegare librerie esterne scritte in diversi linguaggi e di richiamarle dal codice JavaScript. Node.js viene utilizzato principalmente lato server come web server, ma offre anche la possibilità di sviluppare applicazioni desktop con finestre (tramite NW.js, AppJS o Electron per Linux, Windows e Mac OS).

Miglioramenti in Node.js 12:
- Aggiornamento del motore V8 alla versione 7.4 con supporto per i trace dello stack asincroni, aumento delle prestazioni di await, del parsing di JavaScript e delle chiamate in caso di mancata corrispondenza tra il numero di argomenti effettivo e quello dichiarato;
- Supporto per TLS 1.3 nel modulo tls e disabilitazione predefinita di TLS 1.0/1.1;
- Rafforzamento della protezione e dei controlli sulla dimensione della memoria allocata nella classe Buffer;
- Rafforzamento dei controlli sugli argomenti nei moduli child_process, fs e assert;
- Rimozione degli handler obsoleti nel modulo crypto;
- Sostituzione del modulo http predefinito con il parser llhttp;
- Migrazione di lib allo stile ECMAScript 6 per l'ereditarietà delle classi;
- Supporto sperimentale per i moduli ECMAScript 6;
- Modifica dei limiti alla dimensione dell'heap in JavaScript, ora selezionati dinamicamente in base alla dimensione della RAM anziché essere fissi;
- Supporto migliorato per i moduli nativi (in C/C++) in combinazione con i Worker thread e N-API v4, per semplificare l'uso di thread nativi con funzioni asincrone in C/C++;
- Semplificazione dell'uso dell'API Worker Threads, per la quale non è più necessario impostare il flag di abilitazione della funzione sperimentale;
- Aggiunta della capacità sperimentale di generare al volo report diagnostici che registrano eventi utili a diagnosticare problemi come crash, cali di prestazioni, memory leak, elevato carico CPU e output di errore imprevisti;
- Implementazione di un comando per salvare un dump dello stato dell'heap per l'analisi successiva dei problemi di allocazione della memoria;
- Avvio più rapido grazie a una cache integrata con il codice compilato delle librerie JavaScript. Se in precedenza la cache veniva popolata durante l'esecuzione, il suo contenuto per le librerie integrate in Node.js viene ora generato in fase di compilazione e collegato all'eseguibile. Il nuovo modello di popolamento della cache ha ridotto il tempo di avvio del thread principale di circa il 30%;
- Requisiti più elevati per la piattaforma e le versioni del compilatore: le build richiedono ora almeno GCC 6 e glibc 2.17 su piattaforme diverse da macOS e Windows. Le distribuzioni compatibili includono Enterprise Linux 7, Debian 8 e Ubuntu 14.04. Su Windows è richiesto almeno Windows 7, 2008 R2 o 2012 R2 e Visual Studio 2017; su macOS è richiesto almeno macOS 10.10 «Yosemite» e Xcode 8.