O proxecto Deno está a desenvolver unha plataforma JavaScript segura similar a Node.js

Dispoñible lanzamento do proxecto Dáme 0.33, que ofrece unha plataforma similar a Node.js para a execución de aplicacións autónomas en JavaScript e TypeScript que se pode usar para executar aplicacións sen estar vinculada a un navegador, como a creación de controladores que se executan no servidor. Deno usa un motor JavaScript V8, que tamén se usa en Node.js e navegadores baseados no proxecto Chromium. Código do proxecto distribuído por baixo licenza MIT. O proxecto está a ser desenvolvido por Ryan Dahl (Ryan Dahl), creador da plataforma JavaScript Node.js.

Un dos principais obxectivos da creación dun novo tempo de execución para JavaScript é proporcionar un ambiente máis seguro. Para mellorar a seguridade, o motor V8 está escrito en Rust, o que evita moitas das vulnerabilidades que se derivan da manipulación de memoria de baixo nivel, como o acceso libre posterior, as desreferencias de punteiro nulo e os excesos de memoria intermedia. A plataforma utilízase para procesar solicitudes en modo sen bloqueo Toquio, tamén escrito en Rust. Tokio permítelle crear aplicacións de alto rendemento baseadas na arquitectura impulsada por eventos, que admite multi-threading e procesa solicitudes de rede en modo asíncrono.

O principal Características Deno:

  • Configuración predeterminada orientada á seguridade. O acceso aos ficheiros, a rede e o acceso ás variables de ambiente están desactivados por defecto e deben estar activados de forma explícita;
  • Soporte integrado para a linguaxe TypeScript ademais de JavaScript;
  • O tempo de execución vén en forma dun único ficheiro executable autónomo ("deno"). Para executar aplicacións usando Deno é suficiente descargar para a súa plataforma un ficheiro executable, duns 10 MB de tamaño, que non ten dependencias externas e non require ningunha instalación especial no sistema;
  • Ao iniciar o programa, así como para cargar módulos, pode usar o enderezo URL. Por exemplo, para executar o programa welcome.js, pode usar o comando "deno https://deno.land/std/examples/welcome.js". O código de recursos externos descárgase e almacena en caché no sistema local, pero nunca se actualiza automaticamente (a actualización require executar explícitamente a aplicación coa marca "--reload");
  • Procesamento eficiente de solicitudes de rede mediante HTTP nas aplicacións; a plataforma está deseñada para crear aplicacións de rede de alto rendemento;
  • A capacidade de crear aplicacións web universais que se poden executar tanto en Deno como nun navegador web normal;
  • Ademais do tempo de execución, a plataforma Deno tamén actúa como xestor de paquetes e permite acceder aos módulos por URL dentro do código. Por exemplo, para cargar un módulo, pode especificar no código "import * como rexistro de "https://deno.land/std/log/mod.ts". Os ficheiros descargados de servidores externos mediante o URL almacénanse na memoria caché. A vinculación ás versións do módulo determínase especificando os números de versión dentro do URL, por exemplo, "https://unpkg.com/[protexido por correo electrónico]/dist/liltest.js";
  • A estrutura inclúe un sistema integrado de inspección de dependencias (o comando "deno info") e unha utilidade para o formato de código (deno fmt).
  • Para desenvolvedores de aplicacións proposto un conxunto de módulos estándar que foron sometidos a auditorías adicionais e probas de compatibilidade;
  • Todos os scripts de aplicación pódense combinar nun ficheiro JavaScript.

Diferenzas con Node.js:

  • Deno non usa o xestor de paquetes npm
    e non está ligado a repositorios, os módulos envíanse a través dunha URL ou por unha ruta de ficheiro, e os propios módulos pódense colocar en calquera sitio web;

  • Deno non usa "package.json" para definir módulos;
  • Diferenza da API, todas as accións asíncronas en Deno devolven unha promesa;
  • Deno require unha definición explícita de todos os permisos necesarios para os ficheiros, as variables de rede e de ambiente;
  • Todos os erros que non se proporcionan cos controladores levan á finalización da aplicación;
  • Deno usa o sistema de módulos ECMAScript e non admite require().

Fonte: opennet.ru

Engadir un comentario