¿Qué es Deno?
Deno se define a sí mismo como un seguro sistema o entorno de ejecución para JavaScript y Typescript. El creador originar de Node.js, Ryan Dahl, fue quien anunción esta nueva herramienta en 2018, así que es inevitable fijarse en el juego del intercambio de sílabas (No-de / De-no), a pesar del divertido dino que usa como logo, que puede despistar. Pero ¿Por qué querría Dahl crear otra vez Node.js, un software que cuenta con un apoyo y una aceptación suficientes para hacerlo exitoso por décadas? Pues parece que alguna espinita se le quedó clavada, vamos a ver cual puede ser.
Deno no dispone de gestor oficial de paquetes, lo que puede parecer en un primer momento un inconveniente, pero todo cambia cuando descubres lo siguiente. En lugar de usar el sistema de importación CommonJS, Deno usa ES Modules de un modo realmente interesante. Permíteme explicarme mejor. En lugar de paquetes de código publicados a un repositorio, puedes ejecutar ES Modules publicados en cualquier URL de la red. Esto provoca dos sensaciones contradictorias: La primera de ellas es una sensación de grandes posibilidades, porque puedes crear paquetes sin tener que publicarlos en un repositorio como npm, lo puedes publicar en cualquier URL, pero, posteriormente te invade una sensación de inseguridad al ejecutar contenido en tu máquina de cualquier sitio de la red, sea oficial o no. Bien, para esto último déjame decirte ya que, a diferencia de Node.js, en donde un programa tiene los mismos permisos que el usuario, con Deno esto es diferente. Deno integra una sandbox, es decir, un mecanismo de seguridad para disponer de un entorno aislado del resto del sistema operativo, donde es posible ajustar distintos permisos de acceso para los ejecutables. Y, para finalizar, en todo caso, Deno ya ofrece servicio de repositorio a través de URLs en https://deno.land/x/.
Las características modernas de ECMAScript que usa Deno en toda su API y biblioteca estandar le permiten prescindir de la biblioteca estandar basada en retrollamadas en la que se basa Node.js, más compleja y comprometida. Deno dispone también de características integradas para realizar pruebas, además de ayudas para gestionar la compatibilidad entre navegadores. Al estar escrito con Rust y TypeScript, también ofrece ventajas si te inclinas por desarrollar en este último lenguaje, pero puedes seguir programando con Javascript si lo prefieres.
No dejes de visitar su web para conocerlo porque, aunque no va a destronar a su hermano mayor hoy, sí que puede resultar interesante conocer su evolución.