Versione JavaScript Node.js 16.0 da u latu di u servitore

Node.js 16.0 hè stata liberata, una piattaforma per eseguisce applicazioni di rete in JavaScript. Node.js 16.0 hè classificatu cum'è un ramu di supportu longu, ma questu statutu serà assignatu solu in uttrovi, dopu a stabilizazione. Node.js 16.0 serà supportatu finu à aprile 2023. U mantenimentu di u ramu LTS precedente di Node.js 14.0 durà finu à aprile 2023, è l'annu prima di l'ultimu ramu LTS 12.0 finu à aprile 2022. U supportu per a filiera 10.0 LTS serà interrotta in 10 ghjorni.

Principali miglioramenti:

  • U mutore V8 hè statu aghjurnatu à a versione 9.0 (Node.js 15 hà utilizatu a versione 8.6), chì permette l'implementazione di funzioni cum'è a pruprietà "indici" per espressioni regulari (include un array cù e pusizioni iniziali è finali di gruppi di partite) , u metudu Atomics in Node.js 16 .waitAsync (versione asincrona di Atomics.wait), supportu per utilizà a keyword await in moduli di primu livellu. I chjami di funzione sò stati accelerati in situazioni induve u numeru di argumenti passati ùn currisponde micca à i paràmetri definiti in a funzione.
  • L'API di Timers Promises hè stata stabilizzata, chì furnisce un settore alternativu di funzioni per travaglià cù timers chì tornanu l'uggetti Promise cum'è output, chì elimina a necessità di utilizà util.promisify(). impurtà { setTimeout } da 'timers/promises'; funzione async run () { await setTimeout (5000); console.log('Hello, World!'); } run();
  • Hè stata aghjunta una implementazione sperimentale di l'API Web Crypto, cuncepita per eseguisce operazioni criptografiche basiche à u latu di l'applicazioni web, cum'è a manipulazione di hash criptografici, generazione è verificazione di firme digitali, codificazione è decodificazione di dati utilizendu diversi metudi di criptografia, è generazione criptograficamente sicura. numeri casuali. L'API furnisce ancu funzioni per a generazione è a gestione di e chjave.
  • N-API (API per sviluppà add-ons) hè stata aghjurnata à a versione 8.
  • A transizione à a nova versione di u gestore di pacchetti NPM 7.10 hè stata fatta.
  • Stabilizà l'implementazione di a classa AbortController, chì hè basatu annantu à l'API Web AbortController è permette di annullà i signali in l'API scelti basati in Promise.
  • U supportu per a terza versione di u furmatu Source Map, utilizatu per paragunà i moduli generati, processati o imballati cù u codice fonte originale, hè statu stabilizatu.
  • Per a cumpatibilità cù l'API Web legacy, i metudi buffer.atob (data) è buffer.btoa (data) sò stati aghjuntu.
  • A furmazione di assemblee per i novi dispositi Apple equipati cù u chip M1 ARM hà iniziatu.
  • À a piantana Linux требования к версии компилятора подняты до GCC 8.3.

Cum'è ricordu, a piattaforma Node.js pò esse aduprata sia per u supportu lato server di l'applicazioni web sia per a creazione di prugrammi di rete standard lato client è lato server. Per allargà a funzionalità di l'applicazioni Node.js, hè stata preparata una grande cullezzione di moduli, cumpresi quelli cù implementazioni. servitori è clienti di HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, moduli per l'integrazione cù diversi framework web, gestori WebSocket è Ajax, connettori à DBMS (MySQL, PostgreSQL, SQLite, MongoDB), motori di mudelli, motori CSS, implementazioni di algoritmi crittografici è sistemi d'autorizazione (OAuth), parser XML.

Per trattà un gran numeru di richieste parallele, Node.js usa un mudellu d'esecuzione di codice asincronu basatu annantu à l'elaborazione di eventi senza bloccu è i gestori di callback. I metudi di multiplexazione di cunnessione supportati includenu epoll, kqueue, /dev/poll è select. A biblioteca libuv, chì hè un superset di libev nantu à i sistemi Unix è IOCP nantu à IOCP, hè aduprata per u multiplexazione di cunnessione. WindowsA biblioteca libeio hè aduprata per creà un pool di thread, è c-ares hè integratu per eseguisce query DNS in modu senza bloccu. Tutte e chjame di sistema di bloccu sò eseguite in u pool di thread è dopu, cum'è i gestori di signali, restituiscenu i so risultati via un pipe senza nome. L'esecuzione di JavaScript hè furnita da u mutore V8 di Google (Microsoft sviluppa ancu una variante di Node.js cù u mutore Chakra-Core).

In u so core, Node.js hè simile à Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, è l'implementazione di l'avvenimentu Tcl, ma u ciclu di l'avvenimentu in Node.js hè oculatu da u sviluppatore è s'assumiglia à a gestione di l'avvenimenti in una applicazione web in esecuzione. in u navigatore. Quandu scrivite l'applicazioni per node.js, avete bisognu di cunsiderà e specificità di prugrammazione guidata da l'avvenimentu, per esempiu, invece di fà "var result = db.query ("select..");" cù l'aspittà di a fine di u travagliu è u processu sussegwente di i risultati, Node.js usa u principiu di l'esekzione asincrona, i.e. u codice hè trasfurmatu in "db.query ("select ..", funzione (result) {result processing});", in quale u cuntrollu passerà istantaneamente à più codice, è u risultatu di a quistione serà processatu cum'è data ghjunghje.

Inoltre, pò esse nutatu chì a cumpagnia Deno, fundata da u creatore di Node.js per sviluppà a piattaforma Deno di a nova generazione, hà ricevutu $ 4.9 milioni in investimenti. In u so scopu, Deno hè simile à Node.js, ma prova di eliminà l'errori conceptuali fatti in l'architettura Node.js è furnisce l'utilizatori cun un ambiente più sicuru. Hè nutatu chì i suluzioni di l'affari di Deno seranu custruiti nantu à i prudutti completamente aperti, è u mudellu Open Core cù funziunalità pagata separata hè percepitu cum'è inacceptable per a piattaforma Deno.

Source: opennet.ru

Cumprate un hosting affidabile per i siti cù prutezzione DDoS, servitori VPS VDS 🔥 Cumprate un hosting di siti web affidabile cù prutezzione DDoS, servitori VPS VDS | ProHoster