Server-side JavaScript Node.js 13.0 kuburitswa

Inowanikwa kusunungura Node.js 13.0, mapuratifomu ekumhanyisa network application muJavaScript. Panguva imwecheteyo, kugadzikana kwebazi rekare reNode.js 12.x rakapedzwa, iro rakatamirwa kune chikamu chekubudiswa kwekutsigirwa kwenguva refu, zvigadziridzo izvo zvinobudiswa kwemakore mana. Tsigiro yebazi reLTS rapfuura reNode.js 4 richagara kusvika Kubvumbi 10.0, uye rutsigiro rwekupedzisira LTS bazi 2021 kusvika Ndira 8.0.

chikuru kuvandudzika:

  • V8 injini yakagadziridzwa kune vhezheni 7.8, iyo inoshandisa maitiro matsva ekugadzirisa maitiro, inovandudza kugadzirisa kwechinhu, inoderedza kushandiswa kwekuyeuka, uye inoderedza nguva yekugadzirira yeWebAssembly execution;
  • Tsigiro yakazara yekudyidzana nedzimwe nyika uye raibhurari-yakavakirwa Unicode inogoneswa neiyo default ICU (International Zvikamu zve Unicode), iyo inobvumira vanogadzira kunyora kodhi tsigira shanda nemitauro yakasiyana nenzvimbo. Iyo yakazara-icu module ikozvino yakaiswa nekukasira;
  • API yakagadzikana Workers Threads, kubvumira gadzira multi-threaded chiitiko looops. Kuitwa kwacho kunobva pane worker_threads module, iyo inokutendera kuti umhanye JavaScript kodhi mune dzakawanda dzakafanana tambo. Tsigiro yakatsiga yeVashandi Threads API yakadzoserwawo kuLTS bazi reNode.js 12.x;
  • Zvinodiwa pamapuratifomu zvawedzerwa. Kuungana zvino inodikanwa kanenge macOS 10.11 (inoda Xcode 10), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Kuvandudzwa kwerutsigiro rwePython 3. Kana iyo system ine zvose Python 2 uye Python 3, Python 2 ichiri kushandiswa, asi kukwanisa kuvaka kana Python 3 chete yakaiswa pane system yakawedzerwa;
  • Kuitwa kwekare kweHTTP parser (β€œ-http-parser=legacy”) kwabviswa. Yakabviswa kana kuregeredzwa mafoni uye zvivakwa FSWatcher.prototype.start(), ChildProcess._channel, open() nzira muReadStream uye WriteStream zvinhu, request.connection, response.connection, module.createRequireFromPath();
  • Kutevera akabuda gadziridza 13.0.1, iyo yakakurumidza kugadzirisa akati wandei. Kunyanya, dambudziko nenpm 6.12.0 kuratidza yambiro nezvekushandisa shanduro isina kutsigirwa yakagadziriswa.

Ngatiyeukei kuti iyo Node.js chikuva inogona kushandiswa zvese kutsigirwa neserver yeWebhu maapplication uye kugadzira akajairwa mutengi uye server network zvirongwa. Kuwedzera kushanda kwezvikumbiro zveNode.js, nhamba huru ye muunganidzwa wemamodule, maunogona kuwana mamodule nekushandiswa kwemaseva uye vatengi HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, ma modules ekubatanidza neakasiyana siyana ewebhu masisitimu, WebSocket uye Ajax vanobata, vanobatanidza kuDBMS (MySQL, PostgreSQL, SQLite , MongoDB ), template injini, CSS injini, kushandiswa kwekriptographic algorithms uye mvumo masisitimu (OAuth), XML parsers.

Kubata nhamba huru yezvikumbiro zvakafanana, Node.js inoshandisa asynchronous code execution modhi yakavakirwa pane isiri-kuvhara chiitiko kugadzirisa uye kutsanangura callback vanobata. Nzira dzinotsigirwa dzekubatanidza kuwanda dzinosanganisira epoll, kqueue, /dev/poll, uye sarudza. Raibhurari inoshandiswa kuita multiplex connections libuv, inova superstructure pamusoro libev paUnix masisitimu uye pamusoro peIOCP paWindows. Raibhurari inoshandiswa kugadzira dziva reshinda libeio, yekuita mibvunzo yeDNS mune isiri-blocking mode inosanganiswa c-ares. Yese inofona system inokonzeresa kuvharika inoitwa mukati medziva reshinda uyezve, sevabati vechiratidzo, vanopfuudza mhedzisiro yebasa ravo kuburikidza nepombi isina kutaurwa zita. Kuitwa kweJavaScript kodhi kunovimbiswa kuburikidza nekushandiswa kweinjini yakagadzirwa neGoogle V8 (Uyezve, Microsoft iri kugadzira vhezheni yeNode.js ine Chakra-Core injini).

Pakati payo, Node.js yakafanana nemafuremu Perl AnyEvent, Ruby Chiitiko Machine, Python Twisted ΠΈ kuita zviitiko muTcl, asi chiitiko loop muNode.js yakavanzwa kubva kumugadziri uye yakafanana nekubata chiitiko muwebhu application inoshanda mubrowser. Paunenge uchinyora zvikumbiro zve node.js, zvinodikanwa kuti utarise zvakatemwa zvechirongwa chinofambiswa nechiitiko, semuenzaniso, pane kuita "var result = db.query("select..");" nekumirira kupedzwa kwebasa nekuzotevera kugadziriswa kwemigumisiro, Node.js inoshandisa nheyo yeasynchronous execution, i.e. iyo code inoshandurwa kuita "db.query ("select..", basa (result) {result processing});", umo kutonga kuchapfuura pakarepo kune imwe kodhi, uye mhinduro yemubvunzo ichagadziriswa sezvo data yasvika. .

Source: opennet.ru

Voeg