El día de hoy hablaremos de Deno y crearemos nuestro primer Hola Mundo.
Pero primero, que es Deno? Deno es un entorno de ejecución para JavaScript/TypeScript seguro y con una excelente experiencia en desarrollo. El mismo esta escrito completamente en V8, Rust y Tokio.
Sus principales características son:
- Seguro por defecto, sin acceso a archivos, red o entorno de trabajo, a menos que esto este habilitado.
- Soporte para TypeScript
- Se envía un solo ejecutable
(deno)
- Cuenta con utilidades integradas como por ejemplo, un inspector de dependencias
(deno info)
y un formateo de codigo(deno fmt)
- Tiene un conjunto de módulos estándar previamente auditados los cuales están garantizados para trabajar con Deno
- Si se quiere los Scripts pueden ser agrupados en un solo archivo
Javascript
Filosofía
Deno pretende ser un entorno productivo y seguro de secuencias de comandos para el programador moderno.
Deno siempre se distribuirá como un solo ejecutable. Dada una URL en un programa Deno, este ya se podría ejecutar. Deno asume explicitamente el rol de tiempo de ejecución y administrador de paquetes. Utiliza un protocolo estándar compatible con el navegador para la carga de módulos (URL)
Entre otras cosas, Deno es un gran remplazo para los scripts
de utilidad que pueden haber sido escritos históricamente con bash
o Python
Objetivos
- Solo envié un ejecutable único
(deno)
- Provee valores predeterminados seguros. A menos que se permita específicamente, los scripts no pueden acceder a los archivos, el entorno o a la red.
- Compatibilidad con el Navegador: El subconjunto de programas Deno que estén escritos completamente en Javascript pero que no utilicen el espacio global de
Deno
, deberán poder ejecutarse en un navegador web moderno sin cambios - Proporciona herramientas integradas como pruebas unitarias, formateo de código y linting para mejorar la experiencia del programador.
- No filtrar los conceptos de V8 en el área de usuarios.
- Ser capaz de servir HTTP de manera eficiente.
Comparación con Node.js
- Deno no utiliza
npm
- Utiliza módulos referenciados por URL´s o rutas de archivos
- Deno no utiliza
package.json
en el modulo de resolución de algoritmos. - Todas las acciones asíncronas en Deno devuelven una promesa. Por lo tanto, Deno provee diferentes API´s a las que provee Node.
- Deno requiere permisos explícitos para el acceso a archivos, redes y entornos.
- Deno siempre muere por error no detectados.
- Utiliza “Módulos de ES (EcmaScript)” y no admite require(). Los módulos de terceros se importan a través de URL.
Otros comportamientos clave
- El código remoto se recupera y almacena en cache en la primera ejecución, y nunca se actualiza hasta que se ejecuta con el indicador
--reload
. (Hasta entonces, esto seguirá funcionando) - Los módulos/archivos cargados desde URL remotas están destinados a ser inmutables y almacenables en cache.
Instalación de Deno
Deno es muy simple de instalar, lo primero que haremos es escribir en una terminal lo siguiente.
Una vez que termine ese proceso ejecutaremos el siguiente comando
Eso nos retornara en consola
Si quisiéramos crear un un ejemplo un poco mas complejo podríamos ejecutar el siguiente ejemplo que nos proporciona Deno.
Crearemos un archivo index.ts y luego desde un terminal ejecutaremos deno run index.ts
El día de hoy Deno se encuentra en versión 1.0, creo que tiene mucho futuro ! y es una excelente Herramienta. Actualmente me encuentro traduciendo su documentación al Español en mi Github. Cualquier recomendación o ayuda es mas que bienvenida, puedes igual chequear toda la documentación oficial en su web, te invito que intentes aprenderlo.
Referencias
Deno
Deno, a secure runtime for JavaScript and TypeScript.deno.land
Deno
Deno, a secure runtime for JavaScript and TypeScript.deno.land
Si el articulo te gusto o te pareció interesante por favor ayúdame con 👏 🤓 Puedes seguirme en Twitter o encontrarme en GitHub visitando mi sitio web.
Francisco Imanol Suarez on about.me
I am a web developer, student, and photographer in Trelew, Argentina. Read my articles.about.me