Bol spustený Node.js 26.0.0, platforma na vykonávanie sieťových aplikácií v jazyku JavaScript. Node.js 26.0 je klasifikovaný ako verzia s dlhodobou podporou, avšak tento status bude pridelený až v októbri, po stabilizácii. Podpora Node.js 26.x bude pokračovať do mája 2029. Podpora predchádzajúcej LTS verzie Node.js 24.x bude pokračovať do 30. apríla 2028, a verzie 22.x do 30. apríla 2027. Podpora LTS verzie 20.x bola ukončená 30. apríla 2026, a podpora pre prechodnú verziu Node.js 25.x skončí 1. júna 2026.
Hlavné vylepšenia:
- API Temporal je teraz predvolene zapnuté a ponúka alternatívnu sadu metód na prácu s dátumami a časom. API umožňuje manipuláciu s dátumami s ohľadom na časové pásma aj bez nich, konverziu času, formátovanie výstupu a vykonávanie aritmetických operácií s časom. Čas môže byť zadaný v nezávislej podobe od časového pásma (Temporal.PlainDate, Temporal.PlainTime, Temporal.PlainDateTime), viazanej na časové pásmo (Temporal.ZonedDateTime) a v epochálnej podobe (Temporal.Instant — počet nanosekúnd od 1. januára 1970).
- Motor V8 bol aktualizovaný na verziu 14.6, používanú v Chromium 146. Medzi vylepšeniami oproti predchádzajúcej verzii Node.js je možnosť zlučovať niekoľko iterátorov do jedného pomocou metódy Iterator.concat(), ako aj implementácia špecifikácie „upsert“ na zjednodušenie práce s kolekciami párov kľúč/hodnota v objektoch JavaScript Map a WeakMap.
- HTTP klient undici bol aktualizovaný na vetvu 8.x.
- Metóda http.Server.prototype.writeHeader() bola odstránená, namiesto nej by ste mali používať http.Server.prototype.writeHead().
Platforma Node.js môže byť použitá na serverovú podporu webových aplikácií, ako aj na vytváranie klasických klientských a serverových sieťových programov. Pre rozšírenie funkčnosti aplikácií pre Node.js bola pripravená veľká kolekcia modulov, v ktorej nájdete moduly s realizáciou. serverov a klientov HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, moduly na integráciu s rôznymi webovými rámcami, spracovateľov WebSocket a Ajax, konektorov k DBMS (MySQL, PostgreSQL, SQLite, MongoDB), šablónovačov, CSS enginov, implementácií kryptografických algoritmov a systémov autorizácie (OAuth), XML parserov.
Na spracovanie veľkého množstva paralelných požiadaviek využíva Node.js asynchrónny model spúšťania kódu, založený na spracovaní udalostí v neblokujúcom režime a určení callback spracovateľov. Pre multiplexovanie pripojení sú podporované metódy ako epoll, kqueue, /dev/poll a select. Na multiplexovanie pripojení sa využíva knižnica libuv, ktorá je nadstavbou nad libev v systémoch Unix a nad IOCP vo Windows. Na vytvorenie poolu vlákien sa využíva knižnica libeio, na vykonávanie DNS požiadaviek v neblokujúcom režime je integrovaný c-ares. Všetky systémové volania, ktoré spôsobujú blokovanie, sa vykonávajú vo vnútri poolu vlákien a následne, rovnako ako spracovatelia signálov, posielajú výsledok svojej práce späť cez anonymný kanál (pipe).
Vykonávanie JavaScriptového kódu je zabezpečené prostredníctvom použitia motora V8 vyvinutého spoločnosťou Google. Node.js je v podstate podobný rámcom Perl AnyEvent, Ruby Event Machine, Python asyncio a implementácii udalostí v Tcl, no cyklus spracovania udalostí (event loop) v Node.js je skrytý pred vývojárom a pripomína spracovanie udalostí vo webovej aplikácii bežiacej v prehliadači.
Zdroj: opennet.ru
