El rival de Node.js, Deno, enfatiza la seguridad

Deno, un tiempo de ejecución seguro de JavaScript y TypeScript ideado por el creador de Node.js Ryan Dahl, está cerca de una versión 1.0, dijo Dahl esta semana. Dahl también elaboró ​​las características en los trabajos para Deno.

Diseñado para proporcionar un entorno de secuencias de comandos seguro y productivo para el programador moderno, Deno surgió de la insatisfacción de Dahl con el popular tiempo de ejecución de JavaScript de Node.js, particularmente en lo que respecta a la seguridad. La única característica importante que aún falta es el soporte del depurador, dijo Dahl, y agregó que el proyecto apunta a recurrir a Chrome Devtools para la depuración.

La lista de tareas para Deno 1.0 incluye los siguientes elementos:

  • Carga y ejecución correctas de módulos, ya sea JavaScript o TypeScript.
  • Compatibilidad con el estándar de importación de mapas para JavaScript mediante una marca de línea de comando
  • Importación dinámica.
  • Soporte para archivos d.ts.
  • Un mecanismo para llamar al lenguaje Rust.
  • Velocidad más rápida para el servidor web.
  • Carga de dependencias TypeScript en paralelo.
  • La adición de API de manejador de señal.

Al igual que Node.js, Deno utiliza el motor JavaScript V8 de Google. Si bien admite TypeScript, Deno mantiene una filosofía de ser JavaScript primero, lo que significa que Deno no pasa a través del compilador TypeScript. La plataforma hasta ahora se ha utilizado solo en experimentos. Node.js tiene más sentido para las preocupaciones comerciales, dijo Dahl, quien ahora es co-líder en ingeniería para Deno.

Dahl sospecha que la transición a Deno será similar a la transición de GCC (compilador Gnu C) a Clang / LLVM, donde LLVM vio poco uso hasta que ofreció paridad de características con GCC, y luego todos cambiaron.

El sistema de módulos representa el cambio más radical en Deno, explicó Dahl. Cuando creó Node, JavaScript aún no tenía un sistema de módulos. Luego la web se puso al día y adoptó los módulos ECMAScript. Sin embargo, los módulos ES no utilizan el repositorio de paquetes NPM como una forma de buscar especificadores de módulos. La única forma de importar código cuando se usan módulos ES en los navegadores es especificando una URL.

Con Deno, el plan es utilizar módulos ES estándar web para módulos fuera del navegador. Un efecto secundario es que Deno no requiere un administrador de paquetes; El código de terceros se puede importar a través de HTTP. Por lo tanto, Deno alinea los módulos JavaScript del lado del servidor con los estándares web y permite que los módulos se alojen en cualquier servidor web, no solo en NPM. El resultado es que Deno es menos monolítico que Node.

El equipo de desarrollo de Deno publica partes internas de Deno, que fue escrito en Rust, en crates.io, el registro del paquete Rust. Además de una caja deno-core, hay deno-typecript, que permite a los desarrolladores compilar y "capturar instantáneamente" el código TypeScript. Los desarrolladores de Deno también han construido una caja con enlaces V8 en bruto en Rust.

Los lanzamientos semanales de Deno están disponibles para Mac, Windows y Linux.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *