x
1

Deno (software)



Deno Es un runtime(sistema de tiempo de ejecución) para Javascript y TypeScript está basado en el motor de Javascript V8 y en el lenguaje de programación Rust. Creado por Ryan Dahl, creador original de Node.js, y está centrado en la seguridad y productividad.[4]​ Fue anunciado por Dahl en 2018 durante su charla "10 Cosas de las que me arrepiento sobre Node.js".[5]​ Deno explícitamente toma la función de ambos runtime y Manejador de paquete dentro de un solo ejecutable, en vez de requerir un programa de administración de paquetes separado.[6][7]

Deno fue anunciado en JSConf UE 2018 por Ryan Dahl en su charla "10 Cosas que me remuerden Sobre Node.js".[5]​ En su charla, Ryan mencionó sus remordimientos sobre las decisiones de diseño iniciales con Node.js, enfocándose en sus decisiones de no utilizar Promesas en el diseño de API, uso del sistema de construcción anticuado GYP, nodo_modules y package.json

Finalmente presentó el prototipo de Deno, buscando hacer las llamadas a sistema a través del paso de mensajes con herramientas de serialización tales como Protocol Buffers, y proporcionar banderas de línea de comando para control de acceso.

Deno fue inicialmente escrito en Go, utilizando Protocol Buffers para serialización entre los lados privilegiado (Go, con acceso de llamada del sistema) y no-privilegiado (V8).[8]​ Aun así, Go fue pronto reemplazado con Rust debido a preocupaciones por double runtime y la garbage collection.[9]​ Tokio es introducido en lugar de libuv como la plataforma conducida por eventos(event drive) asíncrona, y se adopta Flatbuffers para una serialización y deserialización "Zero Copy" más rápida. Más tarde, en agosto de 2019, FlatBuffers era finalmente sacado después de publicados los benchmarks que median una significativa sobrecarga de la serialización en abril de 2019.[10][11][12][13]

Una librería estándar, modelada al estilo de la librería estándar de Go, fue creada en noviembre de 2018 para proporcionar una extensa cantidad de utilidades y herramientas, parcialmente solucionando el problema de Node.js de la explosión del árbol de dependencias.[14]

Deno 1.0 oficial fue liberado el 13 de mayo de 2020.[15]

Deno busca ser un entorno de scripting productivo y seguro para el programador moderno.[6]​ Similar a Node.js, Deno enfatiza en arquitectura manejada por eventos, proveyendo un conjunto de utilidades de entrada/salida asíncronas(no bloqueantes), además de sus versiones síncronas(bloquenates). Deno puede ser usado para crear servidores web, llevar a cabo computación científica, etc.

Deno y Node.js son ambos un runtime, basado en el motor v8 Javascript engine de Google, el mismo motor utilizado en Google Chrome. Ambos tienen event loops, proporcionan interfaces de líneas de comando para correr scripts, además de una amplia gama de utilidades de sistema.

Deno principalmente se diferencia de Node.js en los siguientes aspectos:[6]

La siguiente ejecuta un script básico de Deno sin ningún permiso de lectura/escritura/red (modo sandbox):

Banderas explícitas son requeridas para activar permisos:

Para inspeccionar el árbol de dependencia del script, use el subcomando info:

Un programa Hola-mundo básico en Deno se parece es algo así a (como en Node.js):

Deno proporciona un espacio de nombre global para la mayoría de las APIs de Deno que no están disponibles en el navegador. Un programa Cat de Unix podría ser implementado como sigue:

La función Deno.copy de arriba trabaja de manera similar como io.Copy de Go, donde stdout (Salida estándar) es el destino Writer y file es la fuente Reader. Para correr este programa, necesitamos proporcionar el permiso de lectura del sistema de archivos:

El siguiente script de Deno implementa un servidor de HTTP básico:

Cuando se ejecuta este programa, Deno automáticamente descarga y cachea las librerías remotas y compila el código. De forma similar, podemos correr un script de librería estándar (como un servidor de archivo) directamente sin explícitamente descargarlo, proporcionando la URL como archivo de entrada ( -A activa todos los permisos):



Escribe un comentario o lo que quieras sobre Deno (software) (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!