Lanzouse a plataforma JavaScript Deno 1.16, deseñada para a execución autónoma (sen utilizar un navegador) de aplicacións escritas en JavaScript e TypeScript. O proxecto está desenvolvido polo autor de Node.js Ryan Dahl. O código da plataforma está escrito na linguaxe de programación Rust e distribúese baixo a licenza MIT. As compilacións preparadas están preparadas para Linux, Windows e macOS.
O proxecto é semellante á plataforma Node.js e, como ela, utiliza o motor JavaScript V8, non obstante, segundo o autor de Node.js, corrixe unha serie de defectos arquitectónicos do seu predecesor e difire del nos seguintes matices :
- Usando Rust como linguaxe principal, o que, segundo os desenvolvedores, reduce o risco de vulnerabilidades asociadas á xestión de memoria de baixo nivel (desbordamento de búfer, use-after-free, etc.);
- Deno non usa o xestor de paquetes npm e package.json, polo que solicita ao usuario que instale módulos especificando un URL ou unha ruta ao módulo que se vai instalar. Non obstante, o proxecto ofrece varias utilidades para simplificar o traballo con módulos de terceiros;
- As aplicacións execútanse por separado en sandbox e non teñen acceso á rede, ás variables de ambiente e ao sistema de ficheiros, sen permisos expresamente concedidos;
- A arquitectura ofrece a posibilidade de crear aplicacións web universais que poden funcionar tanto no sistema Deno como nun navegador normal;
- Usando "Módulos ES" e carecendo de soporte para require();
- Calquera erro nunha aplicación web non xestionada polo programador leva á súa terminación forzada;
- Soporte TypeScript ademais de JavaScript;
- O tamaño completo da plataforma lista para usar é de 84 MB (nun arquivo zip - 31 MB) en forma dun único ficheiro executable;
- O kit ofrece un sistema para resolver dependencias e formatar código;
- Concéntrase en aplicacións de alto rendemento.
Dino procesa as solicitudes de forma sen bloqueo mediante a plataforma Tokio, deseñada para crear aplicacións de alto rendemento baseadas na arquitectura orientada a eventos. Tamén é interesante que o servidor HTTP integrado de Deno estea implementado en TypeScript enriba dos sockets TCP nativos, o que ten un efecto positivo no rendemento das operacións de rede.
A nova versión observa:
- Optimización do rendemento (4 parches);
- Solucionáronse máis de 15 erros, en particular, o cliente TLS agora admite HTTP/2, o subsistema de codificación admite marcas de codificación adicionais, etc.;
- Máis de dúas ducias de innovacións, das que podemos destacar a estabilización dos subsistemas de proba Deno.startTls e Deno.TestDefinition.permissions, a actualización do motor V8 JS á versión 9.7 e o soporte para as transformacións de React 17 JSX.
Fonte: opennet.ru