Lansohet Node.js 26.0.0, platforma për ekzekutimin e aplikacioneve të rrjetit në gjuhën JavaScript. Node.js 26.0 është renditur në degët me mbështetje afatgjatë, por ky status do t'i jepet vetëm në tetor, pas stabilizimit. Mbështetja për Node.js 26.x do të vazhdojë deri në maj 2029. Mbështetja për degën e kaluar LTS Node.js 24.x do të vazhdojë deri më 30 prill 2028, ndërsa për 22.x deri më 30 prill 2027. Mbështetja për degën LTS 20.x u ndërpre më 30 prill 2026, ndërsa për degën ndërmjetare Node.js 25.x do të ndërpritet më 1 qershor 2026.
Përmirësime kryesore:
- API Temporal Ă«shtĂ« aktivizuar si parazgjedhje, duke ofruar njĂ« set alternativ metodash pĂ«r punĂ«n me datat dhe kohĂ«n. API lejon manipulimin e datave me dhe pa marrĂ« parasysh zonat kohore, konvertimin e kohĂ«s, formatimin e daljes dhe kryerjen e operacioneve aritmetike me kohĂ«n. Koha mund tĂ« pĂ«rshkruhet nĂ« njĂ« paraqitje tĂ« pavarur nga zona kohore (Temporal.PlainDate, Temporal.PlainTime, Temporal.PlainDateTime), me lidhje nĂ« zonĂ«n kohore (Temporal.ZonedDateTime) dhe nĂ« paraqitje epokale (Temporal.Instant â numri i nanosekondave qĂ« nga 1 janari 1970).
- Motorri V8 është përditësuar në versionin 14.6, që përdoret në Chromium 146. Nga përmirësimet në krahasim me lëshimin e kaluar të Node.js, vihet në dukje mundësia për të bashkuar disa iteratorë në një të vetëm me metodën Iterator.concat(), si dhe realizimi i specifikimit 'upsert' për ta bërë më të thjeshtë punën me koleksionet e çifteve çelës/vlerë në objektet JavaScript Map dhe WeakMap.
- Klienti HTTP undici është përditësuar në degën 8.x.
- Metoda http.Server.prototype.writeHeader() është hequr, për të cilën duhet të përdoret http.Server.prototype.writeHead().
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 angazhimit të motorit V8 të zhvilluar nga kompania Google. Në thelb, Node.js është i ngjashëm me kornizat Perl AnyEvent, Ruby Event Machine, Python asyncio 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ë funksionon në shfletues.
Burimi: opennet.ru
