O Deno 1.16, uma plataforma JavaScript projetada para execução independente (sem navegador) de aplicações escritas em JavaScript e TypeScript, foi lançado. O projeto está sendo desenvolvido por Ryan Dahl, autor do Node.js. O código da plataforma é escrito na linguagem de programação Rust e distribuído sob a licença MIT. Versões prontas para uso estão disponíveis para [inserir nome da plataforma aqui]. Linux, Windows и macOS.
O projeto é semelhante à plataforma Node.js e, assim como ela, utiliza o mecanismo JavaScript V8. No entanto, de acordo com o autor do Node.js, ele corrige uma série de falhas arquitetônicas de seu antecessor e difere dele das seguintes maneiras:
- Utilizando Rust como linguagem principal, o que, segundo os desenvolvedores, reduz o risco de vulnerabilidades associadas ao gerenciamento de memória de baixo nível (estouro de buffer, uso após liberação, etc.);
- O Deno não utiliza o gerenciador de pacotes npm nem o arquivo package.json, solicitando aos usuários que instalem módulos especificando uma URL ou o caminho para o módulo desejado. No entanto, o projeto oferece diversas ferramentas para simplificar o trabalho com módulos de terceiros;
- Os aplicativos são executados separadamente em ambientes isolados (sandboxes) e não têm acesso à rede, às variáveis de ambiente ou ao sistema de arquivos sem permissões explícitas;
- A arquitetura permite a criação de aplicações web universais que podem ser executadas tanto no sistema Deno quanto em um navegador comum;
- Utilizando "Módulos ES" e sem suporte para require();
- Quaisquer erros em uma aplicação web que não sejam tratados pelo programador levam ao seu encerramento forçado;
- Suporte a TypeScript além de JavaScript;
- O tamanho total da plataforma pronta para uso é de 84 MB (31 MB em arquivo zip) na forma de um único arquivo executável;
- O pacote inclui um sistema de resolução de dependências e formatação de código;
- Foque em aplicações de alto desempenho.
O Deno processa requisições em modo não bloqueante usando a plataforma Tokio, projetada para a construção de aplicações de alto desempenho baseadas em arquitetura orientada a eventos. Outro ponto interessante é que o servidor HTTP integrado do Deno é implementado em TypeScript sobre sockets TCP nativos, o que melhora o desempenho da rede.
As notas da nova versão incluem:
- Otimização de desempenho (4 patches);
- Mais de 15 bugs foram corrigidos, incluindo o cliente TLS agora suportar HTTP/2, o subsistema de codificação suportar marcas de codificação adicionais, etc.;
- Mais de duas dezenas de novos recursos, incluindo a estabilização dos subsistemas de teste Deno.startTls e Deno.TestDefinition.permissions, anteriormente utilizados, uma atualização do mecanismo V8 JS para a versão 9.7 e suporte para transformações JSX do React 17.
Fonte: opennet.ru
