Megjelent a Node.js 24.0.0 platforma

Kiadásra került a Node.js 24.0.0, a JavaScript nyelven írt hálózati alkalmazások végrehajtására szolgáló platform. A Node.js 24.0 a hosszú távú támogatás (LTS) ágak közé kerül, azonban ezt a státuszt csak októberben kapja meg, miután a stabilizálás befejeződik. A Node.js 24.x támogatása 2028. április 30-ig terjed. A korábbi LTS ág, a Node.js 22.x támogatása 2027 áprilisáig, míg a Node.js 20.x ág támogatása 2026 áprilisáig tart. A 18.x LTS ág támogatása 2025. április 30-án megszűnik, a 23.x köztes ág támogatása pedig 2025. június 1-jén ér véget.

Főbb fejlesztések:

  • Az AsyncLocalStorage API alapértelmezetten aktiválja az AsyncContextFrame osztályt, amely már stabilnak van jelölve. Az AsyncContextFrame hatékonyabb aszinkron kontextuskövetési mechanizmust valósít meg, amely jelentősen növeli a teljesítményt.
  • Az URLPattern API mostantól globális objektumként elérhető, amely kifejezett importálás nélkül is használható. Az URLPattern lehetővé teszi URL-ek mintázathoz való illeszkedésének ellenőrzését, amely például a linkek elemzésénél alkalmazható.
  • Fejlődött és stabilizálódott a Permission Model mechanizmusa, amely lehetővé teszi a hozzáférés korlátozását bizonyos erőforrásokhoz a végrehajtás során (például korlátozhatja a gyermekprocesszek létrehozását, írási vagy olvasási hozzáférést egyes fájlrendszer-területekhez, valamint a kiegészítők letiltását). Az Permission Model engedélyezéséhez most már a "--permission" zászló használható az egykori "--experimental-permission" zászló helyett.
  • Kibővítették a node:test (test_runner) modul lehetőségeit, amely a JavaScript nyelven írt tesztek létrehozására és futtatására szolgál, amelyek a TAP (Test Anything Protocol) formátumban adják vissza az eredményt. A modul most automatikusan várja a beágyazott tesztek befejezését az await használata nélkül.
  • Az undici HTTP-ügyfél frissítve lett a 7.x ágra, amely fokozza a teljesítményt és új HTTP-jellemzők támogatását vezeti be.
  • A V8 motor frissítve lett a 13.6 verzióra, amely a Chromium 136-ban van alkalmazva. Az új lehetőségek közül megemlítendő a Float16Array típussal rendelkező tömbök támogatása, az erőforrások manuális kezelése, a RegExp.escape metódus (sztringek escape-elése RegExp esetén), a 64 bites mutatók (Memory64) a WebAssembly-ben, valamint az Error.isError metódus.
  • A NPM csomagkezelő frissítve lett a 11-es verzióra.
  • A támogatás az MSVC fordítóhoz megszűnt. Windows platformon a ClangCL használata szükséges a fordításhoz.

A Node.js platform szerver oldali webalkalmazások működtetésére, valamint hagyományos kliens és szerver hálózati programok készítésére használható. A Node.js alkalmazások funkcionalitásának bővítése érdekében egy nagy modulgyűjtemény készült, amely tartalmaz különböző megvalósítású modulokat. szerverek és HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 klienseket, valamint modulokat különböző webkeretrendszerek integrálásához, WebSocket és Ajax kezelőket, az adatbázisokhoz (MySQL, PostgreSQL, SQLite, MongoDB) való kapcsolódásokat, sablongenerátorokat, CSS-motorokat, kriptográfiai algoritmusok és hitelesítési rendszerek (OAuth) megvalósításait, XML-parsereket.

A Node.js aszinkron kódvégrehajtási modellt alkalmaz a nagyszámú párhuzamos kérés feldolgozására, eseményalapú, nem blokkoló üzemmódban és callback-kezelők definiálásával. A kapcsolatok multiplexelésére támogatott módszerek közé tartozik az epoll, kqueue, /dev/poll és select. A kapcsolat multiplexelésére a libuv könyvtárat használják, amely a Unix rendszerekben a libev-re, míg Windows alatt az IOCP-ra épül. A szálak pooljának létrehozásához a libeio könyvtárat veszik igénybe, míg a DNS-kérelmek nem blokkoló végrehajtásához integrálva van a c-ares. Minden blokkoló rendszerhívás a szálak poolján belül történik, és az eredményt, akárcsak a jelkezelők, egy névtelen csövön keresztül továbbítják.

A JavaScript-kód végrehajtása a Google által fejlesztett V8 motor aktiválásával valósul meg (továbbá a Microsoft is fejleszti a Node.js alternatíváját a Chakra-Core motorral). A Node.js alapvetően hasonlít a Perl AnyEvent, Ruby Event Machine, Python Twisted és a Tcl eseménykezelésének megvalósítására, azonban a Node.js eseményfeldolgozó ciklusa el van rejtve a fejlesztő elől, és hasonlít a webalkalmazásban, böngészőben zajló eseménykezelésre.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster