Mwepụta nke ikpo okwu JavaScript n'akụkụ sava Node.js 16.0

A tọhapụrụ Node.js 16.0, ikpo okwu maka ịgba ọsọ ngwa netwọkụ na Javascript. Node.js 16.0 bụ nkewa dị ka ngalaba nkwado ogologo oge, mana a ga-ekenye ọkwa a naanị na Ọktoba, mgbe emechara ya. A ga-akwado Node.js 16.0 ruo Eprel 2023. Nlekọta nke ngalaba LTS gara aga nke Node.js 14.0 ga-adịru ruo Eprel 2023, yana afọ tupu alaka LTS ikpeazụ 12.0 ruo Eprel 2022. A ga-akwụsị nkwado maka ngalaba 10.0 LTS n'ime ụbọchị iri.

Isi nkwalite:

  • Emelitela engine V8 ka ọ bụrụ ụdị 9.0 (Node.js 15 ejiri ntọhapụ 8.6), nke na-enye ohere mmejuputa atụmatụ dị ka ihe “Indices” maka okwu mgbe niile (gụnyere nhazi na mmalite na njedebe nke ọnọdụ nke otu egwuregwu) , Usoro Atomics na Node.js 16 .waitAsync (ụdị async nke Atomics.wait), nkwado maka iji okwu nchere na modul elu-larịị. Emeela ngwa ngwa oku ọrụ na ọnọdụ ebe ọnụọgụ arụmụka gafere adabaghị na paramita akọwapụtara na ọrụ ahụ.
  • Akwụsịla API Timeers Promises API, na-enye usoro ọrụ ọzọ maka ịrụ ọrụ na oge na-eweghachi ihe nkwa dị ka mmepụta, nke na-ewepụ mkpa iji util.promisify(). mbubata {setTimeout} site na 'nkwa oge/nkwa'; async ọrụ ọsọ () {echere setTimeout(5000); console.log ('Ndewo, Ụwa!'); } na-agba ọsọ ();
  • Agbakwunyela mmejuputa nnwale nke Web Crypto API, nke emebere iji rụọ ọrụ nzuzo nzuzo n'akụkụ ngwa webụ, dị ka ịmegharị hashes cryptographic, imepụta na ịchọpụta mbinye aka dijitalụ, itinye koodu na decoding data site na iji ụzọ nzuzo dị iche iche, yana na-amụba nke ọma cryptographically. nọmba random. API na-enyekwa ọrụ maka ịmepụta na ijikwa igodo.
  • Emelitela N-API (API maka mmepe mgbakwunye) ka ọ bụrụ ụdị 8.
  • Emeela mgbanwe na ntọhapụ ọhụrụ nke njikwa ngwugwu NPM 7.10.
  • Kwadoro mmejuputa nke klaasị AbortController, nke dabere na AbortController Weebụ API ma na-enye ohere ka ịkagbu akara n'ime API ndị dabere na nkwa ahọpụtara.
  • Nkwado maka ụdị nke atọ nke usoro Map Source, nke a na-eji atụnyere modul emepụtara, hazie ma ọ bụ ngwugwu ya na koodu isi mmalite, ka edozila.
  • Maka ndakọrịta na API Weebụ ihe nketa, agbakwunyela ụzọ buffer.atob(data) na buffer.btoa(data).
  • Nhazi nke mgbakọ maka ngwaọrụ Apple ọhụrụ nwere mgbawa M1 ARM amalitela.
  • N'elu ikpo okwu Linux, a na-ebuli ihe ndị chọrọ ụdị ihe nchịkọta ihe na GCC 8.3.

Dịka ihe ncheta, enwere ike iji ikpo okwu Node.js ma maka nkwado akụkụ sava nke ngwa weebụ yana maka ịmepụta mmemme netwọk ọkọlọtọ nke ndị ahịa na sava. Iji gbasaa ọrụ nke ngwa Node.js, a kwadebela nnukwu nchịkọta modulu, gụnyere ndị nwere mmejuputa. sava na ndị ahịa nke HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, modulu maka ijikọ na usoro weebụ dị iche iche, ndị na-ejikwa WebSocket na Ajax, ndị na-ejikọ na DBMS (MySQL, PostgreSQL, SQLite, MongoDB), injin template, injin CSS, mmejuputa algọridim cryptographic na sistemụ ikike (OAuth), ndị na-akọwa XML.

Iji hụ na nhazi nke ọnụ ọgụgụ dị ukwuu nke arịrịọ ndị yiri ya, Node.js na-eji ụdị mmebe koodu asynchronous dabere na njikwa mmemme anaghị egbochi yana nkọwa nke ndị na-ahụ maka oku. Ụzọ ndị akwadoro maka njikọta multiplexing bụ epoll, kqueue, /dev/poll, wee họrọ. Maka njikọta multiplexing, a na-eji ọbaakwụkwọ libuv, nke bụ mgbakwunye maka libev na sistemụ Unix yana IOCP na Windows. A na-eji ọba akwụkwọ libeio mepụta ọdọ mmiri eri, yana c-ares jikọtara ya iji mee ajụjụ DNS na ọnọdụ anaghị egbochi. A na-egbu oku sistemu niile na-akpata igbochi n'ime ọdọ mmiri eri ahụ wee, dị ka ndị na-ahụ maka mgbaàmà, nyefee nsonaazụ nke ọrụ ha site na ọkpọkọ akpọghị aha. A na-enye mmezu nke koodu Javascript site na iji igwe V8 nke Google mepụtara (na mgbakwunye, Microsoft na-emepụta ụdị Node.js na Chakra-Core engine).

Na isi ya, Node.js yiri Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, na mmejuputa mmemme Tcl, ma ihe omume ahụ na Node.js zoro ezo site na onye mmepụta ma yiri njikwa ihe omume na ngwa weebụ na-agba ọsọ. na ihe nchọgharị. Mgbe ị na-ede ngwa maka node.js, ịkwesịrị ịtụle nkọwa nke mmemme na-eme ihe omume, dịka ọmụmaatụ, kama ime "var result = db.query("họrọ .");" na ichere maka mmecha ọrụ na nhazi nke nsonaazụ, Node.js na-eji ụkpụrụ nke mkpochapụ asynchronous, ya bụ. A na-agbanwe koodu ahụ ka ọ bụrụ "db.query ("họrọ ..", ọrụ (nsonaazụ) {nhazi nsonaazụ});", nke njikwa ga-agafe ngwa ngwa gaa na koodu ọzọ, a ga-ahazi nsonaazụ ajụjụ ka data rutere.

Tụkwasị na nke a, enwere ike ịdebe na ụlọ ọrụ Deno, nke onye okike nke Node.js tọrọ ntọala maka ịmepụta usoro Deno na-esote ọgbọ, natara $ 4.9 nde na ntinye ego. N'ime nzube ya, Deno yiri Node.js, ma ọ na-agbalị ikpochapụ mmejọ echiche ndị e mere na Node.js architecture ma nye ndị ọrụ ebe nchekwa dị nchebe karị. Achọpụtara na a ga-ewu ihe ngwọta azụmahịa nke Deno na ngwaahịa mepere emepe kpamkpam, na ụdị Open Core nwere ọrụ dị iche iche a na-akwụ ụgwọ na-aghọta dị ka ihe na-adịghị anabata maka ikpo okwu Deno.

isi: opennet.ru