Notika Node.js 26.0.0 izlaidi, platforma tÄ«mekļa lietojumprogrammu izpildei JavaScript valodÄ. Node.js 26.0 tiek klasificÄts kÄ ilgas atbalsta filiÄle, taÄu Å”is statuss tiks pieŔķirts tikai oktobrÄ«, pÄc stabilizÄcijas procesa. Atbalsts Node.js 26.x tiks nodroÅ”inÄts lÄ«dz 2029. gada maijam. IepriekÅ”ÄjÄs LTS filiÄles Node.js 24.x atbalsts tiks nodroÅ”inÄts lÄ«dz 2028. gada 30. aprÄ«lim, bet pirms tam 22.x - lÄ«dz 2027. gada 30. aprÄ«lim. LTS filiÄles 20.x atbalsts tika pÄrtraukts 2026. gada 30. aprÄ«lÄ«, bet starpfiliÄles Node.js 25.x tiks pÄrtraukts 2026. gada 1. jÅ«nijÄ.
GalvenÄs uzlabojumi:
- PÄc noklusÄjuma ir iekļauts API Temporal, kas piedÄvÄ alternatÄ«vu metožu kopumu datumu un laika apstrÄdei. API ļauj manipulÄt ar datumiem, Åemot vÄrÄ un neÅemot vÄrÄ laika joslas, konvertÄt laiku, formatÄt iznÄkumu un veikt aritmÄtiskas operÄcijas ar laiku. Laiks var tikt definÄts neatkarÄ«gÄ no laika zonas attÄlojumÄ (Temporal.PlainDate, Temporal.PlainTime, Temporal.PlainDateTime), saistÄ«bÄ ar laika zonu (Temporal.ZonedDateTime) un epohÄlo attÄlojumÄ (Temporal.Instant ā nanosekundes skaits kopÅ” 1970. gada 1. janvÄra).
- V8 dzinÄjs ir atjauninÄts uz 14.6 versiju, kas tiek izmantota Chromium 146. SalÄ«dzinÄjumÄ ar iepriekÅ”Äjo Node.js izlaiÅ”anu izceļams uzlabojums, kas ļauj apvienot vairÄkus iteratorus vienÄ ar metodi Iterator.concat(), kÄ arÄ« specifikÄcijas "upsert" Ä«stenoÅ”ana, lai atvieglotu darbu ar atslÄgu/vÄrtÄ«bu kolekcijÄm JavaScript objektiem Map un WeakMap.
- HTTP klients undici ir atjauninÄts uz 8.x filiÄli.
- Tika noÅemta metode http.Server.prototype.writeHeader(), kuras vietÄ jÄizmanto http.Server.prototype.writeHead().
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 apstrÄdÄtu lielu skaitu vienlaicÄ«gu pieprasÄ«jumu, Node.js izmanto asinhrono koda izpildes modeli, balstoties uz notikumu apstrÄdi bez bloÄ·ÄÅ”anas un callback apstrÄdÄtÄju definÄÅ”anu. Savienojumu multiplikÄcijai tiek atbalstÄ«ti tÄdi paÅÄmieni kÄ epoll, kqueue, /dev/poll un select. Savienojumu multiplikÄcijai tiek izmantota libuv bibliotÄka, kas ir virs libev sistÄmÄm Unix un IOCP Windows. Thread pool (vÄ«tolietotÄju baseins) tiek izveidots, izmantojot libeio bibliotÄku, savukÄrt DNS pieprasÄ«jumu veikÅ”anai bez bloÄ·ÄÅ”anas ir integrÄta c-ares. Visas sistÄmas izsaukums, kas izraisa bloÄ·ÄÅ”anu, tiek veikti iekÅ” mpulÄ un pÄc tam, tÄpat kÄ signÄlu apstrÄdÄtÄji, pÄrsÅ«ta rezultÄtu atpakaļ, izmantojot nenosaukto kanÄlu (pipe).
JavaScript koda izpildīŔana tiek nodroÅ”inÄta, izmantojot Google izstrÄdÄto V8 dzinÄju. PatiesÄ«bÄ Node.js ir lÄ«dzÄ«gs Perl AnyEvent, Ruby Event Machine, Python asyncio un notikumu realizÄcijai Tcl, taÄu notikumu apstrÄdes cilpa (event loop) Node.js ir slÄpta no izstrÄdÄtÄja un atgÄdina notikumu apstrÄdi tÄ«mekļa lietojumprogrammÄ, kas darbojas pÄrlÅ«kprogrammÄ.
Avots: opennet.lv
