A fost publicată platforma Node.js 25.0.0

A fost lansată versiunea Node.js 25.0.0, o platformă pentru executarea aplicațiilor web în JavaScript. Node.js 25.0 este considerat o ramură intermediară, care va fi întreținută timp de 7 luni (până în iunie 2026). În zilele următoare, va fi finalizată stabilizarea ramurii Node.js 24, care va primi statutul LTS la sfârșitul lunii octombrie și va fi întreținută până în aprilie 2028. Sprijinul pentru ramurile anterioare LTS Node.js 22.x și 20.x va dura până în aprilie 2027 și respectiv 2026.

Îmbunătățiri principale:

  • Motorul V8 a fost actualizat la versiunea 14.1, utilizată în Chromium 141. Printre îmbunătățirile față de versiunea anterioară a Node.js se remarcă o creștere semnificativă a performanței metodei JSON.stringify, optimizarea WebAssembly și JIT, precum și implementarea metodelor pentru conversia între Uint8Array și date în format base64 sau hexazecimal.
  • În mecanismul Permission Model, care permite restricționarea accesului la anumite resurse în timpul execuției, a fost adăugată opțiunea „—allow-net” pentru a permite accesul la rețea (dacă opțiunea „—allow-net” nu este specificată, rularea Node.js în modul „—permission” va genera o eroare ERR_ACCESS_DENIED la încercarea de a efectua operațiuni de rețea).
  • Activat implicit compatibil cu browserele API Web Storage, destinat stocării permanente (clasa localStorage) sau temporare (clasa sessionStorage) a datelor în format cheie/valoare. Eticheta de dezvoltare experimentală a fost eliminată de la API Web Storage.
  • Clasa ErrorEvent a fost mutată în categoria global disponibil (poate fi utilizată fără import explicit), oferind o interfață compatibilă cu browserele pentru gestionarea evenimentelor cu informații despre erori.
  • Pentru WebAssembly a fost inclus suportul pentru API JSPI (JavaScript Promise Integration), care permite accesul la API-uri Web asincrone din codul executat secvențial, compilat în WebAssembly.
  • A fost adăugată opțiunea „NODE_COMPILE_CACHE_RELATIVE_PATH” pentru a facilita lucrul portabil cu cache-ul obiectelor compilate. În acest mod, hash-urile pentru identificarea obiectelor sunt calculate folosind căi relative către fișiere, ceea ce permite mutarea și încorporarea conținutului directorului cu codul împreună cu cache-ul.
  • A fost adăugată posibilitatea de a profila încărcătura CPU.
  • Managerul de pachete NPM a fost actualizat la versiunea 11.6.2.
  • A fost adăugat suport pentru Python 3.14.
  • Versiunile minime acceptate sunt anunțate ca fiind Clang 19 și Xcode 16.4.
  • Suportul pentru obiectul SlowBuffer a fost întrerupt, fiind declarat obsoleto din cauza unor potențiale probleme de securitate. În loc de SlowBuffer, se recomandă utilizarea metodei Buffer.allocUnsafeSlow().

Platforma Node.js poate fi utilizată atât pentru suportul serverului în funcționarea aplicațiilor web, cât și pentru crearea de aplicații client și server de rețea obișnuite. Pentru a extinde funcționalitatea aplicațiilor pentru Node.js a fost pregătită o mare colecție de module, în care se pot găsi module cu implementări servere și clienți HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, module pentru integrarea cu diverse framework-uri web, manejere WebSocket și Ajax, convertoare pentru baze de date (MySQL, PostgreSQL, SQLite, MongoDB), generatoare de șabloane, motoare CSS, implementări de algoritmi criptografici și sisteme de autorizare (OAuth), parsere XML.

Pentru a gestiona un număr mare de cereri paralele, Node.js utilizează un model de execuție asincron, bazat pe procesarea evenimentelor în mod non-blocant și pe definirea handler-elor callback. Printre metodele de multiplexare a conexiunilor se numără epoll, kqueue, /dev/poll și select. Pentru multiplexarea conexiunilor, se utilizează biblioteca libuv, care este un wrapper peste libev în sistemele Unix și peste IOCP în Windows. Crearea unui pool de thread-uri (thread pool) se realizează cu ajutorul bibliotecii libeio, iar pentru efectuarea cererilor DNS în mod non-blocant, este integrată c-ares. Toate apelurile de sistem care determină blocarea sunt efectuate în interiorul pool-ului de thread-uri și, la fel ca și handler-ele de semnale, transmit rezultatul muncii lor printr-un canal anonim (pipe).

Executarea codului JavaScript este asigurată prin utilizarea motorului V8 dezvoltat de Google (în plus, Microsoft dezvoltă o variantă a Node.js cu motorul Chakra-Core). În esență, Node.js este similar cu framework-urile Perl AnyEvent, Ruby Event Machine, Python Twisted și implementarea evenimentelor în Tcl, dar loop-ul de procesare a evenimentelor în Node.js este ascuns de dezvoltator și se aseamănă cu procesarea evenimentelor într-o aplicație web care rulează în browser.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster