ËshtĂ« publikuar platforma Node.js 25.0.0

LĂ«shimi i Node.js 25.0.0, ĐżĐ»Đ°Ń‚Ń„ĐŸŃ€ĐŒĂ« pĂ«r ekzekutimin e aplikacioneve rrjetore nĂ« gjuhĂ«n JavaScript, ka ndodhur. Node.js 25.0 i pĂ«rket degĂ«ve ndĂ«rmjetĂ«se, mbĂ«shtetje pĂ«r tĂ« cilat do tĂ« ofrohet pĂ«r 7 muaj (deri nĂ« qershor 2026). NĂ« ditĂ«t nĂ« vazhdim do tĂ« pĂ«rfundojĂ« stabilizimi i degĂ«s Node.js 24, e cila nĂ« fund tĂ« tetorit do tĂ« marrĂ« statusin LTS dhe do tĂ« mbĂ«shtetet deri nĂ« prill 2028. MbĂ«shtetje pĂ«r degĂ«t e kaluara LTS tĂ« Node.js 22.x dhe 20.x do tĂ« vazhdojĂ« deri nĂ« prill 2027 dhe 2026 pĂ«rkatĂ«sisht.

Përmirësimet kryesore:

  • Motori V8 Ă«shtĂ« azhurnuar nĂ« versionin 14.1, i pĂ«rdorur nĂ« Chromium 141. Nga pĂ«rmirĂ«simet nĂ« krahasim me versionin e kaluar tĂ« Node.js Ă«shtĂ« vĂ«nĂ« re njĂ« rritje e konsiderueshme e performancĂ«s sĂ« metodĂ«s JSON.stringify, optimizimi i WebAssembly dhe JIT, realizimi i metodave pĂ«r konvertimin midis Uint8Array dhe tĂ« dhĂ«nave nĂ« formatin base64 ose pĂ«rfaqĂ«simin hexadeçimal.
  • NĂ« mekanizmin Permission Model, i cili lejon kufizimin e aksesit nĂ« burime tĂ« caktuara gjatĂ« ekzekutimit, Ă«shtĂ« shtuar opsioni «—allow-net» pĂ«r tĂ« siguruar aksesin rrjetor (nĂ«se opsioni «—allow-net» nuk Ă«shtĂ« specifikuar, ekzekutimi i Node.js nĂ« modalitetin «—permission» do tĂ« japĂ« njĂ« gabim ERR_ACCESS_DENIED gjatĂ« pĂ«rpjekjes pĂ«r tĂ« kryer operacione rrjetore).
  • Aktivizuar si parazgjedhje e pĂ«rputhshme me shfletuesit API Web Storage, e cila Ă«shtĂ« e destinuar pĂ«r ruajtjen e dhĂ«nave nĂ« formatin çelĂ«s/ushedhĂ« pĂ«r njĂ« kohĂ« tĂ« gjatĂ« (klasa localStorage) ose njĂ« kohĂ« tĂ« pĂ«rkohshme (klasa sessionStorage). Etiketa e zhvillimit eksperimental Ă«shtĂ« hequr nga API Web Storage.
  • Klas ErrorEvent Ă«shtĂ« pĂ«rfshirĂ« nĂ« kategorinĂ« e burimeve globale (mund tĂ« pĂ«rdoret pa import tĂ« dukshĂ«m), duke ofruar njĂ« ndĂ«rfaqe tĂ« pĂ«rputhshme me shfletuesit pĂ«r trajtimin e ngjarjeve me informacion rreth gabimeve.
  • PĂ«r WebAssembly Ă«shtĂ« pĂ«rfshirĂ« mbĂ«shtetje pĂ«r API JSPI (JavaScript Promise Integration), e cila lejon thirrjen e API-ve asinkrone Web nga kodi i ekzekutuar nĂ« mĂ«nyrĂ« tĂ« renditur, i kompiluar nĂ« WebAssembly.
  • Opsioni «NODE_COMPILE_CACHE_RELATIVE_PATH» Ă«shtĂ« shtuar pĂ«r funksionimin e pĂ«rshtatshĂ«m me cache tĂ« objekteve tĂ« kompiluar. NĂ« kĂ«tĂ« modalitet, hash-et pĂ«r identifikimin e objekteve llogariten duke pĂ«rdorur rrugĂ« relative ndaj skedarĂ«ve, duke lejuar qĂ« pĂ«rmbajtja e katalogut me kodin tĂ« zhvendoset dhe pĂ«rfshihet me cache.
  • ËshtĂ« shtuar mundĂ«sia pĂ«r profilizimin e ngarkesĂ«s sĂ« CPU.
  • Menaxheri i paketave NPM Ă«shtĂ« azhurnuar nĂ« versionin 11.6.2.
  • ÈshtĂ« shtuar mbĂ«shtetje pĂ«r Python 3.14.
  • Si versione minimale tĂ« mbĂ«shtetur janĂ« deklaruar Clang 19 dhe Xcode 16.4.
  • MbĂ«shtetje pĂ«r objektin SlowBuffer Ă«shtĂ« ndĂ«rprerĂ«, pasi u shpall e vjetruar pĂ«r shkak tĂ« problemeve tĂ« mundshme tĂ« sigurisĂ«. NĂ« vend tĂ« SlowBuffer, duhet tĂ« pĂ«rdoret metoda Buffer.allocUnsafeSlow().

Platforma Node.js mund të përdoret për mbështetje serverike të funksionimit të aplikacioneve Web, si dhe për krijimin e aplikacioneve të zakonshme klient-server. Për të zgjeruar funksionalitetin e aplikacioneve për Node.js, është përgatitur një koleksion i madh modulash, ku mund të gjenden module me implementime serverësh dhe klientë HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, module për integrimin me framework-e të ndryshme web, trajtues të WebSocket dhe Ajax, lidhës për DB (MySQL, PostgreSQL, SQLite, MongoDB), motorë të templativëve, engine CSS, implementime të algoritmeve kriptografikë dhe sisteme autorizimi (OAuth), parserë XML.

Për të trajtuar një numër të madh kërkesash paralel, Node.js përdor një model të asinkron të ekzekutimit të kodit, i bazuar në përpunimin e ngjarjeve në modalitetin jo-bllokues dhe përcaktimin e trajtuesve të kthimit (callback handlers). Metodat për multi-përçimin e lidhjeve përfshijnë epoll, kqueue, /dev/poll dhe select. Për multi-përçimin e lidhjeve përdoret libra libuv, e cila është një shtresë mbi libev në sistemet Unix dhe mbi IOCP në Windows. Për krijimin e një grupi threads (thread pool) përdoret biblioteka libeio, ndërsa për të kryer kërkesat DNS në modalitetin jo-bllokues integrohet c-ares. Të gjitha thirrjet sistemike që shkaktojnë bllokim kryhen brenda grupit të threads dhe pastaj, si dhe trajtuesit e sinjalit, kalojnë rezultatin e punës së tyre përsëri përmes një kanali të paemëruar (pipe).

Ekzekutimi i kodit JavaScript sigurohet përmes përdorimit të motorit V8 të zhvilluar nga kompania Google (për më tepër, Microsoft zhvillon një variant të Node.js me motorin Chakra-Core). Në thelb, Node.js është i ngjashëm me framework-et Perl AnyEvent, Ruby Event Machine, Python Twisted dhe implementimin e ngjarjeve në Tcl, por cikli i përpunimit të ngjarjeve (event loop) në Node.js është i fshehur nga zhvilluesi dhe i ngjan përpunimit të ngjarjeve në një aplikacion web që punon në shfletues.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster