Icala lomncedisi we JavaScript Node.js 13.0 ukukhululwa

Iyafumaneka ukukhulula Indlela yeNode 13.0, iiplatform zokuqhuba usetyenziso lwenethiwekhi kwiJavaScript. Ngelo xesha, ukuzinziswa kwesebe langaphambili le-Node.js 12.x ligqityiwe, eliye ladluliselwa kwicandelo lokukhutshwa kwenkxaso yexesha elide, uhlaziyo olukhutshwa iminyaka eyi-4. Inkxaso yesebe langaphambili le-LTS le-Node.js 10.0 liya kuhlala kude kube ngu-Epreli 2021, kunye nenkxaso yesebe lokugqibela le-LTS 8.0 kude kube nguJanuwari 2020.

Siseko ukuphucula:

  • Injini ye-V8 ihlaziywe kuguqulelo 7.8, esebenzisa iindlela ezintsha zokuphucula ukusebenza, ukuphucula ukuchithwa kwezinto, ukunciphisa ukusetyenziswa kwememori, kunye nokunciphisa ixesha lokulungiselela ukwenziwa kweWebAssembly;
  • Inkxaso epheleleyo yokwenziwa kwamazwe ngamazwe kunye ne-Unicode esekwe kwithala leencwadi yenziwe ngokungagqibekanga ICU (Ii-International Components ze-Unicode), evumela abaphuhlisi ukuba babhale ikhowudi inkxaso sebenza ngeelwimi ezahlukeneyo kunye neendawo. Imodyuli epheleleyo-icu ngoku ifakwe ngokungagqibekanga;
  • I-API izinzile Imisonto yabasebenzi, ukuvumela yenza imisonto emininzi yesiganeko. Ukuphunyezwa kusekelwe kwimodyuli ye-worker_threads, ekuvumela ukuba usebenzise ikhowudi yeJavaScript kwimisonto emininzi ehambelanayo. Inkxaso ezinzileyo ye-API ye-Workers Threads nayo ibuyiselwe kwisebe le-LTS le-Node.js 12.x;
  • Iimfuno zamaqonga zonyusiwe. Yendibano ngoku ku funeka ubuncinane macOS 10.11 (ifuna Xcode 10), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Inkxaso ephuculweyo yePython 3. Ukuba inkqubo inezo zombini iPython 2 kunye nePython 3, iPython 2 isasetyenziswa, kodwa ukukwazi ukwakha xa kuphela iPython 3 ifakwe kwinkqubo yongeziwe;
  • Ukuphunyezwa okudala kwe-HTTP parser (“—http-parser=legacy”) kususiwe. Iifowuni ezisusiweyo okanye eziyehliweyo kunye neepropati FSWatcher.prototype.start (), ChildProcess._channel, open() indlela kwizinto ze-ReadStream kunye ne-WritStream, isicelo.uxhulumaniso, impendulo.uxhulumaniso, imodyuli.createRequireFromPath ();
  • Ukulandela iphume ukuhlaziya i-13.0.1, eyalungisa ngokukhawuleza iimpazamo ezininzi. Ngokukodwa, ingxaki nge-npm 6.12.0 ebonisa isilumkiso malunga nokusebenzisa uguqulelo olungaxhaswanga iye yasonjululwa.

Masikhumbule ukuba iqonga leNode.js lingasetyenziselwa zombini inkxaso yeseva yezicelo zeWebhu kunye nokudala umxhasi oqhelekileyo kunye neenkqubo zenethiwekhi zeseva. Ukwandisa ukusebenza kwezicelo zeNode.js, inani elikhulu le ingqokelela yeemodyuli, apho unokufumana khona iimodyuli ngokuphunyezwa kweeseva kunye nabaxhasi HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, iimodyuli zokudityaniswa nezakhelo ezahlukeneyo zewebhu, iWebSocket kunye ne-Ajax abaphathi, izixhumi kwiDBMS (MySQL, PostgreSQL, SQLite , MongoDB ), iinjini zetemplate, iinjini zeCSS, ukuphunyezwa kwe-cryptographic algorithms kunye neenkqubo zokugunyazwa (OAuth), i-XML parsers.

Ukujongana namanani amakhulu ezicelo ezifanayo, iNode.js isebenzisa imodeli yokwenziwa kwekhowudi engahambelaniyo esekwe kusingathinteli ukusetyenzwa kwesiganeko kunye nokuchaza abaphathi bokufowuna. Iindlela ezixhaswayo zoqhagamshelo lwe-multiplexing ziquka i-epoll, i-kqueue, /dev/poll, kwaye ukhethe. Ithala leencwadi lisetyenziselwa ukudityaniswa kwe-multiplex libuv, nto leyo superstructure ngaphezulu khulula kwiinkqubo ze-Unix nangaphezulu kwe-IOCP kwiWindows. Ithala leencwadi lisetyenziselwa ukwenza idibanisi yomsonto libeio, ukwenza imibuzo ye-DNS kwimo engathinteliyo idityanisiwe I-c-ares. Zonke iifowuni zesixokelelwano ezibangela ukubhloka ziyenziwa ngaphakathi kwiqula lemisonto emva koko, njengabaphangi beempawu, bagqithise isiphumo somsebenzi wabo ngombhobho ongachazwanga ngagama. Ukuphunyezwa kwekhowudi yeJavaScript kuqinisekiswa ngokusetyenziswa kwenjini ephuhliswe nguGoogle V8 (Ukongezelela, iMicrosoft iphuhlisa inguqulelo yeNode.js ngenjini yeChakra-Core).

Embindini wayo, iNode.js iyafana nesakhelo Perl AnyEvent, Umatshini woMnyhadala weRuby, IPython iJikiwe и ukuphunyezwa iziganeko kwi-Tcl, kodwa i-loop yesiganeko kwi-Node.js ifihliwe kumphuhlisi kwaye ifana nokusingatha umcimbi kwisicelo sewebhu esisebenza kwisikhangeli. Xa ubhala izicelo ze-node.js, kuyimfuneko ukuthathela ingqalelo iinkcukacha zeprogram eqhutywa yisiganeko, umzekelo, endaweni yokwenza "var result = db.query("select..");" ngokulinda ukugqitywa komsebenzi kunye nokucutshungulwa okulandelayo kweziphumo, iNode.js isebenzisa umgaqo wokwenziwa kwe-asynchronous, i.e. ikhowudi iguqulwa ibe "db.query ("khetha..", umsebenzi (isiphumo) {result processing});", apho ulawulo luya kudlula ngokukhawuleza kwikhowudi eyongezelelweyo, kwaye umphumo wombuzo uya kucutshungulwa njengoko idatha ifika. .

umthombo: opennet.ru

Yongeza izimvo