Deno 1.0: Ryan Dahl's Node.js successor

Deno 1.0 (May 2020) by Ryan Dahl (Node.js creator): JavaScript/TypeScript runtime in Rust, secure by default, native TypeScript, single binary. Correcting Node.js design mistakes ten years later.

Open SourceWebR&D DenoRyan DahlTypeScriptRuntimeJavaScriptRustOpen Source

“10 things I regret about Node.js”

In June 2018 Ryan Dahl — creator of Node.js (2009) — presents at JSConf EU a talk that became famous: “10 Things I Regret About Node.js”. Criticisms:

  1. No native TypeScript
  2. Promises arrived late
  3. Confusing module system (CommonJS vs ESM)
  4. Huge and branching node_modules
  5. Overly descriptive package.json
  6. Complicated V8 binding
  7. No permissions (a module has full filesystem access)
  8. GYP and historical build system
  9. Non-standard libraries
  10. Initial design mistakes

Dahl announces Deno, a new runtime solving these critiques. Two years of development; Deno 1.0 is released on 13 May 2020. MIT licence.

Key differences from Node.js

  • Native TypeScript — no Babel, no ts-node: deno run script.ts just works
  • Secure by default — requires explicit flags for permissions: --allow-net, --allow-read, --allow-write, --allow-env, --allow-run
  • Rust runtime + V8 — safer and more performant architecture
  • URL importsimport { serve } from "https://deno.land/std/http/server.ts"; no package.json nor node_modules
  • Web Platform APIfetch, WebSocket, Blob, crypto.subtle available in runtime like browser
  • Standard library unified in deno.land/std
  • Testing and formatter and linter built-in

Yet Node.js dominates

Despite technical quality, Deno struggles to conquer the Node.js market due to the vast existing npm ecosystem. From Deno 1.29 (2022) the runtime supports npm: specifier (import { z } from "npm:zod") bridging the compatibility gap.

Deno Deploy

Deno Deploy (2022) — edge run-at-the-edge platform executing Deno scripts in global regions with minimal latency. Competitor to Cloudflare Workers, Vercel Edge Functions.

Adoption

Still niche but growing adoption:

  • Cloud-native startups
  • Academia — simple TypeScript without config
  • Edge computing via Deno Deploy

In the Italian context

Limited but growing presence in early-adopter teams.


References: Deno 1.0 (13 May 2020). Ryan Dahl (ex Node.js), Deno Company. MIT licence. Rust + V8 runtime. Native TypeScript. URL imports. Deno Deploy (2022). npm: compatibility (1.29+, 2022).

Need support? Under attack? Service Status
Need support? Under attack? Service Status