Objavljena platforma Node.js 24.0.0

Objavljen je Node.js 24.0.0, platforma za izvođenje mrežnih aplikacija napisanim u JavaScriptu. Node.js 24.0 je svrstana u grane s dugoročnom podrškom, ali će ovaj status biti dodijeljen tek u listopadu, nakon stabilizacije. Podrška za Node.js 24.x trajat će do 30. travnja 2028. godine. Održavanje prethodne LTS-grane Node.js 22.x trajat će do travnja 2027. godine, a pretprošle LTS-grane 20.x do travnja 2026. godine. Održavanje LTS-grane 18.x prestalo je 30. travnja 2025. godine, a održavanje prelazne grane Node.js 23.x prestat će 1. lipnja 2025. godine.

Glavna poboljšanja:

  • U API-ju AsyncLocalStorage po defaultu je angažirana klasa AsyncContextFrame, koja je označena kao stabilna. AsyncContextFrame implementira učinkovitiji mehanizam praćenja asinkronog konteksta, koji značajno poboljšava performanse.
  • API URLPattern sada je dostupan kao globalni objekt koji se može koristiti bez eksplicitnog uvoza. URLPattern pruža mogućnosti provjere usklađenosti URL-a s određenim obrascem, što se, na primjer, može primijeniti za analiziranje poveznica.
  • Poboljšan i stabiliziran je mehanizam Permission Model, koji omogućava ograničavanje pristupa određenim resursima tijekom izvršavanja (na primjer, može se zabraniti stvaranje podprocesa, ograničiti pristup za pisanje ili čitanje određenih dijelova FS-a, onemogućiti dodatke). Umjesto eksperimentalne oznake „—experimental-permission“ za uključivanje Permission Modela, sada se može koristiti oznaka „—permission“.
  • Proširene su mogućnosti modula node:test (test_runner), namijenjenog stvaranju i pokretanju testova u JavaScriptu, koji vraćaju rezultat u TAP (Test Anything Protocol) formatu. Modul sada automatski čeka završetak ugniježdenih testova bez potrebe za korištenjem await.
  • HTTP-klijent undici ažuriran je na granu 7.x, u kojoj je poboljšana izvedba i dodana podrška za nove HTTP mogućnosti.
  • Motor V8 ažuriran je na verziju 13.6, koja se koristi u Chromium 136. Od novih mogućnosti u odnosu na prošlo izdanje Node.js ističe se podrška za tipizirane nizove Float16Array, ručno upravljanje resursima, metoda RegExp.escape (escape za RegExp), 64-bitne pokazivače (Memory64) u WebAssembly, metoda Error.isError.
  • Upravljač paketima NPM ažuriran je na verziju 11.
  • Podrška za MSVC prevoditelj je prekinuta. Za prevođenje na Windows platformi potrebno je koristiti ClangCL.

Platforma Node.js može se koristiti kako za poslužiteljsko održavanje web aplikacija, tako i za izradu uobičajenih klijentskih i poslužiteljskih mrežnih programa. Za proširenje funkcionalnosti aplikacija za Node.js pripremljena je velika kolekcija modula, u kojoj se mogu pronaći moduli s implementacijama poslužitelja i klijenata HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, moduli za integraciju s raznim web okvirima, obrada WebSocket i Ajax, konektori za baze podataka (MySQL, PostgreSQL, SQLite, MongoDB), predlošci, CSS motori, implementacije kriptoalgoritama i sustava autentifikacije (OAuth), XML parseri.

Za obradu velikog broja paralelnih zahtjeva, Node.js koristi asinkroni model pokretanja koda, temeljen na obradi događaja u neblokirajućem režimu i definiranim callback-obradnicima. Kao metode multiplexiranja veza podržani su epoll, kqueue, /dev/poll i select. Za multiplexiranje veza koristi se knjižnica libuv, koja je nadogradnja na libev u Unix sustavima i IOCP u Windowsu. Za stvaranje skupa niti (thread pool) koristi se knjižnica libeio, dok je za izvršavanje DNS-zahtjeva u neblokirajućem režimu integrirana c-ares. Sve sistemske pozive koji izazivaju blokiranje izvršavaju unutar skupa niti, a zatim, baš kao i obrada signala, rezultat svog rada vraćaju kroz nenazvanu cijev (pipe).

Izvršavanje JavaScript koda osigurano je korištenjem V8 motora koji je razvila tvrtka Google (uz to, Microsoft razvija varijantu Node.js s motorom Chakra-Core). Suštinski, Node.js je sličan Perl AnyEvent, Ruby Event Machine, Python Twisted okvirima i implementaciji događaja u Tcl-u, ali je ciklus obrade događaja (event loop) u Node.js skriven od programera i podsjeća na obradu događaja u web-aplikaciji koja radi u pregledniku.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster