Servera JavaScript platforma Node.js 19.0 ir pieejama.

Izlaidums Node.js 19.0, platformas tÄ«mekļa lietojumprogrammu izpildei JavaScript valodā. Node.js 19 pieder pie parastā atbalsta atzara, kura atjauninājumus plānots izlaist lÄ«dz 2023. gada jÅ«nijam. Nākamo dienu laikā tiks pabeigta Node.js 18 atzara stabilizācija, kurÅ” iegÅ«s LTS statusu un tiks atbalstÄ«ts lÄ«dz 2025. gada aprÄ«lim. IepriekŔējā LTS atzara Node.js 16.0 atbalsts ilgs lÄ«dz 2023. gada septembrim, bet pirms tam esoŔās LTS atzara 14.0 lÄ«dz 2023. gada aprÄ«lim.

Galvenie uzlabojumi:

  • V8 dÄ«zeļmotoram ir atjaunināta versija 10.7, ko izmanto Chromium 107. SalÄ«dzinājumā ar Node.js 18 atzaru, dÄ«zeļa izmaiņas ietver treŔās versijas API Intl.NumberFormat Ä«stenoÅ”anu, kurā pievienotas jaunas funkcijas formatRange(), formatRangeToParts() un selectRange(), grupēŔana kopās, jaunas noapaļoÅ”anas un precizitātes opcijas, kā arÄ« iespēja interpretēt virknes kā decimālus skaitļus. Tika arÄ« atjaunināti iekļautie atkarÄ«bas llhttp 8.1.0 un npm 8.19.2.
  • Tika piedāvāta eksperimentālā komanda Ā«node —watchĀ» ar reāllaika novēroÅ”anas režīmu, kas nodroÅ”ina procesa automātisku restartēŔanu, mainoties importētajam failam (piemēram, ja tiek palaižots Ā«node —watch index.jsĀ», process automātiski tiks restartēts pēc izmaiņām index.js).
  • Visiem izejoÅ”ajiem HTTP/HTTPS savienojumiem tiek nodroÅ”ināta HTTP 1.1 Keep-Alive mehānisma atbalsts, kas atstāj savienojumu noteikti laiku atvērtu, lai apstrādātu vairākus HTTP pieprasÄ«jumus vienā savienojumā. Tiek prognozēts, ka Keep-Alive lietoÅ”ana palielinās caurlaidspēju un efektivitāti. Noklusējuma savienojuma uzturēŔanas laika intervāls ir iestatÄ«ts uz 5 sekundēm. HTTP klientā tiek pievienots atbalsts Keep-Alive HTTP virsraksta parsēŔanai atbildēs. serveris, bet Node.js HTTP servera realizācijā tika pievienota automātiska neaktÄ«vo klientu atslēgÅ”ana, kuri izmanto Keep-Alive.
  • WebCrypto API ir nodots stabilajai versijai, izņemot funkcijas, kas izmanto Ed25519, Ed448, X25519 un X448 algoritmus. Tagad piekļuve WebCrypto modulim var tikt iegÅ«ta, izmantojot globalThis.crypto vai require(ā€˜node:crypto’).webcrypto.
  • Tika noņemts atbalsts DTrace, SystemTap un ETW (Event Tracing for Windows) izsekoÅ”anas rÄ«kiem, kuru atbalsts tika atzÄ«ts par neefektÄ«vu dēļ grÅ«tÄ«bām tos uzturēt mÅ«sdienÄ«gā veidā bez pienācÄ«ga plāna.

Node.js platformu var izmantot gan servera puses tÄ«mekļa lietojumprogrammu atbalstam, gan parasto klientu un serveru tÄ«kla programmu izveidei. Lai paplaÅ”inātu Node.js lietojumprogrammu funkcionalitāti, ir sagatavota liela moduļu kolekcija, kas ietver moduļus ar realizāciju serveriem un HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 klientiem, moduļiem integrēŔanai ar dažādiem tÄ«mekļa ietvariem, WebSocket un Ajax apstrādātājiem, datubāzu (MySQL, PostgreSQL, SQLite, MongoDB) savienotājiem, veidņu motorus, CSS dzinējus, kriptovalÅ«tu algoritmu realizācijas un autorizācijas sistēmas (OAuth), XML parsētājus.

Lai nodroÅ”inātu lielā skaita vienlaicÄ«gu pieprasÄ«jumu apstrādi, Node.js izmanto asynchrono koda palaiÅ”anas modeli, kas balstās uz notikumu apstrādi bez bloķēŔanas un callback-handler definēŔanu. Savienojumu multiplexēŔanai tiek atbalstÄ«ti tādi paņēmieni kā epoll, kqueue, /dev/poll un select. Savienojumu multiplexēŔanai tiek izmantota bibliotēka libuv, kas ir virs libev Unix sistēmās un IOCP Windows. Lai izveidotu pavedienu grupu (thread pool), tiek izmantota bibliotēka libeio, bet DNS pieprasÄ«jumu izpilde bez bloķēŔanas ir integrēta ar c-ares. Visi sistēmas izsaukumi, kas izraisa bloķēŔanu, tiek veikti pavedienu grupā, un, tāpat kā signālu apstrādātāji, tie atgriež rezultātu caur nenosaukto cauruli (pipe). JavaScript koda izpilde tiek nodroÅ”ināta, izmantojot Google izstrādātā V8 dzinēja iesaisti (papildus Microsoft attÄ«sta Node.js versiju ar Chakra-Core dzinēju).

Savā bÅ«tÄ«bā Node.js ir lÄ«dzÄ«gs Perl AnyEvent, Ruby Event Machine, Python Twisted un Tcl notikumu ievieÅ”anai, taču notikumu apstrādes cikls (event loop) Node.js ir slēpts no izstrādātāja un atgādina notikumu apstrādi web lietojumprogrammā, kas darbojas pārlÅ«kprogrammā. Izstrādājot lietojumprogrammas node.js, jāņem vērā notikumu orientētas programmēŔanas Ä«patnÄ«bas, piemēram, vietā, lai veiktu ā€žvar result = db.query(ā€žselect..ā€œ);ā€ ar gaidīŔanu rezultātu apstrādei, Node.js izmanto asinkronās izpildes principu, t.i., kodu pārveido ā€ždb.query(ā€žselect..ā€œ, function (result) {rezultāta apstrāde});ā€, kur kontrole nekavējoties pāries uz sekojoÅ”o kodu, un pieprasÄ«juma rezultāts tiks apstrādāts, kad dati tiks saņemti.

Avots: opennet.lv

Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster