Übersicht Node.JS v.12
Beliebte Anwendungen auf unseren Hochleistungs-Cloudservern mit einem Klick bereitstellen.
Node.js ist eine Software-Plattform, die auf der V8-Engine aufbaut (die JavaScript in Maschinencode übersetzt) und JavaScript von einer hochspezialisierten Sprache in eine allgemein verwendbare Sprache verwandelt. Node.js erweitert JavaScript um die Fähigkeit, über seine API (geschrieben in C++) mit Ein-/Ausgabegeräten zu interagieren und externe Bibliotheken in verschiedenen Sprachen einzubinden, die dann aus JavaScript-Code heraus aufgerufen werden können. Node.js wird in erster Linie serverseitig als Webserver eingesetzt, ermöglicht jedoch auch die Entwicklung von Desktop-Fensteranwendungen (mit NW.js, AppJS oder Electron für Linux, Windows und Mac OS).

Verbesserungen in Node.js 12:
- Aktualisierung der V8-Engine auf Version 7.4 mit Unterstützung für asynchrone Stack-Traces, gesteigerter Leistung von await, JavaScript-Parsing und Aufrufen bei abweichender tatsächlicher und deklarierter Argumentanzahl;
- Unterstützung für TLS 1.3 im tls-Modul sowie standardmäßige Deaktivierung von TLS 1.0/1.1;
- Verstärkte Absicherung und Überprüfung der Größe des allokierten Speichers in der Buffer-Klasse;
- Verstärkte Argumentprüfungen in den Modulen child_process, fs und assert;
- Entfernung veralteter Handler im crypto-Modul;
- Umstellung des Standard-http-Moduls auf den llhttp-Parser;
- Umstellung von lib auf den ECMAScript-6-Stil für Klassenvererbung;
- Experimentelle Unterstützung für ECMAScript-6-Module;
- Geänderte Heap-Größenbeschränkungen in JavaScript, die nun anhand der RAM-Größe dynamisch gewählt werden statt fest vorgegeben zu sein;
- Verbesserte Unterstützung für native Module (in C/C++) in Kombination mit Worker-Threads und N-API v4, um die Nutzung nativer Threads mit asynchronen Funktionen in C/C++ zu vereinfachen;
- Vereinfachte Nutzung der Worker-Threads-API, für die das experimentelle Funktionsflag nicht mehr gesetzt werden muss;
- Experimentelle Möglichkeit zur Laufzeit-Generierung von Diagnoseberichten, die Ereignisse festhalten und bei der Diagnose von Problemen wie Abstürzen, Leistungseinbrüchen, Speicherlecks, hoher CPU-Auslastung und unerwarteter Fehlerausgabe helfen;
- Implementierung eines Befehls zum Speichern eines Heap-State-Dumps für die spätere Analyse von Speicherzuweisungsproblemen;
- Schnellerer Start dank eines eingebauten Caches mit kompiliertem Code der JavaScript-Bibliotheken. Wurde der Cache bisher zur Laufzeit befüllt, wird sein Inhalt für die in Node.js eingebauten Bibliotheken nun zum Build-Zeitpunkt generiert und an die ausführbare Datei gebunden. Das neue Cache-Befüllungsmodell reduzierte die Startzeit des Hauptthreads um etwa 30 %;
- Erhöhte Anforderungen an Plattform und Compilerversionen: Builds erfordern nun mindestens GCC 6 und glibc 2.17 auf Plattformen außer macOS und Windows. Zu den kompatiblen Distributionen zählen Enterprise Linux 7, Debian 8 und Ubuntu 14.04. Unter Windows wird mindestens Windows 7, 2008 R2 oder 2012 R2 sowie Visual Studio 2017 benötigt, unter macOS mindestens macOS 10.10 „Yosemite" und Xcode 8.