Ang server-side nga JavaScript nga plataporma Node.js 19.0 anaa

Ang Node.js 19.0 gipagawas, usa ka plataporma alang sa pagpadagan sa mga aplikasyon sa network sa JavaScript. Ang Node.js 19 usa ka regular nga sanga sa suporta nga adunay mga update nga magamit hangtod Hunyo 2023. Sa umaabot nga mga adlaw, ang pagpalig-on sa sanga sa Node.js 18 makompleto, nga makadawat sa status sa LTS ug suportahan hangtod Abril 2025. Ang pagmentinar sa miaging LTS branch sa Node.js 16.0 molungtad hangtod sa Septiyembre 2023, ug sa tuig sa wala pa ang miaging LTS branch 14.0 hangtod Abril 2023.

Panguna nga mga pag-uswag:

  • Ang makina sa V8 gi-update sa bersyon 10.7, gigamit sa Chromium 107. Lakip sa mga pagbag-o sa makina kumpara sa sanga sa Node.js 18, ang pagpatuman sa ikatulo nga bersyon sa Intl.NumberFormat API namatikdan, nga nagdugang bag-ong mga function formatRange (), formatRangeToParts() ug selectRange(), paggrupo sa mga set, bag-ong mga opsyon para sa rounding ug set precision, ang abilidad sa paghubad sa mga string isip decimal nga numero. Ang gilakip nga mga dependency llhttp 8.1.0 ug npm 8.19.2 gi-update usab.
  • Gisugyot ang usa ka eksperimento nga "node -watch" nga mando nga nagpatuman sa usa ka mode sa pagbantay nga nagsiguro nga ang proseso ma-restart kung ang gi-import nga file nagbag-o (pananglitan, kung ang "node -watch index.js" gipatuman, ang proseso awtomatiko nga i-restart kung ang index.js mausab).
  • Para sa tanan nga outgoing HTTP/HTTPS connections, suporta para sa HTTP 1.1 Keep-Alive nga mekanismo gi-enable, nga nagbiya sa koneksyon nga bukas sulod sa usa ka panahon aron maproseso ang daghang HTTP nga mga hangyo sulod sa samang koneksyon. Ang Keep-Alive gilauman nga mopauswag sa throughput ug performance. Sa kasagaran, ang pagbukas sa oras sa koneksyon gitakda sa 5 segundos. Gidugang ang suporta sa pag-parse sa Keep-Alive HTTP header sa mga tubag sa server sa pagpatuman sa HTTP client, ug ang awtomatikong pagdiskonekta sa mga dili aktibo nga kliyente gamit ang Keep-Alive gidugang sa pagpatuman sa Node.js HTTP server.
  • Ang WebCrypto API gibalhin sa stable nga kategorya, gawas sa mga function gamit ang Ed25519, Ed448, X25519 ug X448 nga mga algorithm. Aron ma-access ang WebCrypto module mahimo nimong gamiton ang globalThis.crypto o kinahanglan('node:crypto').webcrypto.
  • Ang suporta alang sa DTrace, SystemTap ug ETW (Event Tracing for Windows) nga mga himan sa pagsubay gikuha na, ang pagmentinar niini giisip nga dili angay tungod sa pagkakomplikado sa pagmentinar niini nga labing bag-o kung wala’y husto nga plano sa suporta.

Ang plataporma sa Node.js mahimong magamit alang sa pagmentinar sa server sa mga aplikasyon sa Web ug sa paghimo og regular nga kliyente ug mga programa sa network sa server. Aron mapalapad ang pag-andar sa mga aplikasyon alang sa Node.js, usa ka dako nga koleksyon sa mga module ang giandam, diin makit-an nimo ang mga module nga adunay pagpatuman sa HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 server ug kliyente, mga module alang sa panagsama. uban sa nagkalain-laing web frameworks, WebSocket ug Ajax handlers , DBMS connectors (MySQL, PostgreSQL, SQLite, MongoDB), templates engines, CSS engines, pagpatuman sa crypto algorithms ug authorization systems (OAuth), XML parsers.

Aron maseguro ang pagproseso sa daghang gidaghanon sa parallel requests, ang Node.js naggamit ug asynchronous code execution model base sa non-blocking event handling ug ang definition sa callback handler. Gisuportahan nga mga pamaagi alang sa multiplexing nga mga koneksyon mao ang epoll, kqueue, /dev/poll, ug pilia. Alang sa koneksyon multiplexing, ang libuv library gigamit, nga usa ka add-on alang sa libev sa Unix system ug IOCP sa Windows. Ang libeio library kay gigamit sa paghimo ug thread pool, ug ang c-ares gi-integrate para sa DNS query sa non-blocking mode. Ang tanan nga mga tawag sa sistema nga hinungdan sa pagbabag gihimo sa sulod sa thread pool ug dayon, sama sa mga tigdumala sa signal, ibalhin ang resulta sa ilang trabaho balik pinaagi sa usa ka wala nganli nga tubo (pipe). Ang pagpatuman sa JavaScript code gihatag pinaagi sa paggamit sa V8 nga makina nga gimugna sa Google (dugang pa, ang Microsoft nagpalambo sa usa ka bersyon sa Node.js nga adunay Chakra-Core nga makina).

Sa kinauyokan niini, ang Node.js susama sa Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, ug ang Tcl event nga pagpatuman, apan ang event loop sa Node.js gitago gikan sa developer ug susama sa pagdumala sa panghitabo sa usa ka web application nga nagdagan. sa browser. Sa pagsulat sa mga aplikasyon alang sa node.js, kinahanglan nimong tagdon ang mga detalye sa programa nga gipalihok sa panghitabo, pananglitan, imbes nga buhaton ang "var result = db.query("select..");" uban sa paghulat sa pagkompleto sa trabaho ug sa sunod nga pagproseso sa mga resulta, ang Node.js naggamit sa prinsipyo sa asynchronous execution, i.e. ang code giusab ngadto sa "db.query("select..", function (resulta) {result processing});", diin ang kontrol moagi dayon sa dugang nga code, ug ang resulta sa pangutana maproseso sa pag-abot sa datos.

Source: opennet.ru

Idugang sa usa ka comment