Sakin JavaScript na gefen uwar garken Node.js 16.0

An saki Node.js 16.0, dandamali don gudanar da aikace-aikacen cibiyar sadarwa a JavaScript. Node.js 16.0 an rarraba shi azaman reshen tallafi na dogon lokaci, amma za a sanya wannan matsayin a cikin Oktoba kawai, bayan daidaitawa. Node.js 16.0 za a tallafawa har zuwa Afrilu 2023. Kula da reshen LTS na baya na Node.js 14.0 zai šauki har zuwa Afrilu 2023, da kuma shekarar da ta gabata reshen LTS 12.0 har zuwa Afrilu 2022. Za a daina goyan bayan reshen 10.0 LTS a cikin kwanaki 10.

Babban haɓakawa:

  • An sabunta injin V8 zuwa sigar 9.0 (Node.js 15 da aka yi amfani da sakin 8.6), wanda ke ba da damar aiwatar da sifofi kamar kayan “fididdigar” don maganganun yau da kullun (ya haɗa da tsararru tare da matsayi na farawa da ƙarewa na ƙungiyoyin matches) , Hanyar Atomics a cikin Node.js 16 .waitAsync (async version of Atomics.wait), goyan bayan amfani da kalmar jiran jira a cikin manyan matakai. An ƙara saurin kiran ayyuka a cikin yanayi inda adadin gardama da aka wuce bai dace da sigogi da aka ayyana a cikin aikin ba.
  • API ɗin Alkawari na Timers an daidaita shi, yana ba da madadin saitin ayyuka don aiki tare da masu ƙidayar lokaci waɗanda ke dawo da abubuwan Alkawari azaman fitarwa, wanda ke kawar da buƙatar amfani da util.promisify(). shigo da {setTimeout} daga 'masu lokaci/alƙawari'; async aiki gudu () {jira setTimeout(5000); console.log ('Hello, Duniya!'); } gudu();
  • An ƙara wani aiwatar da gwaji na Web Crypto API, wanda aka ƙera don aiwatar da ayyukan sirri na asali a gefen aikace-aikacen gidan yanar gizon, kamar sarrafa hashes, ƙirƙira da tabbatar da sa hannun dijital, ɓoyewa da yanke bayanai ta amfani da hanyoyin ɓoye daban-daban, da samar da amintaccen sirri. lambobi bazuwar. API ɗin kuma yana ba da ayyuka don samarwa da sarrafa maɓalli.
  • An sabunta N-API (API don haɓaka add-ons) zuwa sigar 8.
  • Canji zuwa sabon sakin mai sarrafa kunshin NPM 7.10 an yi.
  • An daidaita aiwatar da ajin AbortController, wanda ya dogara da AbortController Web API kuma yana ba da damar soke sigina a cikin APIs na tushen Alƙawari da aka zaɓa.
  • Taimako ga sigar taswirar taswirar sigar ta uku, wacce aka yi amfani da ita don kwatanta ƙirƙira, sarrafawa ko fakitin kayayyaki tare da ainihin lambar tushe, an daidaita su.
  • Don dacewa tare da APIs na gidan yanar gizo na gado, an ƙara buffer.atob(bayanai) da hanyoyin buffer.btoa(bayanai).
  • An fara ƙaddamar da majalisu don sababbin na'urorin Apple sanye take da guntu M1 ARM.
  • A kan dandalin Linux, an ɗaga buƙatun sigar mai tarawa zuwa GCC 8.3.

Bari mu tuna cewa ana iya amfani da dandalin Node.js duka don goyon bayan gefen uwar garke na aikace-aikacen yanar gizo da kuma ƙirƙirar shirye-shiryen abokin ciniki na yau da kullun da uwar garken. Don fadada ayyukan aikace-aikacen don Node.js, an shirya babban tarin kayayyaki, wanda za ku iya samun kayayyaki tare da aiwatar da HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 sabobin da abokan ciniki, kayayyaki don haɗin kai. tare da tsarin yanar gizo daban-daban, WebSocket da Ajax handlers , masu haɗawa zuwa DBMS (MySQL, PostgreSQL, SQLite, MongoDB), injunan samfuri, injunan CSS, aiwatar da algorithms na cryptographic da tsarin izini (OAuth), XML parsers.

Don tabbatar da sarrafa ɗimbin buƙatun layi ɗaya, Node.js yana amfani da samfurin aiwatar da lambar asynchronous dangane da abubuwan da ba a toshewa ba da ma'anar masu kula da kira. Hanyoyin da aka goyan baya don haɗa haɗin kai sune epoll, kqueue, /dev/poll, kuma zaɓi. Don haɗawa da yawa, ana amfani da ɗakin karatu na libuv, wanda shine ƙari don libev akan tsarin Unix da IOCP akan Windows. Ana amfani da ɗakin karatu na libeio don ƙirƙirar tafkin zaren, kuma an haɗa c-ares don yin tambayoyin DNS a yanayin da ba tare da toshewa ba. Ana aiwatar da duk kiran tsarin da ke haifar da toshewa a cikin tafkin zaren sannan, kamar masu sarrafa sigina, canja wurin sakamakon aikinsu ta hanyar bututu (bututu) da ba a bayyana sunansa ba. Ana ba da aiwatar da lambar JavaScript ta hanyar amfani da injin V8 wanda Google ya haɓaka (Bugu da ƙari, Microsoft yana haɓaka sigar Node.js tare da injin Chakra-Core).

A ainihin sa, Node.js yayi kama da Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, da kuma aiwatar da taron Tcl, amma madaidaicin taron a Node.js yana ɓoye daga mai haɓakawa kuma yayi kama da gudanar da taron a cikin aikace-aikacen yanar gizon da ke gudana. a cikin browser. Lokacin rubuta aikace-aikacen node.js, kuna buƙatar yin la'akari da ƙayyadaddun shirye-shiryen da ke gudana, alal misali, maimakon yin "var sakamako = db.query("zaɓa ..");" tare da jiran kammala aikin da aiwatar da sakamako na gaba, Node.js yana amfani da ka'idar asynchronous kisa, watau. An canza lambar zuwa "db.query ("zaɓi..", aiki (sakamakon) {sakamakon sarrafawa});, wanda sarrafawa zai wuce nan take zuwa ƙarin lambar, kuma za a sarrafa sakamakon tambaya yayin da bayanai suka isa.

Bugu da ƙari, ana iya lura cewa kamfanin Deno, wanda mahaliccin Node.js ya kafa don haɓaka dandamali na Deno na gaba, ya sami $ 4.9 miliyan a cikin zuba jari. A cikin manufarsa, Deno yayi kama da Node.js, amma yana ƙoƙari ya kawar da kurakuran ra'ayi da aka yi a cikin gine-ginen Node.js da kuma samar da masu amfani da yanayi mai tsaro. An lura cewa za a gina hanyoyin kasuwanci na Deno akan samfuran da aka buɗe gaba ɗaya, kuma ƙirar Buɗe Core tare da ayyuka daban-daban da aka biya ana ganin ba za a yarda da su ba ga dandalin Deno.

source: budenet.ru

Add a comment