Ukukhishwa kwe-JavaScript Node.js 16.0 eseceleni kweseva

I-Node.js 16.0 ikhishwe, inkundla yokusebenzisa izinhlelo zokusebenza zenethiwekhi ku-JavaScript. I-Node.js 16.0 ihlukaniswa njengegatsha lokusekela lesikhathi eside, kodwa lesi simo sizokwabelwa kuphela ngo-Okthoba, ngemva kokuzinzisa. I-Node.js 16.0 izosekelwa kuze kube ngu-April 2023. Ukugcinwa kwegatsha langaphambilini le-LTS le-Node.js 14.0 kuzohlala kuze kube ngu-Ephreli 2023, kanye nonyaka ngaphambi kwegatsha lokugcina le-LTS 12.0 kuze kube ngu-Ephreli 2022. Ukusekelwa kwegatsha le-10.0 LTS kuzonqanyulwa ezinsukwini eziyi-10.

Ukuthuthukiswa okuyinhloko:

  • Injini ye-V8 ibuyekezelwe kunguqulo engu-9.0 (i-Node.js 15 esetshenzisiwe ukukhululwa 8.6), evumela ukuqaliswa kwezici ezifana nesakhiwo β€œsezinkomba” zezinkulumo ezivamile (okuhlanganisa amalungu afanayo anezindawo zokuqala nezokugcina zamaqembu amameshi) , indlela ye-Atomics ku-Node.js 16 .waitAsync (inguqulo ye-async ye-Atomics.wait), usekelo lokusebenzisa igama elingukhiye lokulinda kumamojula wezinga eliphezulu. Amakholi okusebenza asheshisiwe ezimeni lapho inani lama-agumenti adlulisiwe lingahambisani nemingcele echazwe kumsebenzi.
  • I-Timers Promises API isizinzisiwe, ihlinzeka ngenye isethi yemisebenzi yokusebenza nezibali sikhathi ezibuyisela izinto zeSithembiso njengokuphumayo, okususa isidingo sokusebenzisa i-util.promisify(). ngenisa {setTimeout } kusuka 'kubalingisi besikhathi/izithembiso'; umsebenzi we-async run() {wait setTimeout(5000); console.log('Sawubona, Mhlaba!'); } run();
  • Ukuqaliswa kokuhlolwa kwe-Web Crypto API kungeziwe, okuklanyelwe ukwenza imisebenzi eyisisekelo ye-cryptographic ohlangothini lwezinhlelo zokusebenza zewebhu, njengokukhohlisa ama-cryptographic hashes, ukukhiqiza nokuqinisekisa amasiginesha edijithali, ukubhala ngekhodi kanye nokukhipha amakhodi idatha kusetshenziswa izindlela ezihlukahlukene zokubethela, kanye nokukhiqiza i-cryptographically evikelekile. izinombolo ezingahleliwe. I-API futhi ihlinzeka ngemisebenzi yokukhiqiza nokuphatha okhiye.
  • I-N-API (i-API yokuthuthukisa izengezo) ibuyekezelwe kunguqulo 8.
  • Ukushintshela ekukhishweni okusha komphathi wephakeji i-NPM 7.10 kwenziwe.
  • Kuzinziswe ukusetshenziswa kwekilasi le-AbortController, elisekelwe ku-AbortController Web API futhi livumela amasiginali ukuthi akhanselwe kuma-API asekelwe ku-Promise.
  • Ukusekelwa kwenguqulo yesithathu yefomethi ye-Source Map, esetshenziselwa ukuqhathanisa amamojula akhiqiziwe, acutshunguliwe noma apakishwe ngekhodi yomthombo yoqobo, kuzinzile.
  • Ukuze ihambisane ne-legacy Web APIs, izindlela ze-buffer.atob(data) kanye ne-buffer.btoa(data) zengeziwe.
  • Ukwakhiwa kwemihlangano yamadivayisi amasha akwa-Apple afakwe i-M1 ARM chip sekuqalile.
  • Kuplathifomu ye-Linux, izidingo zenguqulo yomdidiyeli ziphakanyiselwe ku-GCC 8.3.

Khumbula ukuthi iplatifomu ye-Node.js ingasetshenziswa kokubili ukulungisa iseva yezinhlelo zokusebenza zeWebhu nokudala amaklayenti ajwayelekile kanye nezinhlelo zenethiwekhi yeseva. Ukwandisa ukusebenza kwezinhlelo zokusebenza ze-Node.js, iqoqo elikhulu lamamojula selilungisiwe, lapho ungathola khona amamojula ngokusetshenziswa kwe-HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 amaseva namaklayenti, amamojula okuhlanganiswa. enezinhlaka ezehlukene zewebhu, izibambi ze-WebSocket ne-Ajax, izixhumi ze-DBMS (MySQL, PostgreSQL, SQLite, MongoDB), izinjini zesifanekiso, izinjini ze-CSS, ukuqaliswa kokusebenza kwe-crypto algorithms nezinhlelo zokugunyaza (OAuth), abahlaluli be-XML.

Ukuqinisekisa ukucutshungulwa kwezicelo eziningi ezifanayo, i-Node.js isebenzisa imodeli yokusebenzisa ikhodi engavumelaniyo esuselwe ekuphatheni umcimbi ongavimbi kanye nencazelo yabaphathi be-callback. Izindlela ezisekelwayo zoxhumano lokuphindaphinda i-epoll, i-kqueue, /dev/poll, bese ukhetha. Ukuze kuxhunywe ukuphindaphindeka, kusetshenziswa umtapo wezincwadi we-libuv, okuyisengezo se-libev ezinhlelweni ze-Unix kanye ne-IOCP ku-Windows. Umtapo wezincwadi we-libeio usetshenziselwa ukudala i-thread pool, ama-c-ares ahlanganiswe ukwenza imibuzo ye-DNS kumodi engavimbeli. Zonke izingcingo zesistimu ezibangela ukuvinjwa zenziwa ngaphakathi kwechibi lezintambo bese, njengezibambi zesignali, zidlulisele umphumela womsebenzi wazo ngepayipi elingashiwongo (ipayipi). Ukwenziwa kwekhodi ye-JavaScript kunikezwa ngokusetshenziswa kwenjini ye-V8 eyakhiwe i-Google (ngaphezu kwalokho, i-Microsoft ithuthukisa inguqulo ye-Node.js ngenjini ye-Chakra-Core).

Emgogodleni wayo, i-Node.js ifana nePerl AnyEvent, Ruby Event Machine, Python Twisted frameworks, kanye nokuqaliswa komcimbi we-Tcl, kodwa iluphu yomcimbi ku-Node.js ifihliwe kunjiniyela futhi ifana nokuphathwa komcimbi ohlelweni lokusebenza lwewebhu olusebenzayo. kusiphequluli. Lapho ubhala izinhlelo zokusebenza ze-node.js, udinga ukucabangela imininingwane yohlelo oluqhutshwa umcimbi, isibonelo, esikhundleni sokwenza "var result = db.query("select..");" ngokulinda ukuqedwa komsebenzi kanye nokucutshungulwa okulandelayo kwemiphumela, i-Node.js isebenzisa isimiso sokubulawa okuvumelanayo, i.e. ikhodi iguqulelwa ku-"db.query("select..", function (umphumela) {result processing});", lapho ukulawula kuzodlula khona manjalo kukhodi eqhubekayo, futhi umphumela wombuzo uzocutshungulwa njengoba idatha ifika.

Ukwengeza, kungaphawulwa ukuthi inkampani yeDeno, eyasungulwa ngumdali weNode.js ukuthuthukisa isiteji seDeno yesizukulwane esilandelayo, ithole i-$ 4.9 million ekutshalweni kwezimali. Ngenhloso yayo, i-Deno ifana ne-Node.js, kodwa izama ukuqeda amaphutha omqondo enziwe esakhiweni se-Node.js futhi inikeze abasebenzisi indawo evikelekile kakhudlwana. Kuyaphawulwa ukuthi izixazululo zebhizinisi likaDeno zizokwakhiwa emikhiqizweni evuleke ngokuphelele, futhi imodeli ye-Open Core esebenza ngokuhlukene ekhokhelwayo ibonwa njengengamukeleki kungxenyekazi ye-Deno.

Source: opennet.ru

Engeza amazwana