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

Dispunibule liberazione Node.js 13.0,Piattaforme per l'esecuzione di applicazioni di rete in JavaScript. À u listessu tempu, l'estabilizazione di u ramu precedente di Node.js 12.x hè stata cumpletata, chì hè stata trasferita à a categuria di liberazioni di supportu longu, l'aghjurnamenti per i quali sò liberati per 4 anni. U supportu per u ramu LTS precedente di Node.js 10.0 durà finu à aprile 2021, è u supportu per l'ultimu ramu LTS 8.0 finu à ghjennaghju 2020.

menu migliurà:

  • U mutore V8 aghjurnatu à a versione 7.8, chì usa novi tecniche di ottimisazione di u rendiment, migliurà a destrutturazione di l'ughjettu, reduce u cunsumu di memoria, è riduce u tempu di preparazione per l'esekzione WebAssembly;
  • U sustegnu tutale per l'internazionalizazione è l'Unicode basatu in biblioteca hè attivatu per difettu ICU (Componenti Internaziunali per Unicode), chì permette à i sviluppatori di scrive codice sustegnu travaglià cù diverse lingue è locali. U modulu full-icu hè avà stallatu per difettu;
  • API stabilizzata I fili di i travagliadori, permettendu creanu cicli d'avvenimenti multi-threaded. L'implementazione hè basatu annantu à u modulu worker_threads, chì permette di eseguisce codice JavaScript in parechje fili paralleli. U supportu stabile per l'API Workers Threads hè statu ancu backported à u ramu LTS di Node.js 12.x;
  • I requisiti per e plataforme sò stati aumentati. Per assemblà avà necessariu almenu macOS 10.11 (necessita Xcode 10), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Supportu megliu per Python 3. Se u sistema hà sia Python 2 è Python 3, Python 2 hè sempre utilizatu, ma a capacità di custruisce quandu solu Python 3 hè stallatu nantu à u sistema hè stata aghjunta;
  • L'antica implementazione di u parser HTTP ("—http-parser=legacy") hè stata eliminata. Chjami eliminati o deprecati è proprietà FSWatcher.prototype.start(), ChildProcess._channel, metudu open () in oggetti ReadStream è WriteStream, request.connection, response.connection, module.createRequireFromPath ();
  • Next esce aghjurnà 13.0.1, chì hà riparatu rapidamente parechji bug. In particulare, u prublema cù npm 6.12.0 chì mostra un avvisu annantu à l'usu di una versione senza supportu hè stata risolta.

Ricurdemu chì a piattaforma Node.js pò esse usata sia per u supportu di u servitore di l'applicazioni Web sia per a creazione di u cliente ordinariu è i prugrammi di rete di u servitore. Per espansione a funziunalità di l'applicazioni per Node.js, un gran numaru di cullizzioni di moduli, in quale pudete truvà moduli cù l'implementazione di servitori è clienti HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, moduli per integrazione cù diversi frameworks web, gestori WebSocket è Ajax, connettori à DBMS (MySQL, PostgreSQL, SQLite). , MongoDB ), mudelli di mudelli, motori CSS, implementazioni di algoritmi criptografici è sistemi d'autorizazione (OAuth), parsers XML.

Per trattà un gran numaru di richieste parallele, Node.js usa un mudellu di esecuzione di codice asincronu basatu nantu à u processamentu di l'eventi senza bloccu è definisce i gestori di callback. I metudi supportati per e cunnessione multiplexing include epoll, kqueue, /dev/poll, è select. A biblioteca hè aduprata per multiplex cunnessione libuv, chì hè una superstruttura sopra libev in sistemi Unix è sopra IOCP in Windows. Una biblioteca hè aduprata per creà un pool di fili libeiu, per eseguisce e dumande DNS in modu senza bloccu hè integratu c-ares. Tutte e chjame di u sistema chì causanu u bloccu sò eseguite in u pool di fili è dopu, cum'è i gestori di signali, passanu u risultatu di u so travagliu per un tubu senza nome. L'esecuzione di codice JavaScript hè assicurata per l'usu di un mutore sviluppatu da Google V8 (In più, Microsoft sviluppa una versione di Node.js cù u mutore Chakra-Core).

À u so core, Node.js hè simile à i frameworks Perl AnyEvent, Ruby Event Machine, Python Twisted и implementazione avvenimenti in 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 chì esegue in un navigatore. Quandu scrivite l'applicazioni per node.js, hè necessariu di piglià in contu i specifichi di a 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 prucessu 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à immediatamente à più codice, è u risultatu di a quistione serà processatu cum'è data ghjunghje. .

Source: opennet.ru

Add a comment