Node.js 26.0.0, platforma pro spouštění síťových aplikací v JavaScriptu, byla vydána. Node.js 26.0 je označena jako větev s dlouhodobou podporou, ale tento status jí bude přidělen až v říjnu, po stabilizaci. Node.js 26.x bude podporována do května 2029. Node.js 24.x, předchozí větev LTS, bude podporována do 30. dubna 2028 a 22.x, předchozí větev LTS, bude podporována do 30. dubna 2027. Údržba větve 20.x LTS skončila 30. dubna 2026 a přechodná větev Node.js 25.x skončí 1. června 2026.
Hlavní vylepšení:
- Rozhraní Temporal API je ve výchozím nastavení povoleno a nabízí alternativní sadu metod pro práci s daty a časy. Toto rozhraní API umožňuje manipulovat s daty s ohledem na časová pásma i bez ohledu na ně, převádět časy, formátovat výstup a provádět aritmetické operace s časem. Čas lze zadat v reprezentaci nezávislé na časovém pásmu (Temporal.PlainDate, Temporal.PlainTime, Temporal.PlainDateTime), s odkazem na časové pásmo (Temporal.ZonedDateTime) a v epochální reprezentaci (Temporal.Instant - počet nanosekund od 1. ledna 1970).
- Engine V8 byl aktualizován na verzi 14.6, která se používá v Chromiu 146. Mezi vylepšení oproti předchozí verzi Node.js patří možnost kombinovat 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 JavaScript Map a WeakMap.
- HTTP klient undici byl aktualizován na verzi 8.x.
- Metoda http.Server.prototype.writeHeader() byla odstraněna; místo ní by měla být použita metoda http.Server.prototype.writeHead().
Platformu Node.js lze použít jak pro podporu webových aplikací na straně serveru, tak pro tvorbu standardních síťových programů na straně klienta a serveru. Pro rozšíření funkcionality aplikací Node.js byla připravena rozsáhlá kolekce modulů, včetně těch, které implementují servery a klienty HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, moduly pro integraci s různými webovými frameworky, obslužné rutiny WebSocket a Ajax, konektory k DBMS (MySQL, PostgreSQL, SQLite, MongoDB), šablonovací enginy, CSS enginy, implementace kryptografických algoritmů a autorizačních systémů (OAuth), XML parsery.
Pro zpracování velkého počtu souběžných požadavků používá Node.js asynchronní model spouštění kódu založený na zpracování neblokujících událostí a obslužných rutinách zpětných volání. Mezi podporované metody multiplexování připojení patří epoll, kqueue, /dev/poll a select. Multiplexování připojení používá knihovnu libuv, která je nadstavbou libev na unixových systémech a IOCP na... WindowsKnihovna libeio se používá k vytvoření poolu vláken a c-ares je integrován pro provádění DNS dotazů v neblokujícím režimu. Všechna blokující systémová volání se provádějí v rámci poolu vláken a poté, stejně jako obslužné rutiny signálů, vracejí své výsledky prostřednictvím nepojmenovaného kanálu.
Spouštění kódu v JavaScriptu je zajištěno pomocí enginu V8 od Googlu. Node.js je v zásadě podobný frameworku AnyEvent v Perlu, Event Machine v Ruby, frameworku asyncio v Pythonu a implementaci událostí v Tcl. Smyčka událostí v Node.js je však před vývojářem skrytá a připomíná zpracování událostí ve webové aplikaci běžící v prohlížeči.
Zdroj: opennet.ru
