Server-side JavaScript Node.js 16.0 kuburitswa

Node.js 16.0 yakaburitswa, chikuva chekushandisa network application muJavaScript. Node.js 16.0 inorondedzerwa sebazi rekutsigira kwenguva refu, asi chimiro ichi chichagoverwa munaOctober chete, mushure mekugadzirisa. Node.js 16.0 ichatsigirwa kusvika Kubvumbi 2023. Kuchengetwa kwebazi reLTS reNode.js 14.0 richagara kusvika Kubvumbi 2023, uye gore risati rapfuura LTS bazi 12.0 kusvika Kubvumbi 2022. Tsigiro yebazi re10.0 LTS ichamiswa mumazuva gumi.

Mabhindauko makuru:

  • Injini yeV8 yakagadziridzwa kuita vhezheni 9.0 (Node.js 15 yakashandiswa kuburitsa 8.6), iyo inobvumira kuitiswa kwezvinhu zvakaita se "indices" pfuma yenguva dzose mataurirwo (inosanganisira array ine yekutanga uye yekupedzisira nzvimbo dzemapoka emachisi) , nzira yeAtomics muNode.js 16 .waitAsync (async version yeAtomics.wait), rubatsiro rwekushandisa izwi rekumirira mupamusoro-level modules. Basa rekufona rakakwidziridzwa mumamiriro ezvinhu apo nhamba yenharo dzakapfuura haienderane nemaparamendi anotsanangurwa mubasa.
  • Iyo Timers Promises API yakagadzikiswa, ichipa imwe seti yemabasa ekushanda nenguva inodzosa Promise zvinhu sekubuda, izvo zvinobvisa kudiwa kwekushandisa util.promisify(). pinza {setTimeout} kubva ku'timers/promises'; async basa run() {wait setTimeout(5000); console.log('Mhoro, Nyika!'); } run();
  • Kuitwa kwekuyedza kweWeb Crypto API kwawedzerwa, kwakagadzirirwa kuita zvekutanga cryptographic mashandiro padivi pewebhu maapplication, senge kushandura cryptographic hashes, kugadzira uye kuona masiginecha edhijitari, encoding uye decoding data uchishandisa akasiyana encryption nzira, uye kugadzira cryptographically yakachengeteka. nhamba dzisina kurongeka. Iyo API inopawo mabasa ekugadzira uye kutonga makiyi.
  • N-API (API yekugadzira ma-add-ons) yakagadziridzwa kune shanduro 8.
  • Shanduko yekuburitswa kutsva kwepakeji maneja NPM 7.10 yaitwa.
  • Yakagadzikana kushandiswa kwekirasi yeAbortController, iyo inobva paAbortController Web API uye inobvumira zviratidzo kuti zvidzingwe mune zvakasarudzwa Promise-based APIs.
  • Tsigiro yechitatu vhezheni yeiyo Source Mepu fomati, yakashandiswa kuenzanisa yakagadzirwa, yakagadziriswa kana yakarongedzwa mamodule neiyo yekutanga source code, yakagadzikana.
  • Kuti ienderane nenhaka Web APIs, nzira dzebuffer.atob(data) uye buffer.btoa(data) dzawedzerwa.
  • Kuumbwa kwemagungano emidziyo mitsva yeApple ine M1 ARM chip kwatanga.
  • Papuratifomu yeLinux, iyo compiler vhezheni zvinodiwa zvakasimudzwa kuGCC 8.3.

Rangarira kuti iyo Node.js chikuva inogona kushandiswa zvese kuchengetedza server yeWebhu maapplication uye kugadzira akajairwa mutengi uye server network zvirongwa. Kuti uwedzere kushanda kwezvikumbiro zveNode.js, muunganidzwa wakakura wemamodule wakagadzirirwa, umo iwe unogona kuwana mamodule nekushandiswa kweHTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 maseva uye vatengi, ma module ekubatanidza. ine akasiyana ewebhu masisitimu, WebSocket uye Ajax vanobata, DBMS vanobatanidza (MySQL, PostgreSQL, SQLite, MongoDB), templating injini, CSS injini, kuitiswa kwecrypto algorithms uye mvumo masisitimu (OAuth), XML parsers.

Kuti ive nechokwadi chekugadziriswa kwenhamba huru yezvikumbiro zvakafanana, Node.js inoshandisa asynchronous code execution modhi yakavakirwa pane isiri-kuvhara chiitiko kubata uye tsananguro yevanobata callback. Nzira dzinotsigirwa dzekubatanidza kuwanda ndeye epoll, kqueue, /dev/poll, uye sarudza. Nekubatanidza kuwanda, raibhurari ye libuv inoshandiswa, inova yekuwedzera ye libev pane Unix masisitimu uye IOCP paWindows. Raibhurari yelibeio inoshandiswa kugadzira dziva reshinda, uye c-ares inosanganiswa kuita mibvunzo yeDNS mune isiri-yekuvharisa mode. Yese inofona system inokonzeresa kuvharika inoitwa mukati medziva reshinda uyezve, sevabati vechiratidzo, vanoendesa mhedzisiro yebasa ravo kumashure kuburikidza nepombi isina zita (pombi). Kuitwa kweJavaScript code kunopiwa kuburikidza nekushandiswa kweV8 injini yakagadzirwa neGoogle (nekuwedzera, Microsoft iri kugadzira shanduro yeNode.js neChakra-Core injini).

Pakati payo, Node.js yakafanana nePerl AnyEvent, Ruby Event Machine, Python Twisted frameworks, uye Tcl chiitiko chekuita, asi chiitiko loop muNode.js yakavanzwa kubva kumugadziri uye yakafanana nekubata chiitiko muwebhu application inoshanda. mubrowser. Paunenge uchinyora zvikumbiro zve node.js, iwe unofanirwa kufunga nezve chaiyo-inofambiswa nechiitiko chirongwa, semuenzaniso, pane kuita "var result = db.query("select..");" nekumirira kupedzwa kwebasa uye kunotevera kugadziriswa kwemigumisiro, Node.js inoshandisa nheyo yeasynchronous execution, i.e. iyo code inoshandurwa kuita "db.query("select..", function (result) {result processing});", umo kutonga kuchapfuura pakarepo kune imwe kodhi, uye mhinduro yemubvunzo ichagadziriswa kana data yasvika.

Pamusoro pezvo, zvinogona kucherechedzwa kuti kambani yeDeno, yakavambwa nemusiki weNode.js kugadzira chizvarwa chinotevera cheDeno chikuva, yakagamuchira madhora 4.9 miriyoni mukudyara. Muchinangwa chayo, Deno yakafanana neNode.js, asi inoedza kubvisa zvikanganiso zvepfungwa zvakagadzirwa muNode.js architecture uye kupa vashandisi nzvimbo yakachengeteka. Zvinocherechedzwa kuti mhinduro dzebhizinesi reDeno dzichavakwa pazvigadzirwa zvakavhurika zvachose, uye iyo Open Core modhi ine yakapatsanurwa yakabhadharwa mashandiro inoonekwa seisingagamuchirwe papuratifomu yeDeno.

Source: opennet.ru

Voeg