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

Dispunibule liberazione Node.js 13.0, платформы для выполнения сетевых приложений на языке JavaScript. Одновременно завершена стабилизация прошлой ветки Node.js 12.x, которая переведена в категорию выпусков с длительным сроком поддержки, обновления для которых выпускаются в течение 4 лет. Поддержка прошлой LTS-ветки Node.js 10.0 продлится до апреля 2021 года, а позапрошлой LTS-ветки 8.0 до января 2020 года.

menu migliurà:

  • U mutore V8 aghjurnatu à a versione 7.8, в которой задействованы новые методы оптимизации производительности, улучшена деструктуризация объектов, уменьшено потребление памяти и сокращено время подготовки к выполнению WebAssembly;
  • По умолчанию включена полная поддержка интернационализации и Unicode на базе библиотек ICU (International Components for Unicode), позволяющая разработчикам писать код, sustegnu работу с разными языками и локалями. Модуль full-icu теперь установлен по умолчанию;
  • Стабилизирован API Workers Threads, permettendu создавать многопоточные циклы обработки событий (event loop). Реализация основана на модуле worker_threads, позволяющем запускать JavaScript-код в несколько параллельных потоков. Стабильная поддержка API Workers Threads также бэкепортирована в LTS-ветку Node.js 12.x;
  • Повышены требования к платформам. Для сборки теперь necessariu как минимум macOS 10.11 (требуется Xcode 10), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Улучшена поддержка Python 3. При наличии в системе Python 2 и Python 3, по-прежнему используется Python 2, но добавлена возможность сборки при наличии в системе только Python 3;
  • Удалена старая реализация HTTP-парсера («—http-parser=legacy»). Удалены или переведены в разряд устаревших вызовы и свойства FSWatcher.prototype.start(), ChildProcess._channel, метод open() в объектах ReadStream и WriteStream, request.connection, response.connection, module.createRequireFromPath();
  • Next esce обновление 13.0.1, в котором по горячим следам устранено несколько ошибок. В том числе решена проблема с выводом в npm 6.12.0 предупреждения об использовании неподдерживаемой версии.

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