Ho lokolloa ha JavaScript Node.js 16.0 ka lehlakoreng la seva

Node.js 16.0, sethala sa ho tsamaisa lits'ebetso tsa marang-rang ho JavaScript, se ile sa lokolloa. Node.js 16.0 e khetholloa e le lekala la ts'ehetso ea nako e telele, empa boemo bona bo tla abeloa feela ka October, ka mor'a ho tsitsa. Node.js 16.0 e tla tšehetsoa ho fihlela ka Mmesa 2023. Tlhokomelo ea lekala la pele la LTS la Node.js 14.0 e tla tšoarella ho fihlela Mmesa 2023, le selemo pele ho LTS lekala la 12.0 ho fihlela ka Mmesa 2022. Tšehetso bakeng sa lekala la 10.0 LTS e tla emisoa ka matsatsi a 10.

Lintlafatso tsa mantlha:

  • Enjene ea V8 e nchafalitsoe ho mofuta oa 9.0 (Node.js 15 e sebelisitsoeng tokollo ea 8.6), e lumellang ts'ebetsong ea likarolo tse joalo ka thepa ea "indices" bakeng sa mantsoe a tloaelehileng (e kenyelletsa sehlopha se nang le maemo a qalang le a ho qetela a lihlopha tsa lipapali) , mokhoa oa Atomics ho Node.js 16 .waitAsync (async version of Atomics.wait), tšehetso bakeng sa ho sebelisa lentsoe la sehlooho le letetseng li-modules tsa boemo bo holimo. Mehala ea ts'ebetso e potlakisitsoe maemong ao palo ea likhang tse fetisitsoeng e sa tsamaellaneng le li-parameter tse hlalositsoeng ts'ebetsong.
  • The Timers Promises API e tsitsitse, e fana ka sete e 'ngoe ea mesebetsi bakeng sa ho sebetsa le li-timers tse khutlisetsang lintho tsa Tšepiso e le tlhahiso, e leng se felisang tlhoko ea ho sebelisa util.promisify(). kenya {setTimeout} ho tsoa ho 'timer/promises'; async function run() {wait setTimeout(5000); console.log('Lumela, Lefatše!'); } matha();
  • Ho kenyelelitsoe ts'ebetsong ea liteko ea Web Crypto API, e etselitsoeng ho etsa ts'ebetso ea mantlha ea li-cryptographic ka lehlakoreng la lits'ebetso tsa webo, joalo ka ho qhekella li-cryptographic hashes, ho hlahisa le ho netefatsa li-signature tsa dijithale, ho khouta le ho decoding data ka mekhoa e fapaneng ea ho notlela, le ho hlahisa ts'ireletso e bolokehileng ka mokhoa oa sephiri. dinomoro tse sa reroang. API e boetse e fana ka mesebetsi ea ho hlahisa le ho laola linotlolo.
  • N-API (API ea ho ntlafatsa li-add-on) e ntlafalitsoe ho mofuta oa 8.
  • Phetoho ea tokollo e ncha ea mookameli oa sephutheloana NPM 7.10 e entsoe.
  • E tsitsitse ts'ebetsong ea sehlopha sa AbortController, e thehiloeng ho AbortController Web API 'me e lumella matšoao hore a hlakoloe ho li-API tse khethiloeng tsa Tšepiso.
  • Tšehetso bakeng sa mofuta oa boraro oa sebopeho sa 'Mapa oa Mohloli, o sebelisetsoang ho bapisa li-module tse hlahisitsoeng, tse entsoeng kapa tse pakiloeng ka khoutu ea mohloli oa pele, e tsitsitse.
  • Bakeng sa ho sebelisana le li-API tsa Web, buffer.atob(data) le buffer.btoa(data) mekhoa e kentsoe.
  • Ho theoa ha likopano tsa lisebelisoa tse ncha tsa Apple tse nang le chip ea M1 ARM ho se ho qalile.
  • Sethaleng sa Linux, litlhoko tsa mofuta oa compiler li phahamisitsoe ho GCC 8.3.

A re hopoleng hore sethala sa Node.js se ka sebelisoa ka bobeli bakeng sa ts'ehetso ea lehlakore la seva ea lits'ebetso tsa Webo le ho theha mananeo a tloaelehileng a bareki le marang-rang. Ho holisa ts'ebetso ea lits'ebetso tsa Node.js, ho lokiselitsoe pokello e kholo ea li-module, tseo ho tsona u ka fumanang li-module tse nang le ts'ebetsong ea HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 li-server le bareki, li-module tsa ho kopanya. e nang le mekhoa e fapaneng ea marang-rang, li-WebSocket le li-Ajax handlers, lihokelo tsa DBMS (MySQL, PostgreSQL, SQLite, MongoDB), lienjineri tsa template, lienjineri tsa CSS, ts'ebetsong ea li-algorithms tsa cryptographic le litsamaiso tsa tumello (OAuth), li-parser tsa XML.

Ho netefatsa ts'ebetso ea palo e kholo ea likopo tse ts'oanang, Node.js e sebelisa mokhoa o sa ts'oaneng oa ts'ebetso oa khoutu o ipapisitseng le ts'ebetso e sa thibeleng ea ketsahalo le tlhaloso ea batšoantšisi ba callback. Mekhoa e tšehelitsoeng bakeng sa likhokahano tsa multiplexing ke epoll, kqueue, /dev/poll, le khetha. Bakeng sa ho kopanya li-multiplexing, ho sebelisoa laeborari ea libuv, e leng tlatsetso bakeng sa libev lits'ebetsong tsa Unix le IOCP ho Windows. Laebrari ea libeio e sebelisetsoa ho etsa letamo la likhoele, 'me li-c-ares li kopantsoe ho etsa lipotso tsa DNS ka mokhoa o sa thibeleng. Mehala eohle ea sistimi e bakang thibelo e etsoa ka har'a letamo la likhoele, ebe, joalo ka batšoasi ba matšoao, ba fetisetsa sephetho sa mosebetsi oa bona ka phala e sa boleloang ka lebitso (pipe). Ts'ebetso ea khoutu ea JavaScript e fanoa ka ts'ebeliso ea enjene ea V8 e ntlafalitsoeng ke Google (ho feta moo, Microsoft e nts'etsapele mofuta oa Node.js ka enjene ea Chakra-Core).

Motheong oa eona, Node.js e tšoana le Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, le ts'ebetsong ea ketsahalo ea Tcl, empa leqhubu la ketsahalo ho Node.js le patiloe ho moqapi 'me le tšoana le ketsahalo ea ho sebetsana le ts'ebeliso ea websaete e sebetsang. ho seshebisi. Ha u ngola likopo tsa node.js, u lokela ho nahana ka lintlha tse tobileng tsa lenaneo le tsamaisoang ke liketsahalo, mohlala, ho e-na le ho etsa "var result = db.query("select..");" ka ho emela ho phethoa ha mosebetsi le ts'ebetso e latelang ea liphetho, Node.js e sebelisa molao-motheo oa ts'ebetso ea asynchronous, i.e. khoutu e fetoloa "db.query ("khetha ..", mosebetsi (sephetho) {result processing});", moo taolo e tla fetela hang-hang ho khoutu e eketsehileng, 'me sephetho sa potso se tla sebetsoa ha data e fihla.

Ho feta moo, ho ka hlokomeloa hore k'hamphani ea Deno, e thehiloeng ke moetsi oa Node.js ho nts'etsapele sethala sa Deno sa moloko o latelang, e amohetse $ 4.9 milione ka matsete. Sepheo sa eona, Deno e tšoana le Node.js, empa e leka ho felisa liphoso tsa maikutlo tse entsoeng mohahong oa Node.js le ho fa basebelisi sebaka se sireletsehileng haholoanyane. Hoa hlokomeloa hore tharollo ea khoebo ea Deno e tla hahoa lihlahisoa tse bulehileng ka ho feletseng, 'me mohlala oa Open Core o nang le ts'ebetso e fapaneng e lefshoang e nkoa e sa amohelehe bakeng sa sethala sa Deno.

Source: opennet.ru

Eketsa ka tlhaloso