Verëffentlechung vun der Server-Säit JavaScript Plattform Node.js 13.0

Verfügbar Fräisetzung Node.js 13.0, Plattforme fir Netzwierkapplikatiounen a JavaScript ze lafen. Zur selwechter Zäit ass d'Stabiliséierung vun der viregter Branche vum Node.js 12.x ofgeschloss, déi an d'Kategorie vu laangfristeg Ënnerstëtzungsreleases transferéiert gouf, Updates fir déi fir 4 Joer verëffentlecht ginn. Ënnerstëtzung fir déi viregt LTS Branche vun Node.js 10.0 dauert bis Abrëll 2021, an Ënnerstëtzung fir déi lescht LTS Branche 8.0 bis Januar 2020.

Haaptstrooss Verbesserungen:

  • V8 Motor zu Versioun aktualiséiert 7.8, déi nei Leeschtungsoptimiséierungstechniken benotzt, d'Objektdestrukturéierung verbessert, d'Erënnerungsverbrauch reduzéiert an d'Virbereedungszäit fir d'WebAssembly Ausféierung reduzéiert;
  • Voll Ënnerstëtzung fir Internationaliséierung a Bibliothéik-baséiert Unicode ass par défaut aktivéiert ICU (International Components for Unicode), wat d'Entwéckler erlaabt Code ze schreiwen ënnerstëtzen schafft mat verschiddene Sproochen a Lokaler. De voll-icu Modul ass elo als Standard installéiert;
  • API stabiliséiert Aarbechter Threads, erlaabt Multi-threaded Event Loops erstellen. D'Implementatioun baséiert op dem worker_threads Modul, deen Iech erlaabt JavaScript Code a multiple parallel thread ze lafen. Stabil Ënnerstëtzung fir d'Aarbechter Threads API gouf och op d'LTS Branche vun Node.js 12.x backportéiert;
  • Ufuerderunge fir Plattformen goufen erhéicht. Fir Assemblée elo erfuerderlech sinn op d'mannst macOS 10.11 (erfuerdert Xcode 10), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Verbessert Ënnerstëtzung fir Python 3. Wann de System souwuel Python 2 an Python 3 huet, Python 2 nach benotzt, mä d'Fähegkeet ze bauen wann nëmmen Python 3 op de System installéiert ass dobäi;
  • Déi al Implementatioun vum HTTP Parser ("—http-parser=legacy") gouf geläscht. Geläscht oder deprecated Uriff an Eegeschafte FSWatcher.prototype.start (), ChildProcess._channel, oppen () Method an ReadStream an WriteStream Objete, request.connection, response.connection, module.createRequireFromPath ();
  • Nächst eraus koum update 13.0.1, déi séier e puer Bugs fixéiert. Besonnesch de Problem mat npm 6.12.0, deen eng Warnung iwwer d'Benotzung vun enger net ënnerstëtzter Versioun weist, gouf geléist.

Loosst eis drun erënneren datt d'Node.js Plattform souwuel fir Server-Säit Ënnerstëtzung vu Webapplikatiounen benotzt ka ginn a fir gewéinlech Client- a Servernetzprogrammer ze kreéieren. Fir d'Funktionalitéit vun Uwendungen fir Node.js expandéieren, eng grouss Zuel vun Sammlung vu Moduler, an deenen Dir Moduler mat der Ëmsetzung vu Serveren a Clienten fannt HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, Moduler fir Integratioun mat verschiddene Webframeworks, WebSocket an Ajax Handler, Connectoren op DBMS (MySQL, PostgreSQL, SQLite) , MongoDB ), Schablounmotoren, CSS Motoren, Implementatioune vu kryptographesche Algorithmen an Autorisatiounssystemer (OAuth), XML Parser.

Fir eng grouss Zuel vu parallele Ufroen ze handhaben, benotzt Node.js en asynchrone Code Ausféierungsmodell baséiert op net-blockéierend Eventveraarbechtung an definéieren Callback Handler. Ënnerstëtzt Methoden fir Multiplexing Verbindungen enthalen epoll, kqueue, /dev/poll, a wielt. D'Bibliothéik gëtt benotzt fir Verbindungen ze multiplexéieren libv, déi eng Iwwerbau eriwwer ass libev op Unix Systemer an iwwer IOCP op Windows. Eng Bibliothéik gëtt benotzt fir e Fuedempool ze kreéieren libeio, fir DNS Ufroen am Net-Blockéierungsmodus auszeféieren ass integréiert c-ier. All Systemappellen, déi d'Blockéierung verursaachen, ginn am Fuedempool ausgefouert an dann, wéi Signalhandteren, d'Resultat vun hirer Aarbecht duerch en onbenannt Päif zréckginn. D'Ausféierung vum JavaScript Code ass gesuergt duerch d'Benotzung vun engem Motor entwéckelt vu Google V8 (Zousätzlech entwéckelt Microsoft eng Versioun vum Node.js mam Chakra-Core Engine).

Am Kär ass Node.js ähnlech wéi Kaderen Perl AnyEvent, Rubin Event Machine, Python Twisted и Ëmsetzung Eventer am Tcl, awer d'Event Loop am Node.js ass vum Entwéckler verstoppt a gläicht Eventhandhabung an enger Webapplikatioun déi an engem Browser leeft. Wann Dir Uwendungen fir node.js schreift, ass et néideg d'Spezifizitéite vun der Event-driven Programméierung ze berücksichtegen, zum Beispill, anstatt "var result = db.query ("select..");" 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'Donnéeën ukommen. .

Source: opennet.ru

Setzt e Commentaire