Node.js 24.0.0, eng Plattform fir Netzwierkapplikatiounen a JavaScript auszeféieren, gouf verëffentlecht. Node.js 24.0 gëtt de laangfristege Support-Branchen zougewisen, awer dëse Status gëtt eréischt am Oktober zougewisen, nodeems d'Stabiliséierung ofgeschloss ass. Node.js 24.x gëtt bis den 30. Abrëll 2028 ënnerstëtzt. Déi vireg LTS-Versioun Node.js 22.x gëtt bis Abrëll 2027 ënnerstëtzt, an déi vireg LTS-Versioun 20.x gëtt bis Abrëll 2026 ënnerstëtzt. D'Maintenance vum LTS-Versioun 18.x endet den 30. Abrëll 2025, an den intermediÀren Versioun Node.js 23.x endet den 1. Juni 2025.
Haaptverbesserungen:
- D'AsyncLocalStorage API benotzt standardméisseg d'AsyncContextFrame Klass, déi als stabil markéiert ass. AsyncContextFrame implementéiert e méi effiziente Mechanismus fir d'Verfollegung vun asynchrone Kontexten, wat d'Performance dÀitlech verbessere kann.
- D'URLPattern API ass elo als globalt Objet verfĂŒgbar, deen ouni expliziten Import benotzt ka ginn. URLPattern bitt d'MĂ©iglechkeet ze kontrollĂ©ieren, ob eng URL mat engem spezifesche Muster iwwereneestĂ«mmt, wat zum Beispill benotzt ka ginn fir Linken ze analysĂ©ieren.
- De Mechanismus vum Permission Model gouf verbessert a stabilisĂ©iert, sou datt Dir den Zougang zu bestĂ«mmte Ressourcen wĂ€hrend der AusfĂ©ierung beschrĂ€nke kĂ«nnt (zum Beispill kĂ«nnt Dir d'Erstelle vun Ănnerprozesser verbidden, den Zougang zum Schreiwen oder Liesen op bestĂ«mmt Deeler vum FS beschrĂ€nken, Add-ons deaktivĂ©ieren). Amplaz vum experimentellen "--experimental-permission"-FĂ€ndel kann elo de "--permission"-FĂ€ndel benotzt ginn, fir de Permissiounsmodell z'aktivĂ©ieren.
- D'Méiglechkeete vum node:test (test_runner) Modul, deen entwéckelt gouf fir Tester a JavaScript ze erstellen an auszeféieren, déi Resultater am TAP (Test Anything Protocol) Format zréckginn, goufen erweidert. De Modul waart elo automatesch bis déi verschachtelt Tester fÀerdeg sinn, ouni datt een "await" muss benotzen.
- Den undici HTTP Client gouf op de 7.x Branch aktualisĂ©iert, wat d'Performance verbessert an ĂnnerstĂ«tzung fir nei HTTP Funktiounen derbĂ€isetzt.
- De V8-Motor gouf op Versioun 13.6 aktualisĂ©iert, dĂ©i a Chromium 136 benotzt gĂ«tt. Nei Funktiounen am Verglach mat der viregter Node.js-VerĂ«ffentlechung enthalen ĂnnerstĂ«tzung fir typesch Float16Array-Arrays, manuell Ressourcenverwaltung, d'RegExp.escape-Method (Escaping-Strings fir RegExp), 64-Bit-Pointer (Memory64) a WebAssembly an d'Error.isError-Method.
- De NPM Package Manager gouf op Versioun 11 aktualiséiert.
- D'ĂnnerstĂ«tzung fir MSVC-Compiler gouf ofgesat. Fir d'Kompilatioun op der Plattform Windows Dir musst ClangCL benotzen.
D'Node.js Plattform kann souwuel fir Server-SĂ€it ĂnnerstĂ«tzung vu Webapplikatiounen wĂ©i och fir Standard Client- a Server-SĂ€it Netzwierkprogrammer benotzt ginn. Fir d'FunktionalitĂ©it vun Node.js Applikatiounen auszebauen, gouf eng grouss Sammlung vu Moduler virbereet, dorĂ«nner dĂ©i, dĂ©i ... implementĂ©ieren Serveren a Clienten vun HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, Moduler fir d'Integratioun mat verschiddene Web-Frameworks, WebSocket- an Ajax-Handler, Connectoren zu DBMS (MySQL, PostgreSQL, SQLite, MongoDB), Template-Engines, CSS-Engines, Implementatioune vu kryptographeschen Algorithmen an Autorisatiounssystemer (OAuth), XML-Parseren.
Fir eng grouss Zuel vu glĂ€ichzĂ€itegen Ufroen ze handhaben, benotzt Node.js en asynchrone Code-AusfĂ©ierungsmodell basĂ©iert op net-blockĂ©ierender Eventveraarbechtung an Callback-Handler. ĂnnerstĂ«tzte Verbindungsmultiplexingmethoden enthalen epoll, kqueue, /dev/poll a select. Verbindungsmultiplexing benotzt d'libuv BibliothĂ©ik, dĂ©i eng Verbesserung vu libev op Unix Systemer an IOCP op ... ass. WindowsD'libeio-BibliothĂ©ik gĂ«tt benotzt fir en Threadpool ze kreĂ©ieren, an c-ares ass integrĂ©iert fir DNS-Ufroen am net-blockĂ©ierende Modus duerchzefĂ©ieren. All Blocking-Systemuriff ginn am Threadpool ausgefĂ©iert a ginn dann, wĂ©i Signalhandleren, hir Resultater iwwer eng onbenannt Pipe zrĂ©ck.
D'AusfĂ©ierung vum JavaScript Code ass gesuergt duerch d'Benotzung vum V8 Motor entwĂ©ckelt vu Google (ausserdeem entwĂ©ckelt Microsoft eng Versioun vum Node.js mam Chakra-Core Engine). Am KĂ€r ass Node.js Ă€hnlech wĂ©i de Perl AnyEvent, Ruby Event Machine, Python Twisted Frameworks an d'Ămsetzung vun Eventer am Tcl, awer d'Event Loop am Node.js ass vum EntwĂ©ckler verstoppt a glĂ€icht Eventveraarbechtung an enger Webapplikatioun am Browser lafen.
Source: opennet.ru
