Mit der Veröffentlichung von Node.js 24 erhalten JavaScript-Entwickler ein leistungsstarkes Update, das sowohl Geschwindigkeitsverbesserungen als auch Neuerungen in der JavaScript-Standardisierung bietet. Die neue Version zielt darauf ab, die Entwicklung von Webanwendungen und die Arbeit mit asynchronem Code zu optimieren.
Ein Kernstück der Verbesserungen in Node.js 24 ist das Update der V8 JavaScript-Engine auf Version 13.6. Diese Aktualisierung, die auch in Google Chrome zum Einsatz kommt, ermöglicht den Zugriff auf folgende JavaScript-Features:
RegExp.escape: Vereinfacht das Escapen von Zeichen für reguläre Ausdrücke und erhöht die Sicherheit.
Float16Array: Ermöglicht die Verwendung von 16-Bit-Gleitkommazahlen, was besonders für grafikintensive Anwendungen, Machine Learning und speicheroptimierte Prozesse relevant ist.
Atomics.pause: Bietet feinere Kontrolle über Threads durch die Möglichkeit, diese zu pausieren, was insbesondere für Low-Level-Concurrency mit Workern nützlich ist.
WebAssembly Memory64: Unterstützt 64-Bit-Speicher für WebAssembly und ermöglicht dadurch performantere, nahezu native Aufgaben.
"Explicit Resource Management await using": Sorgt für die automatische Bereinigung von Ressourcen wie Dateien oder Netzwerkverbindungen.
Error.isError: Erleichtert die Überprüfung, ob ein Objekt ein Fehlerobjekt ist, was die Fehlerbehandlung robuster gestaltet.
Diese Verbesserungen der V8-Engine bringen Node.js näher an die aktuellen JavaScript-Standards im Browser und in den neuesten Spezifikationsvorschlägen. Das Ergebnis ist eine verbesserte Entwicklererfahrung, weniger Boilerplate-Code und ein leistungsstärkeres Toolkit.
Das experimentelle Berechtigungsmodell, das in Node.js 20 eingeführt wurde, wird in Version 24 weiterentwickelt. Der Kommandozeilenparameter wurde von --experimental-permission
zu --permission
geändert, was auf zunehmende Stabilität und breitere Anwendbarkeit hindeutet. Dieses Modell ermöglicht es, den Zugriff von Node.js-Anwendungen auf Ressourcen wie das Dateisystem oder Netzwerkverbindungen einzuschränken, was die Sicherheit erhöht.
Die URLPattern-API, die zum Definieren von Mustern für den Abgleich mit URLs verwendet wird, ist nun global verfügbar. Entwickler können Muster wie /users/:id
für Routing-Logik verwenden, ohne die API importieren zu müssen. Dies vereinfacht die URL-Verarbeitung und bietet eine elegantere Alternative zur Verwendung von regulären Ausdrücken.
Der integrierte Test Runner wartet nun automatisch auf den Abschluss von Untertests, was die Testentwicklung vereinfacht und die Gefahr von unvollständigen Testergebnissen reduziert. Zuvor musste für jeden Untertest manuell ein await
verwendet werden.
Node.js 24 enthält Undici 7.0.0, den modernen HTTP-Client von Node. Dieses Upgrade verbessert die Unterstützung der neuesten HTTP-Standards und optimiert die Verarbeitung von HTTP-Anfragen, insbesondere bei der Verwendung von fetch()
oder beim Aufbau von Diensten mit vielen HTTP-Anfragen.
Mit Node.js 24 wird npm auf Version 11 aktualisiert. Diese Version bietet schnellere Installationen, verbesserte Sicherheitsüberprüfungen und eine bessere Kompatibilität mit modernen Paket-Ökosystemen. Es gibt jedoch einige wichtige Änderungen zu beachten:
- npm erwartet nun node ^20.17.0 || >=22.9.0 - `npm init` enthält eine Typ-Abfrage und organisiert Einträge in der `package.json` anders. - Der Befehl `npm hook` wurde entfernt. - `--ignore-scripts` gilt nun für alle Lifecycle-Skripte, einschließlich `prepare`. - Der Fallback auf den alten Audit-Endpunkt bei Fehlschlagen der Bulk-Advisory-Anfrage entfällt.Mit Node.js 24 werden einige ältere Funktionen abgekündigt oder entfernt, um die Codebasis zu modernisieren. Dazu gehören url.parse()
(die WHATWG URL API wird als Ersatz empfohlen), SlowBuffer
, tls.createSecurePair
und ältere Dateisystemkonstanten wie fs.F_OK
. Entwickler sollten ihre Codebasen überprüfen und gegebenenfalls Aktualisierungen planen.
Node.js 24 stellt ein bedeutendes Update dar, das Performance, Sicherheit und Entwicklererfahrung verbessert. Die neuen Funktionen und Verbesserungen bieten praktische Werkzeuge zur Vereinfachung der täglichen Programmierarbeit.
Bibliographie: https://www.developer-tech.com/news/nodejs-24-a-faster-sleeker-javascript-experience/ https://nodesource.com/blog/Node.js-version-24 https://medium.com/@ashabb/node-js-24-features-whats-new-what-s-cool-and-why-i-m-excited-0c286a0e31a9 https://www.reddit.com/r/node/comments/1k71vnd/whats_new_in_nodejs_24/ https://www.redhat.com/en/blog/introduction-nodejs-24-from-red-hat https://medium.com/@rahulrkr/whats-new-in-node-js-24-top-features-updates-e451dfaa7383 https://snyk.io/blog/10-modern-node-js-runtime-features/ https://javascript.plainenglish.io/everything-you-need-to-know-about-node-24-3b267d7e716d https://radixweb.com/blog/nodejs-usage-statistics http://nodesource.com/blog/State-of-Nodejs-Performance-2024/