Lançamento da plataforma JavaScript do lado do servidor Node.js 13.0

Disponível liberar Node.js 13.0,plataformas para execução de aplicativos de rede em JavaScript. Ao mesmo tempo, foi concluída a estabilização do branch anterior do Node.js 12.x, que foi transferido para a categoria de versões de suporte de longo prazo, cujas atualizações são lançadas por 4 anos. O suporte para o branch LTS anterior do Node.js 10.0 durará até abril de 2021, e o suporte para o último branch LTS 8.0 até janeiro de 2020.

O principal melhorias:

  • Motor V8 atualizado para versão 7.8, que utiliza novas técnicas de otimização de desempenho, melhora a desestruturação de objetos, reduz o consumo de memória e reduz o tempo de preparação para execução do WebAssembly;
  • O suporte total para internacionalização e Unicode baseado em biblioteca está habilitado por padrão UTI (Componentes Internacionais para Unicode), que permite aos desenvolvedores escrever código solidário trabalhar com diferentes idiomas e localidades. O módulo full-icu agora está instalado por padrão;
  • API estabilizada Tópicos de trabalhadores, permitindo crie loops de eventos multithread. A implementação é baseada no módulo worker_threads, que permite executar código JavaScript em vários threads paralelos. O suporte estável para a API Workers Threads também foi portado para a ramificação LTS do Node.js 12.x;
  • Os requisitos para plataformas foram aumentados. Para montar agora necessário pelo menos macOS 10.11 (requer Xcode 10), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Suporte aprimorado para Python 3. Se o sistema tiver Python 2 e Python 3, Python 2 ainda será usado, mas foi adicionada a capacidade de construir quando apenas Python 3 estiver instalado no sistema;
  • A implementação antiga do analisador HTTP (“—http-parser=legacy”) foi removida. Chamadas e propriedades removidas ou obsoletas FSWatcher.prototype.start(), ChildProcess._channel, método open() em objetos ReadStream e WriteStream, request.connection, response.connection, module.createRequireFromPath();
  • Próximo saiu atualização 13.0.1, que corrigiu rapidamente vários bugs. Em particular, o problema com o npm 6.12.0 exibindo um aviso sobre o uso de uma versão não suportada foi resolvido.

Lembre-se de que a plataforma Node.js pode ser usada tanto para suporte de aplicativos da Web no lado do servidor quanto para a criação de programas comuns de rede de clientes e servidores. Para expandir a funcionalidade dos aplicativos para Node.js, um grande número de coleção de módulos, onde você encontra módulos com implementação de servidores e clientes HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, módulos para integração com diversos frameworks web, manipuladores WebSocket e Ajax, conectores para SGBD (MySQL, PostgreSQL, SQLite , MongoDB ), motores de modelo, motores CSS, implementações de algoritmos criptográficos e sistemas de autorização (OAuth), analisadores XML.

Para lidar com um grande número de solicitações paralelas, o Node.js usa um modelo de execução de código assíncrono baseado no processamento de eventos sem bloqueio e na definição de manipuladores de retorno de chamada. Os métodos suportados para conexões de multiplexação incluem epoll, kqueue, /dev/poll e select. A biblioteca é usada para multiplexar conexões libuv, que é uma superestrutura sobre libev em sistemas Unix e sobre IOCP no Windows. Uma biblioteca é usada para criar um pool de threads líbio, para realizar consultas DNS em modo sem bloqueio está integrado c-ares. Todas as chamadas do sistema que causam bloqueio são executadas dentro do pool de threads e então, como manipuladores de sinal, passam o resultado de seu trabalho de volta por meio de um canal sem nome. A execução do código JavaScript é assegurada através da utilização de um motor desenvolvido pela Google V8 (Além disso, a Microsoft está desenvolvendo uma versão do Node.js com o mecanismo Chakra-Core).

Em sua essência, o Node.js é semelhante aos frameworks Perl AnyEvent, Máquina de eventos Ruby, Python Torcido и implementação eventos em Tcl, mas o loop de eventos em Node.js fica oculto para o desenvolvedor e se assemelha ao tratamento de eventos em um aplicativo da web executado em um navegador. Ao escrever aplicativos para node.js, é necessário levar em consideração as especificidades da programação orientada a eventos, por exemplo, em vez de fazer “var result = db.query(“select..”);” com a espera pela conclusão do trabalho e posterior processamento dos resultados, o Node.js utiliza o princípio da execução assíncrona, ou seja, o código é transformado em “db.query(“select..”, function (resultado) {processamento de resultado});”, no qual o controle passará imediatamente para outro código, e o resultado da consulta será processado conforme os dados chegam. .

Fonte: opennet.ru

Adicionar um comentário