Server-SĂ€it JavaScript Plattform Node.js 20.0 verfĂŒgbar

D'VerĂ«ffentlechung vum Node.js 20.0, eng Plattform fir Netzwierkapplikatiounen a JavaScript auszefĂ©ieren, ass stattfonnt. Node.js 20.0 gouf fir dĂ©i laang ËnnerstĂ«tzungszweig zougewisen, awer dĂ«se Status gĂ«tt net bis Oktober zougewisen, no der StabilisĂ©ierung. Node.js 20.x gĂ«tt Ă«nnerstĂ«tzt bis den 30. AbrĂ«ll 2026. Ënnerhalt vun der viregter Node.js 18.x LTS Filial wĂ€ert bis AbrĂ«ll 2025 daueren, an dĂ©i frĂ©ier 16.x LTS Filial bis September 2023. D'14.x LTS Branche gĂ«tt den 30. AbrĂ«ll ofgebaut, an d'Node.js 19.x ZwĂ«schenzĂ€it den 1. Juni.

Main Verbesserungen:

  • De V8-Motor gouf op d'Versioun 11.3 aktualisĂ©iert, dĂ©i am Chromium 113 benotzt gĂ«tt. Vun den Ännerungen am Verglach zum Node.js 19 Branche, deen de Chromium 107-Motor benotzt huet, d'String.prototype.isWellFormed an toWellFormed Funktiounen, den Array.prototype an TypedArray.prototype Methoden fir eng Aarbecht mat Kopie op Ännerung vun Array an TypedArray Objete, "v" FĂ€ndel an RegExp, ËnnerstĂ«tzung fir Resizing ArrayBuffer an ErhĂ©ijung der GrĂ©isst vun SharedArrayBuffer, SchwĂ€if-Call an WebAssembly.
  • En experimentellen Permission Model Mechanismus gĂ«tt proposĂ©iert deen Iech erlaabt den Zougang zu bestĂ«mmte Ressourcen wĂ€hrend der AusfĂ©ierung ze beschrĂ€nken. ËnnerstĂ«tzung fir den Erlaabnismodell gĂ«tt aktivĂ©iert andeems Dir de FĂ€ndel "--experimentell-Erlaabnis" spezifizĂ©iert wann Dir leeft. An der initialer Ëmsetzung goufen Optiounen proposĂ©iert fir Schreiwen (-allow-fs-write) a liesen (-allow-fs-read) Zougang zu verschiddenen Deeler vun der FS, Kannerprozesser (-allow-child-process) ze beschrĂ€nken. , Add-ons (--no-addons) an Threads (-allow-worker). Zum Beispill, fir an den /tmp Verzeichnis ze schreiwen an d'Datei /home/index.js ze liesen, kĂ«nnt Dir spezifizĂ©ieren: Node --experimental-permission --allow-fs-write=/tmp/ --allow-fs-read =/home/index.js index .js

    Fir den Zougang z'iwwerpréiwen, gëtt proposéiert d'Method process.permission.has() ze benotzen, zum Beispill "process.permission.has('fs.write',"/tmp/test").

  • Handler fir ECMAScript extern Moduler (ESMs) gelueden iwwer d'Optioun "--experimentell-Loader" ginn elo an engem getrennten Fuedem ausgefouert, isolĂ©iert vum Haaptthread, wat d'KrĂ€izung vum Applikatiounscode a gelueden ESM Moduler eliminĂ©iert. Ähnlech wĂ©i Browser, gĂ«tt d'Methode import.meta.resolve() elo synchron ausgefouert wann se vun enger Applikatioun opgeruff ginn. An enger vun den nĂ€chste Filialen vun Node.js ass ESM Laden ËnnerstĂ«tzung geplangt fir an d'Kategorie vu stabile Funktiounen geplĂ«nnert ze ginn.
  • Den Node:test (test_runner) Modul, entwĂ©ckelt fir JavaScript Tester ze kreĂ©ieren an ze lafen, dĂ©i Resultater am TAP (Test Anything Protocol) Format zrĂ©ckginn, gouf op stabil geplĂ«nnert.
  • Eng separat Leeschtungsteam gouf geformt, dĂ©i als Virbereedung op dĂ©i nei Branche geschafft huet fir verschidde Runtime Komponenten ze beschleunegen, dorĂ«nner URL Parsing, fetch () an EventTarget. Zum Beispill ass d'Overhead vun der InitialisĂ©ierung vum EventTarget halbĂ©iert ginn, d'Performance vun der URL.canParse () Method gouf wesentlech verbessert, an d'Effizienz vun den Timer gouf verbessert. ZousĂ€tzlech ass d'VerĂ«ffentlechung vun engem High-Performance URL Parser - Ada 2.0, geschriwwen an C ++, an der Zesummesetzung abegraff.
  • D'EntwĂ©cklung vun enger experimenteller Feature fir Uwendungen a Form vun enger eenzeger ausfĂŒhrbarer Datei (SEA, Single Executable Applications) ze liwweren ass weidergaang. En ausfĂŒhrbar ze kreĂ©ieren erfuerdert elo e Blob ze ersetzen deen aus enger JSON Konfiguratiounsdatei generĂ©iert gĂ«tt (amplaz vun enger JavaScript Datei ze ersetzen).
  • Verbesserte Web Crypto API KompatibilitĂ©it mat Implementatioune vun anere Projeten.
  • Offiziell ËnnerstĂ«tzung bĂ€igefĂŒĂŒgt Windows op ARM64 Systemer.
  • Weider ËnnerstĂ«tzung fir WASI (WebAssembly System Interface) Extensiounen fir Standalone WebAssembly Uwendungen ze kreĂ©ieren. Ewechzehuelen de Besoin e spezielle Kommando Linn FĂ€ndel ze uginn fir WASI ËnnerstĂ«tzung ze aktivĂ©ieren.

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 parallelen 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. D'libuv-BibliothĂ©ik, dĂ©i e Superset vu libev op Unix-Systemer an IOCP op IOCP ass, gĂ«tt fir Verbindungsmultiplexing benotzt. 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 Signalhandler, hir Resultater iwwer eng onbenannt Pipe zrĂ©ck. D'JavaScript-AusfĂ©ierung gĂ«tt vum V8-Motor vu Google geliwwert (Microsoft entwĂ©ckelt och eng Variant vun Node.js mam Chakra-Core-Motor).

Am KĂ€r ass Node.js Ă€hnlech wĂ©i de Perl AnyEvent, Ruby Event Machine, Python Twisted Frameworks, an d'Tcl Event Implementatioun, awer d'Event Loop am Node.js ass vum EntwĂ©ckler verstoppt a glĂ€icht Eventhandhabung an enger Webapplikatioun dĂ©i leeft am Browser. Wann Dir Applikatiounen fir node.js schreift, musst Dir d'SpezifizitĂ©ite vun der Event-Undriff ProgrammĂ©ierung berĂŒcksichtegen, zum Beispill, anstatt "var result = db.query ("wielt ..");" mat der Erwaardung vun der Aarbecht an der spĂ©iderer Veraarbechtung vun de Resultater, benotzt Node.js de Prinzip vun der asynchroner AusfĂ©ierung, d.h. de Code gĂ«tt transformĂ©iert an "db.query ("wielt ..", Funktioun (Resultat) {Resultatveraarbechtung});", an dĂ€r d'Kontroll direkt op weidere Code passĂ©iert, an d'Ufroresultat gĂ«tt veraarbecht wĂ©i d'Daten ukommen.

Source: opennet.ru

Kaaft zouverlĂ€sseg Hosting fir Site mat DDoS Schutz, VPS VDS Server đŸ”„ Kaaft zouverlĂ©issegt WebsĂ€ithosting mat DDoS-Schutz, VPS VDS Server | ProHoster