Versión Node.js 13.0 de JavaScript do servidor

Dispoñible liberación Nodo.js 13.0,plataformas para executar aplicacións de rede en JavaScript. Ao mesmo tempo, completouse a estabilización da rama anterior de Node.js 12.x, que foi transferida á categoría de versións de soporte a longo prazo, as actualizacións para as cales se lanzan durante 4 anos. O soporte para a rama LTS anterior de Node.js 10.0 durará ata abril de 2021 e o soporte para a última rama LTS 8.0 ata xaneiro de 2020.

O principal melloras:

  • Motor V8 actualizado á versión 7.8, que utiliza novas técnicas de optimización do rendemento, mellora a destruturación de obxectos, reduce o consumo de memoria e reduce o tempo de preparación para a execución de WebAssembly;
  • O soporte completo para a internacionalización e Unicode baseado en bibliotecas está activado por defecto UTI (Compoñentes internacionais para Unicode), que permite aos desenvolvedores escribir código solidario traballar con diferentes idiomas e locais. O módulo full-icu agora está instalado por defecto;
  • API estabilizada Traballadores Fíos, permitindo crear bucles de eventos multiproceso. A implementación baséase no módulo worker_threads, que che permite executar código JavaScript en varios fíos paralelos. O soporte estable para a API de Workers Threads tamén se retroportou á rama LTS de Node.js 12.x;
  • Aumentáronse os requisitos para as plataformas. Para a montaxe agora requirido polo menos macOS 10.11 (require Xcode 10), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Soporte mellorado para Python 3. Se o sistema ten Python 2 e Python 3, aínda se usa Python 2, pero engadiuse a posibilidade de construír cando só Python 3 está instalado no sistema;
  • Eliminouse a antiga implementación do analizador HTTP ("—http-parser=legacy"). Chamadas e propiedades eliminadas ou obsoletas FSWatcher.prototype.start(), ChildProcess._channel, método open() en obxectos ReadStream e WriteStream, request.connection, response.connection, module.createRequireFromPath();
  • A continuación resultou actualización 13.0.1, que corrixiu rapidamente varios erros. En particular, resolveuse o problema con npm 6.12.0 que mostraba unha advertencia sobre o uso dunha versión non compatible.

Lembremos que a plataforma Node.js pódese usar tanto para o soporte do servidor de aplicacións web como para crear programas de rede de servidor e cliente comúns. Para ampliar a funcionalidade das aplicacións para Node.js, un gran número de colección de módulos, nos que se poden atopar módulos coa implementación de servidores e clientes HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, módulos para a integración con diversos frameworks web, manejadores WebSocket e Ajax, conectores a DBMS (MySQL, PostgreSQL, SQLite). , MongoDB ), motores de modelos, motores CSS, implementacións de algoritmos criptográficos e sistemas de autorización (OAuth), analizadores XML.

Para xestionar un gran número de solicitudes paralelas, Node.js usa un modelo de execución de código asíncrono baseado no procesamento de eventos sen bloqueo e na definición de controladores de devolución de chamada. Os métodos compatibles para multiplexar conexións inclúen epoll, kqueue, /dev/poll e select. A biblioteca úsase para multiplexar conexións libuv, que é unha superestrutura libev en sistemas Unix e a través de IOCP en Windows. Utilízase unha biblioteca para crear un grupo de fíos libeio, para realizar consultas DNS en modo sen bloqueo está integrado c-ares. Todas as chamadas ao sistema que provocan o bloqueo execútanse dentro do grupo de subprocesos e despois, como os controladores de sinal, pasan de volta o resultado do seu traballo a través dunha canalización sen nome. A execución do código JavaScript está garantida mediante o uso dun motor desenvolvido por Google V8 (Ademais, Microsoft está a desenvolver unha versión de Node.js co motor Chakra-Core).

No seu núcleo, Node.js é semellante aos frameworks Perl AnyEvent, Ruby Event Machine, Python Twisted и implementación eventos en Tcl, pero o bucle de eventos en Node.js está oculto para o programador e aseméllase ao manexo de eventos nunha aplicación web que se executa nun navegador. Ao escribir aplicacións para node.js, cómpre ter en conta as características específicas da programación dirixida por eventos, por exemplo, en lugar de facer "var result = db.query("select..");" coa espera da finalización do traballo e do procesamento posterior dos resultados, Node.js utiliza o principio de execución asíncrona, é dicir. o código transfórmase en “db.query(“select..”, función (resultado) {procesamento de resultados});”, no cal o control pasará inmediatamente a outro código e o resultado da consulta procesarase a medida que cheguen os datos. .

Fonte: opennet.ru

Engadir un comentario