Byla vydána platforma Node.js 24.0.0

Byl vydán Node.js 24.0.0, platforma pro běh síťových aplikací v jazyce JavaScript. Node.js 24.0 je zařazen mezi verze s dlouhou podporou, ale tento status bude přidělen až v říjnu po stabilizaci. Podpora Node.js 24.x bude zajišťována do 30. dubna 2028. Podpora předchozí LTS verze Node.js 22.x potrvá do dubna 2027, a předchozí LTS verze 20.x do dubna 2026. Podpora LTS verze 18.x byla ukončena 30. dubna 2025, zatímco podpora mezičasu Node.js 23.x bude ukončena 1. června 2025.

Hlavní vylepšení:

  • V API AsyncLocalStorage je ve výchozím nastavení použit třída AsyncContextFrame, která je označena jako stabilní. AsyncContextFrame implementuje efektivnější mechanismus sledování asynchronního kontextu, což výrazně zvyšuje výkon.
  • API URLPattern je nyní k dispozici jako globální objekt, který lze používat bez explicitního importování. URLPattern nabízí možnosti pro kontrolu shody URL s určitou šablonou, což může být užitečné například pro analýzu odkazů.
  • Byl vylepšen a stabilizován mechanismus Permission Model, který umožňuje omezit přístup k určitým prostředkům během vykonávání (například je možné zakázat vytváření podřízených procesů, omezit přístup pro zápis nebo čtení k určitém částem souborového systému, nebo deaktivovat rozšíření). Místo experimentálního příznaku „—experimental-permission“ pro aktivaci Permission Model nyní můžete použít příznak „—permission“.
  • Funkce modulu node:test (test_runner) byla rozšířena, určeného pro vytváření a spouštění testů v jazyce JavaScript, které vracejí výsledky ve formátu TAP (Test Anything Protocol). Modul nyní automaticky čeká na dokončení vnořených testů bez nutnosti použití await.
  • HTTP klient undici byl aktualizován na verzi 7.x, která zvyšuje výkon a přidává podporu novým funkcím HTTP.
  • Motor V8 byl aktualizován na verzi 13.6, používanou v Chromiu 136. Z nových funkcí ve srovnání s předchozí verzí Node.js je třeba zmínit podporu typovaných polí Float16Array, ruční správy prostředků, metody RegExp.escape (escape string pro RegExp), 64-bitových ukazatelů (Memory64) ve WebAssembly, a metody Error.isError.
  • Správce balíčků NPM byl aktualizován na verzi 11.
  • Podpora překladače MSVC byla ukončena. Pro kompilaci na platformě Windows je třeba použít ClangCL.

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).

Provádění JavaScriptového kódu je zajištěno prostřednictvím využití motoru V8 vyvinutého společností Google (dodatečně Microsoft vyvíjí variantu Node.js s motorem Chakra-Core). V podstatě je Node.js podobný rámcům Perl AnyEvent, Ruby Event Machine, Python Twisted a implementaci událostí v Tcl, ale cyklus zpracování událostí (event loop) v Node.js je skrytý před vývojářem a připomíná zpracování událostí ve webové aplikaci běžící v prohlížeči.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster