NodeJS existe hace 10 años aprox y Deno se empezo a crear hace 2 años, en donde NodeJS no tenia aun promises. Deno fue desarollado por el mismo autor de Node, ofrece lo mismo pero de otra forma. Todavia no es tan madura como Node pero probablemente sea su reemplazo en el futuro.
- Es un runtime para Javascript y Typescript sin segundas configuraciones.
- Esta basado en el lenguaje Rust.
- Es seguro por defecto.
- No hay acceso a archivos, red o entorno a menos que este explicitamente habilitado.
Shell (Mac, Linux):
$curl -fsSL https://deno.land/x/install/install.sh | sh
PowerShell (Windows):
$iwr https://deno.land/x/install/install.ps1 -useb | iex
Homebrew (Mac):
$brew install deno
Chocolatey (Windows):
$choco install deno
Scoop (Windows):
$scoop install deno
Build and install from source using Cargo
$cargo install deno
- Creamos un index.ts.
- Para ejecutar el archivo hacemos
deno run index.ts
parados sobre el archivo del proyecto.
- Un simple "Hola mundo" en consola
- Un proyecto donde pasamos un String a base64 y viceversa.
- Un proyecto donde encriptamos una contraseña usando la herramienta bcrypt, usado para guardar passwords en bases de datos.
Para correr este proyecto necesitamos correr un
deno run --unstable --allow-net index.ts
para permitirle acceder a la net. - Consumir una API externa con Fetch. Lo llamamos de la siguiente manera pasando al servicio como argumento
deno run --allow-net=jsonplaceholder.typicode.com index.ts https://jsonplacerholder.typicode.com/todos/1
definimos el Host al cual queremos dar acceso. - Uso de variables de entorno en Deno. Para ejecutar debemos dar permisos de lectura y permisos a las variables de entorno
deno run --allow-read --allow-env index.ts
- Cronjobs en Deno, es decir, tareas programadas, se usa para llevar a cabo tareas periodicas (Como chequear en la base de datos que el usuario expiró por ejemplo)
deno run --allow-write index.ts
, en este proyecto creamos un archivo por minuto. - Un pequeño CRUD hecho en Deno, de Heroes, handlea todas las peticiones HTTP posibles a nuestro servidor Deno.
- Leer archivos con Deno. Hay un pequeño archivo para consumir la API en postman.