Kutulutsidwa kwa seva-mbali JavaScript nsanja Node.js 16.0

Node.js 16.0 inatulutsidwa, nsanja yogwiritsira ntchito maukonde mu JavaScript. Node.js 16.0 imayikidwa ngati nthambi yothandizira nthawi yayitali, koma izi zidzaperekedwa kokha mu October, pambuyo pokhazikika. Node.js 16.0 idzathandizidwa mpaka Epulo 2023. Kusamalira nthambi yam'mbuyo ya LTS ya Node.js 14.0 kudzakhala mpaka Epulo 2023, ndipo chaka chatha LTS nthambi 12.0 mpaka Epulo 2022. Thandizo la nthambi ya 10.0 LTS idzathetsedwa m'masiku 10.

Kusintha kwakukulu:

  • Injini ya V8 yasinthidwa kukhala 9.0 (Node.js 15 yogwiritsidwa ntchito kumasulidwa 8.6), yomwe imalola kukhazikitsidwa kwa zinthu monga katundu wa "indices" kuti afotokoze nthawi zonse (imaphatikizapo mndandanda ndi malo oyambira ndi otsiriza a magulu a machesi) , njira ya Atomics mu Node.js 16 .waitAsync (async version ya Atomics.wait), kuthandizira kugwiritsa ntchito mawu ofunika omwe akudikirira m'ma module apamwamba. Kuyimba kwa ntchito kwafulumizitsa muzochitika zomwe kuchuluka kwa zotsutsana zomwe zadutsa sizikugwirizana ndi magawo omwe afotokozedwa mu ntchitoyi.
  • API ya Timers Promises yakhazikika, ndikupereka njira ina yogwirira ntchito ndi zowerengera zomwe zimabwezera Lonjezo zinthu monga zotuluka, zomwe zimachotsa kufunikira kogwiritsa ntchito util.promisify(). lowetsani {setTimeout} kuchokera ku 'timers/promises'; async function run() {wait setTimeout(5000); console.log('Moni, Dziko!'); } kuthamanga ();
  • Kukhazikitsa koyeserera kwa Web Crypto API wawonjezedwa, wopangidwa kuti azichita zinthu zobisika pambali pazantchito zapaintaneti, monga kuwongolera ma cryptographic hashes, kupanga ndi kutsimikizira siginecha ya digito, kusindikiza ndi kusindikiza deta pogwiritsa ntchito njira zosiyanasiyana zolembera, ndikupanga zotetezedwa mwachinsinsi. manambala mwachisawawa. API imaperekanso ntchito zopangira ndi kuyang'anira makiyi.
  • N-API (API yopanga zowonjezera) yasinthidwa kukhala mtundu 8.
  • Kusintha kwa kutulutsidwa kwatsopano kwa woyang'anira phukusi NPM 7.10 kwapangidwa.
  • Kukhazikika kwa kalasi ya AbortController, yomwe imachokera ku AbortController Web API ndipo imalola kuti zizindikiro zithetsedwe mu ma API osankhidwa a Promise.
  • Thandizo la mtundu wachitatu wa mtundu wa Source Map, womwe umagwiritsidwa ntchito poyerekeza ma modules opangidwa, okonzedwa kapena ophatikizidwa ndi code source source, wakhazikika.
  • Kuti zigwirizane ndi ma API apaintaneti, buffer.atob(data) ndi buffer.btoa(data) njira zawonjezedwa.
  • Kupangidwa kwa misonkhano ya zida zatsopano za Apple zokhala ndi chip M1 ARM kwayamba.
  • Pa nsanja ya Linux, zofunikira za mtundu wa compiler zakwezedwa ku GCC 8.3.

Tikumbukenso kuti nsanja ya Node.js itha kugwiritsidwa ntchito pothandizira ma seva pamawebusayiti komanso kupanga mapulogalamu wamba a kasitomala ndi ma seva. Kukulitsa magwiridwe antchito a Node.js, gulu lalikulu la ma module akonzedwa, momwe mungapeze ma module ndi kukhazikitsa kwa HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 ma seva ndi makasitomala, ma module ophatikizira. yokhala ndi mawebusayiti osiyanasiyana, WebSocket ndi Ajax handlers, zolumikizira ku DBMS (MySQL, PostgreSQL, SQLite, MongoDB), injini zama template, injini za CSS, kukhazikitsidwa kwa ma cryptographic algorithms ndi machitidwe ovomerezeka (OAuth), XML parsers.

Kuonetsetsa kukonzedwa kwa zopempha zambiri zofananira, Node.js imagwiritsa ntchito njira yotsatsira ma code asynchronous potengera kusatsekereza zochitika zosatsekereza komanso kutanthauzira kwa omenyera callback. Njira zothandizira zolumikizira ma multiplexing ndi epoll, kqueue, /dev/poll, ndikusankha. Pakulumikiza kuchulukitsa, laibulale ya libuv imagwiritsidwa ntchito, yomwe ndi chowonjezera cha libev pa Unix system ndi IOCP pa Windows. Laibulale ya libeio imagwiritsidwa ntchito popanga dziwe la ulusi, ndipo ma c-ares amaphatikizidwa kuti achite mafunso a DNS munjira yosatsekereza. Mafoni onse omwe amayambitsa kutsekereza amachitidwa mkati mwa dziwe la ulusi ndiyeno, monga oyendetsa ma siginecha, amasamutsa zotsatira za ntchito yawo kudzera pa chitoliro chosatchulidwa dzina (chitoliro). Kukonzekera kwa JavaScript code kumaperekedwa pogwiritsa ntchito injini ya V8 yopangidwa ndi Google (kuphatikizanso, Microsoft ikupanga Node.js ndi injini ya Chakra-Core).

Pachimake, Node.js ndi ofanana ndi Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, ndi kukhazikitsidwa kwa zochitika za Tcl, koma zochitika za Node.js zimabisika kwa wopanga mapulogalamu ndipo zimafanana ndi zochitika pa intaneti. mu msakatuli. Polemba mapulogalamu a node.js, muyenera kuganizira zazomwe zimayendetsedwa ndi zochitika, mwachitsanzo, m'malo mochita "var result = db.query("select..");" podikirira kumaliza ntchito ndikukonza zotsatila, Node.js imagwiritsa ntchito mfundo ya kuphedwa kosagwirizana, i.e. code imasinthidwa kukhala "db.query("select..", function (result) {result processing});", momwe ulamuliro udzadutsa nthawi yomweyo ku code yowonjezera, ndipo zotsatira zafunso zidzasinthidwa pamene deta ikufika.

Kuphatikiza apo, zitha kudziwika kuti kampani ya Deno, yomwe idakhazikitsidwa ndi mlengi wa Node.js kuti ipange nsanja ya Deno ya m'badwo wotsatira, idalandira $ 4.9 miliyoni pakugulitsa. Mu cholinga chake, Deno ndi yofanana ndi Node.js, koma amayesa kuthetsa zolakwika zamaganizo zomwe zimapangidwa mu zomangamanga za Node.js ndikupatsa ogwiritsa ntchito malo otetezeka kwambiri. Zimadziwika kuti mayankho a bizinesi a Deno adzamangidwa pazinthu zotseguka kwathunthu, ndipo mtundu wa Open Core wokhala ndi magwiridwe antchito olipidwa umawonedwa ngati wosavomerezeka papulatifomu ya Deno.

Source: opennet.ru

Kuwonjezera ndemanga