Servera puses JavaScript Node.js 16.0 laidiens

Tika izlaists Node.js 16.0 ā€” platforma tÄ«kla lietojumprogrammu palaiÅ”anai JavaScript. Node.js 16.0 ir klasificēts kā ilgtermiņa atbalsta filiāle, taču Å”is statuss tiks pieŔķirts tikai oktobrÄ«, pēc stabilizācijas. Node.js 16.0 tiks atbalstÄ«ts lÄ«dz 2023. gada aprÄ«lim. Node.js 14.0 iepriekŔējās LTS filiāles apkope ilgs lÄ«dz 2023. gada aprÄ«lim, bet aizpērn LTS 12.0 filiāle – lÄ«dz 2022. gada aprÄ«lim. 10.0 LTS filiāles atbalsts tiks pārtraukts pēc 10 dienām.

Galvenie uzlabojumi:

  • V8 dzinējs ir atjaunināts uz versiju 9.0 (Node.js 15 izmantoja versiju 8.6), kas ļauj ieviest tādas funkcijas kā regulāro izteiksmju rekvizÄ«ts ā€œindeksiā€ (ietver masÄ«vu ar atbilstÄ«bas grupu sākuma un beigu pozÄ«cijām) , Atomics metode pakalpojumā Node.js 16 .waitAsync (Atomics.wait asinhronā versija), atbalsts await atslēgvārda izmantoÅ”anai augstākā lÄ«meņa moduļos. Funkciju izsaukumi ir paātrināti situācijās, kad nodoto argumentu skaits neatbilst funkcijā definētajiem parametriem.
  • Timers Promises API ir stabilizēta, nodroÅ”inot alternatÄ«vu funkciju kopu darbam ar taimeriem, kas atgriež Promise objektus kā izvadi, kas novērÅ” nepiecieÅ”amÄ«bu izmantot util.promisify(). importēt { setTimeout } no 'taimeri/solÄ«jumi'; async function palaist() { gaidÄ«t setTimeout(5000); console.log('Sveika, pasaule!'); } palaist();
  • Ir pievienota Web Crypto API eksperimentāla ievieÅ”ana, kas izstrādāta, lai veiktu pamata kriptogrāfijas darbÄ«bas tÄ«mekļa lietojumprogrammu pusē, piemēram, manipulācijas ar kriptogrāfijas jaucējiem, digitālo parakstu Ä£enerēŔana un pārbaude, datu kodēŔana un dekodēŔana, izmantojot dažādas Å”ifrēŔanas metodes, un kriptogrāfiski droÅ”u Ä£enerēŔana. nejauÅ”i skaitļi. API nodroÅ”ina arÄ« funkcijas atslēgu Ä£enerēŔanai un pārvaldÄ«bai.
  • N-API (API papildinājumu izstrādei) ir atjaunināts uz 8. versiju.
  • Ir veikta pāreja uz jauno pakotņu pārvaldnieka NPM 7.10 izlaidumu.
  • Stabilizēta AbortController klases ievieÅ”ana, kas ir balstÄ«ta uz AbortController Web API un ļauj atcelt signālus atlasÄ«tajās uz Promise balstÄ«tajās API.
  • Atbalsts avota kartes formāta treÅ”ajai versijai, ko izmanto, lai salÄ«dzinātu Ä£enerētos, apstrādātos vai iepakotos moduļus ar oriÄ£inālo avota kodu, ir stabilizēts.
  • Lai nodroÅ”inātu saderÄ«bu ar mantotajām tÄ«mekļa API, ir pievienotas metodes buffer.atob(data) un buffer.btoa(data).
  • Ir sākusies komplektāciju veidoÅ”ana jaunām Apple ierÄ«cēm, kas aprÄ«kotas ar M1 ARM mikroshēmu.
  • Uz platformas Linux Kompilatora versijas prasÄ«bas ir paaugstinātas lÄ«dz GCC 8.3.

Atgādinām, ka Node.js platformu var izmantot gan tÄ«mekļa lietojumprogrammu servera puses atbalstam, gan standarta klienta un servera puses tÄ«kla programmu izveidei. Lai paplaÅ”inātu Node.js lietojumprogrammu funkcionalitāti, ir sagatavota plaÅ”a moduļu kolekcija, tostarp tie, kuriem ir implementācijas. serveriem un HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 klienti, moduļi integrācijai ar dažādiem tÄ«mekļa ietvariem, WebSocket un Ajax apstrādātāji, savienotāji ar DBVS (MySQL, PostgreSQL, SQLite, MongoDB), veidņu dzinēji, CSS dzinēji, kriptogrāfisko algoritmu un autorizācijas sistēmu (OAuth) ievieÅ”ana, XML parsētāji.

Lai apstrādātu lielu skaitu paralēlu pieprasÄ«jumu, Node.js izmanto asinhronu koda izpildes modeli, kas balstÄ«ts uz nebloķējoÅ”u notikumu apstrādi un atzvanīŔanas apstrādātājiem. AtbalstÄ«tās savienojumu multipleksēŔanas metodes ietver epoll, kqueue, /dev/poll un select. Savienojumu multipleksēŔanai tiek izmantota libuv bibliotēka, kas ir libev Unix sistēmās un IOCP IOCP superkopa. WindowsLibeio bibliotēka tiek izmantota pavedienu kopas izveidei, un c-ares ir integrēts, lai veiktu DNS vaicājumus nebloķējoŔā režīmā. Visi bloķējoÅ”ie sistēmas izsaukumi tiek izpildÄ«ti pavedienu kopas ietvaros un pēc tam, tāpat kā signālu apstrādātāji, atgriež savus rezultātus, izmantojot nenosauktu cauruli. JavaScript izpildi nodroÅ”ina Google V8 dzinējs (Microsoft arÄ« izstrādā Node.js variantu ar Chakra-Core dzinēju).

Savā pamatā Node.js ir lÄ«dzÄ«gs Perl AnyEvent, Ruby Event Machine, Python Twisted ietvariem un Tcl notikumu ievieÅ”anai, taču notikuma cilpa programmā Node.js ir paslēpta no izstrādātāja un atgādina notikumu apstrādi tÄ«mekļa lietojumprogrammā, kas darbojas. pārlÅ«kprogrammā. Rakstot lietojumprogrammas node.js, ir jāņem vērā, piemēram, notikumu vadÄ«tas programmēŔanas specifika, nevis jādara "var rezultāts = db.query("select..");" ar darba pabeigÅ”anas gaidīŔanu un sekojoÅ”u rezultātu apstrādi Node.js izmanto asinhronās izpildes principu, t.i. kods tiek pārveidots par "db.query("select..", funkcija (rezultāts) {rezultāta apstrāde});", kurā vadÄ«ba uzreiz pāries tālākam kodam, un vaicājuma rezultāts tiks apstrādāts lÄ«dz ar datu saņemÅ”anu.

Turklāt var atzÄ«mēt, ka Deno uzņēmums, kuru nodibināja Node.js radÄ«tājs, lai izstrādātu nākamās paaudzes Deno platformu, investÄ«cijas saņēma 4.9 miljonus USD. Pēc sava mērÄ·a Deno ir lÄ«dzÄ«gs Node.js, taču tas cenÅ”as novērst Node.js arhitektÅ«rā pieļautās konceptuālās kļūdas un nodroÅ”ināt lietotājiem droŔāku vidi. Tiek atzÄ«mēts, ka Deno biznesa risinājumi tiks veidoti uz pilnÄ«gi atvērtiem produktiem, un Open Core modelis ar atseviŔķu maksas funkcionalitāti tiek uztverts kā nepieņemams Deno platformai.

Avots: opennet.ru

Iegādājieties uzticamu mitināŔanu vietnēm ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa vietņu mitināŔanu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster