Byl vydán Node.js 26.0.0, platforma pro provozování síťových aplikací v jazyce JavaScript. Node.js 26.0 je zařazen do větví s dlouhou podporou, avšak tento status bude přidělen až v říjnu po stabilizaci. Podpora Node.js 26.x bude zajišťována do května 2029. Údržba předchozí LTS větve Node.js 24.x bude probíhat do 30. dubna 2028, zatímco dřívější 22.x až do 30. dubna 2027. Údržba LTS větve 20.x byla ukončena 30. dubna 2026 a podpora přechodné větve Node.js 25.x skončí 1. června 2026.
Hlavní vylepšení:
- API Temporal je nyní ve výchozím nastavení zapnuto, nabízí alternativní soubor metod pro práci s daty a časem. API umožňuje manipulaci s daty s ohledem na časová pásma i bez nich, převod času, formátování výstupu a provádění aritmetických operací s časem. Čas může být zadáván v nezávislém na časovém pásmu formátu (Temporal.PlainDate, Temporal.PlainTime, Temporal.PlainDateTime), vázaném na časové pásmo (Temporal.ZonedDateTime) a v epochovém formátu (Temporal.Instant — počet nanosekund od 1. ledna 1970).
- Motor V8 byl aktualizován na verzi 14.6, používanou v Chromium 146. Mezi vylepšeními oproti předchozímu vydání Node.js je možnost spojit více iterátorů do jednoho pomocí metody Iterator.concat() a také implementace specifikace 'upsert' pro zjednodušení práce s kolekcemi pár klíč/hodnota v objektech JavaScriptu Map a WeakMap.
- HTTP klient undici byl aktualizován na větev 8.x.
- Byla odstraněna metoda http.Server.prototype.writeHeader(), místo ní je třeba použít http.Server.prototype.writeHead().
Platforma Node.js může být využita jak pro serverové zajištění chodu webových aplikací, tak pro vytváření obyčejných klientských a serverových síťových programů. Pro rozšíření funkcionality aplikací pro Node.js je k dispozici rozsáhlá sbírka modulů, ve které lze nalézt moduly s realizacemi servery a klientů HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, moduly pro integraci s různými webovými frameworky, zpracovatele WebSocket a Ajax, konektory k databázím (MySQL, PostgreSQL, SQLite, MongoDB), šablonovací enginy, CSS frameworky, implementace kryptografických algoritmů a systémů autorizace (OAuth), XML parsery.
Pro zpracování velkého množství paralelních požadavků využívá Node.js asynchronní model spouštění kódu, který je založen na zpracování událostí v neblokujícím režimu a určení callback zpracovatelů. Jako metody multiplexerování spojení jsou podporovány takové metody jako epoll, kqueue, /dev/poll a select. K multiplexerování spojení se používá knihovna libuv, která je nadstavbou nad libev v systémech Unix a nad IOCP ve Windows. Pro vytvoření vláknového poolu (thread pool) se využívá knihovna libeio, pro provádění DNS dotazů v neblokujícím režimu je integrován c-ares. Všechny systémové volání, která způsobují blokaci, jsou prováděna uvnitř vláknového poolu a poté, jakož i zpracovatelé signálů, předávají výsledky své práce zpět prostřednictvím anonymního kanálu (pipe).
Provozování JavaScriptového kódu je zajištěno prostřednictvím motoru V8, vyvinutého společností Google. V podstatě je Node.js podobný rámcům Perl AnyEvent, Ruby Event Machine, Python asyncio a implementaci událostí v Tcl, ale cyklus zpracování událostí (event loop) je pro vývojáře skryt a připomíná zpracování událostí ve webové aplikaci provozované v prohlížeči.
Zdroj: opennet.ru
