Platforma servere JavaScript Node.js 19.0 është e disponueshme

Të shtunën u publikua Node.js 19.0, platforma për ekzekutimin e aplikacioneve rrjetërore në gjuhën JavaScript. Node.js 19 i përket një dege me mbështetje të zakonshme, me azhurnime që do të publikohen deri në qershor 2023. Në ditët në vazhdim do të përfundojë stabilizimi i degës Node.js 18, e cila do të marrë statusin LTS dhe do të mbështetet deri në prill 2025. Mbështetje për degën e mëparshme LTS Node.js 16.0 do të vazhdojë deri në shtator 2023, ndërsa për degën e mëparshme LTS 14.0 deri në prill 2023.

Përmirësimet kryesore:

  • Moti i motorit V8 Ă«shtĂ« azhurnuar nĂ« versionin 10.7, e pĂ«rdorur nĂ« Chromium 107. Ndryshimet nĂ« motor nĂ« krahasim me degĂ«n Node.js 18 pĂ«rfshijnĂ« implementimin e versionit tĂ« tretĂ« tĂ« API Intl.NumberFormat, ku janĂ« shtuar funksione tĂ« reja formatRange(), formatRangeToParts() dhe selectRange(), grupimi i seteve, mundĂ«si tĂ« reja pĂ«r pĂ«rndarje dhe pĂ«rcaktimin e saktĂ«sisĂ«, mundĂ«sinĂ« e interpretimit tĂ« vargjeve si numra decimalĂ«. Gjithashtu janĂ« azhurnuar varĂ«sitĂ« llhttp 8.1.0 dhe npm 8.19.2.
  • ËshtĂ« propozuar njĂ« komandĂ« eksperimentale «node —watch» me implementimin e njĂ« mĂ«nyre vĂ«zhgimi, e cila siguron rinasjen e procesit nĂ« rast tĂ« ndryshimit tĂ« skedarit tĂ« importuar (pĂ«r shembull, nĂ«se ekzekutohet «node —watch index.js», procesi do tĂ« rinaset automatikisht kur tĂ« ndryshohet index.js).
  • PĂ«r tĂ« gjitha lidhjet HTTP/HTTPS dĂ«rguese Ă«shtĂ« aktivizuar mbĂ«shtetje pĂ«r mekanizmin HTTP 1.1 Keep-Alive, duke lĂ«nĂ« lidhjen tĂ« hapur pĂ«r njĂ« pĂ«rkohĂ«si tĂ« caktuar pĂ«r pĂ«rpunimin e shumĂ« kĂ«rkesave HTTP brenda njĂ« lidhjeje. Parashikohet se pĂ«rdorimi i Keep-Alive do tĂ« rrisĂ« kapacitetin dhe performancĂ«n. NĂ« mĂ«nyrĂ« tĂ« parazgjedhur, koha e mbajtjes sĂ« lidhjes tĂ« hapur Ă«shtĂ« vendosur nĂ« 5 sekonda. Implementimi i klientit HTTP ka pĂ«rfshirĂ« mbĂ«shtetje pĂ«r analizimin e headers HTTP Keep-Alive nĂ« pĂ«rgjigjet, ndĂ«rsa implementimi i serverit HTTP Node.js ka pĂ«rfshirĂ« shkĂ«putjen automatike tĂ« klientĂ«ve pasivĂ« qĂ« pĂ«rdorin Keep-Alive. server, ndĂ«rsa nĂ« implementimin e serverit HTTP Node.js Ă«shtĂ« shtuar shkĂ«putja automatike e klientĂ«ve inaktivĂ« qĂ« pĂ«rdorin Keep-Alive.
  • API WebCrypto Ă«shtĂ« transferuar nĂ« klasĂ«n e stabilisĂ«, pĂ«rveç funksioneve qĂ« pĂ«rdorin algoritmĂ«t Ed25519, Ed448, X25519 dhe X448. PĂ«r tĂ« aksesuar modulit WebCrypto tani mund tĂ« pĂ«rdorni globalThis.crypto ose require(‘node:crypto’).webcrypto.
  • MbĂ«shtetja pĂ«r mjetet e gjurmimit DTrace, SystemTap dhe ETW (Event Tracing for Windows) Ă«shtĂ« hequr, pasi mbĂ«shtetja e tyre Ă«shtĂ« konsideruar e panevojshme pĂ«r shkak tĂ« vĂ«shtirĂ«sive tĂ« mbajtjes sĂ« tyre nĂ« njĂ« formĂ« tĂ« pĂ«rditĂ«suar pa njĂ« plan tĂ« duhur pĂ«r mbĂ«shtetje.

Platforma Node.js mund të përdoret si për mbështetje të serverëve të aplikacioneve Web, ashtu edhe për të krijuar programe të zakonshme klients-server të rrjeteve. Për të zgjeruar funksionalitetin e aplikacioneve për Node.js është përgatitur një koleksion i madh modulash, ku mund të gjeni module me realizim. servera dhe klientë HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, module për integrim me korniza të ndryshme web, procesorë WebSocket dhe Ajax, lidhës për DB (MySQL, PostgreSQL, SQLite, MongoDB), motorë për modelim, CSS, realizime të algoritmeve kriptografikë dhe sistemeve të autorizimit (OAuth), parserë XML.

Për të siguruar përpunimin e një numri të madh kërkesash paralele, Node.js përdor një model asinkron për ekzekutimin e kodit, i bazuar në përpunimin e ngjarjeve në një mënyrë që nuk bllokon dhe në përcaktimin e trajtuesve të callback. Si metoda për multipleximin e lidhjeve, mbështeten metoda të tilla si epoll, kqueue, /dev/poll dhe select. Biblioteka libuv përdoret për multipleximin e lidhjeve, e cila është një shtresë mbi libev në sistemet Unix dhe mbi IOCP në Windows. Për krijimin e një vende pune (thread pool) përdoret biblioteka libeio, dhe për kryerjen e kërkesave DNS në mënyrë asinkrone është integruar c-ares. Të gjitha thirrjet në sistem që shkaktojnë bllokim ekzekutohen brenda vendeve të punës dhe më pas, si trajtuesit e sinjaleve, përcjellin rezultatin e punës së tyre përsëri përmes një kanali të paemërtuar (pipe). Ekzekutimi i kodit JavaScript sigurohet përmes angazhimit të motorit V8 të zhvilluar nga kompanitë Google (përveç kësaj, Microsoft zhvillon një variant të Node.js me motorin Chakra-Core).

Në thelb, Node.js është e ngjashme 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ë funksionon në shfletues. Kur shkruani aplikacione për Node.js, është e rëndësishme të merrni parasysh veçantitë e programimit të orientuar në ngjarje, për shembull, në vend të ekzekutimit të «var result = db.query(«select..»);» me pritjen e përfundimit të punës dhe përpunimi i mëvonshëm i rezultateve, Node.js përdor principin e ekzekutimit asinkron, domethënë kodi transformohet në «db.query(«select..», function (result) {përpunimi i rezultatit});», ku kontrolli do të kalojë menjëherë në kodin e mëtejmë dhe rezultati i kërkesës do të përpunohet ndërsa të dhënat mbërrijnë.

Burimi: opennet.ru

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