Objavljena je platforma Node.js 25.0.0

Izšla je različica Node.js 25.0.0, platforme za izvajanje mrežnih aplikacij v JavaScriptu. Node.js 25.0 je uvrščen v prehodne veje, katerih podpora poteka 7 mesecev (do junija 2026). V naslednjih dneh bo zaključena stabilizacija veje Node.js 24, ki bo konec oktobra pridobila status LTS in se bo podpirala do aprila 2028. Podpora prejšnjih LTS-veja Node.js 22.x in 20.x bo trajala do aprila 2027 oziroma 2026.

Glavne izboljšave:

  • Motor V8 je posodobljen na različico 14.1, kar se uporablja v Chromium 141. Med izboljšavami v primerjavi s prejšnjo različico Node.js je opazno znatno povečanje zmogljivosti metode JSON.stringify, optimizacija WebAssembly in JIT ter izvedba metod za pretvorbo med Uint8Array in podatki v formatu base64 ali v šestnajstiškem prikazu.
  • V mehanizem Permission Model, ki omogoča omejitev dostopa do določenih virov med izvajanjem, je dodana možnost „—allow-net“ za zagotavljanje omrežnega dostopa (če izbira „—allow-net“ ni navedena, bo zagon Node.js v načinu „—permission“ izpisal napako ERR_ACCESS_DENIED pri poskusu izvajanja omrežnih operacij).
  • Privzeto vključeno združljivo z brskalniki API Web Storage, namenjen trajnemu (razred localStorage) ali začasnemu (razred sessionStorage) shranjevanju podatkov v formatu ključ/vrednost. Oznaka eksperimentalnega razvoja z API Web Storage je odstranjena.
  • Razred ErrorEvent je bil uvrščen med globalno dostopne (možno ga je uporabljati brez izrecnega uvoza) in nudi združljiv brskalniški vmesnik za obravnavo dogodkov z informacijami o napakah.
  • Za WebAssembly je bila vključena podpora za API JSPI (JavaScript Promise Integration), ki omogoča dostop do asinhronih spletnih API-jev iz zaporedno izvršenega kode, skompilirane v WebAssembly.
  • Dodana je možnost „NODE_COMPILE_CACHE_RELATIVE_PATH“ za prenosno delo z denarnico skompiliranih objektov. V tem načinu se hash za identifikacijo objektov izračunava z uporabo relativnih poti do datotek, kar omogoča prenos in vgradnjo vsebine imenika s kodo skupaj z denarnico.
  • Dodana je možnost profiliranja obremenitve CPU.
  • Upravitelj paketov NPM je posodobljen na različico 11.6.2.
  • Dodana je podpora za Python 3.14.
  • Kot minimalno podprtih različic so navedeni Clang 19 in Xcode 16.4.
  • Podpora objekta SlowBuffer je prekinjena, ker je bil prej razglašen za zastarelo zaradi morebitnih težav z varnostjo. Namesto SlowBuffer je treba uporabiti metodo Buffer.allocUnsafeSlow().

Platforma Node.js se lahko uporablja tako za strežniško spremljanje delovanja spletnih aplikacij kot tudi za ustvarjanje običajnih odjemalskih in strežniških omrežnih programov. Za razširitev funkcionalnosti aplikacij za Node.js je pripravljena obsežna zbirka modulov, v kateri lahko najdete module z implementacijo. strežnikov i HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 klijenata, module za integraciju sa raznim web okvirima, WebSocket i Ajax obradi, konektore za baze podataka (MySQL, PostgreSQL, SQLite, MongoDB), predloške, CSS motore, implementacije kriptoalgoritama i sistema autorizacije (OAuth), XML parsera.

Za obdelavo velikega števila paralelnih zahtev Node.js uporablja asinhronski model izvajanja kode, ki temelji na obdelavi dogodkov v neblokirnem načinu in določanju callback obdelovalcev. Kot načini multiplexiranja povezav so podprti takšni metodi, kot sta epoll, kqueue, /dev/poll in select. Za multiplexiranje povezav se uporablja knjižnica libuv, ki je nadgradnja nad libev v sistemih Unix in nad IOCP v Windows. Za ustvarjanje skladišča nit (thread pool) se uporablja knjižnica libeio, za izvajanje DNS-poizvedb v neblokirnem načinu pa je integriran c-ares. Vsi sistemski klici, ki povzročajo blokado, se izvajajo znotraj skladišča nit in nato, tako kot obdelovalci signalov, vračajo rezultat svojega dela nazaj preko neimenovanega kanala (pipe).

Izvajanje JavaScript kode je omogočeno z vključitvijo motorja V8, ki ga je razvila družba Google (poleg tega Microsoft razvija različico Node.js z motorjem Chakra-Core). Node.js v bistvu spominja na okvire Perl AnyEvent, Ruby Event Machine, Python Twisted in implementacijo dogodkov v Tcl, vendar je dogodek obravnavan v Node.js skrit pred razvijalcem in spominja na obravnavo dogodkov v spletnem aplikaciji, ki deluje v brskalniku.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster