Fundamentos del runtime de Deno
Explore las funciones principales y las herramientas integradas de Deno, y descubra en qué se diferencia de Node.js.
Fundamentos del runtime de Deno es una lección gratuita de Edge Computing with Cloudflare Workers & Deno en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Edge Computing with Cloudflare Workers & Deno, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Edge Computing with Cloudflare Workers & Deno incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Welcome to Deno Essentials
Welcome! In this lesson, we'll dive into Deno, a modern, secure runtime for JavaScript and TypeScript.
Created by Ryan Dahl (who also created Node.js), Deno addresses some of the design choices made in Node.js, focusing on security and a great developer experience.
Security First: Deno's Approach
One of Deno's biggest differences is its security model. By default, Deno scripts run in a sandbox, meaning they have no access to:
- The file system
- The network
- Environment variables
- Subprocesses
You must explicitly grant these permissions using command-line flags. This prevents malicious code from doing harm without your knowledge.
Built-in Tooling
Deno comes with a powerful set of built-in tools. Forget installing separate packages for formatting, linting, or testing!
Key tools include:
deno fmt: Code formatterdeno lint: Linter for code qualitydeno test: Test runnerdeno doc: Documentation generatordeno compile: Compiles scripts into self-contained executables
This integrated experience simplifies project setup and maintenance.
Native TypeScript Support
Deno supports TypeScript out of the box. This means you can write TypeScript code without needing a separate compilation step or tsconfig.json file.
It also embraces ES Modules, allowing you to import modules directly from URLs, much like how browsers work. No more node_modules folder!
Your First Deno Program
Let's write a simple Deno program. Save this as hello.ts (or .js) and run it with deno run hello.ts.
console.log("Hello from Deno!");
console.log("Deno is awesome.");Deno vs. Node.js: Core Differences
While both Deno and Node.js are JavaScript runtimes, they have fundamental differences:
- Security: Deno is secure by default (permissions needed), Node.js has full access.
- TypeScript: Deno supports TS natively, Node.js requires transpilation.
- Tooling: Deno has built-in tools (fmt, lint, test), Node.js relies on npm packages.
- Module System: Deno uses URL-based ES Modules, Node.js uses CommonJS (though ES Modules are gaining traction).
- Standard Library: Deno has a robust standard library, Node.js has a smaller core.
The Global Deno Object
Deno exposes a global Deno object that provides access to runtime-specific APIs, like file system operations, network access, and environment variables.
Here's how you can access command-line arguments passed to your script:
console.log("Arguments:", Deno.args);
// Try running: deno run my_script.ts arg1 arg2Running with Permissions
To demonstrate Deno's permission model, let's try to read a file. This script will fail without explicit permission.
To run it successfully, you'll need to add the --allow-read flag: deno run --allow-read file_reader.ts
try {
const content = Deno.readTextFileSync("data.txt");
console.log("File content:\n" + content);
} catch (error) {
console.error("Error reading file: ", error.message);
console.error("Hint: Try 'deno run --allow-read file_reader.ts'");
}Deno Essentials Check
Which of the following statements about Deno is TRUE?
Recap: Deno's Foundation
Great job! In this lesson, you've learned about Deno's foundational features:
- Its security-first approach with a granular permission model.
- The convenience of its built-in tooling.
- Native TypeScript and ES Module support.
- The global
Denoobject for runtime interactions.
These essentials make Deno a powerful and modern runtime for web development, especially at the edge!
Preguntas frecuentes
¿La lección «Fundamentos del runtime de Deno» es gratis?
Sí — el texto completo de «Fundamentos del runtime de Deno» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Edge Computing with Cloudflare Workers & Deno, actualiza a CoddyKit PRO. El curso de Edge Computing with Cloudflare Workers & Deno incluye 4 lecciones en total.
¿Qué aprenderé en «Fundamentos del runtime de Deno»?
Explore las funciones principales y las herramientas integradas de Deno, y descubra en qué se diferencia de Node.js. Practicas Edge Computing with Cloudflare Workers & Deno con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Edge Computing with Cloudflare Workers & Deno?
No se requiere experiencia previa. Edge Computing with Cloudflare Workers & Deno en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Fundamentos del runtime de Deno»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Edge Computing with Cloudflare Workers & Deno?
Sí. Cada lección de Edge Computing with Cloudflare Workers & Deno incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Fundamentos del runtime de Deno
- Sistema de módulos y permisos
- Desarrollo de aplicaciones locales con Deno
- Probar aplicaciones Deno