Deno 1.0: il successore Node.js di Ryan Dahl

Deno 1.0 (maggio 2020) di Ryan Dahl (creatore di Node.js): runtime JavaScript/TypeScript in Rust, sicuro by default, TypeScript native, single binary. Correzione degli errori di design di Node.js dopo dieci anni.

Open SourceWebR&D DenoRyan DahlTypeScriptRuntimeJavaScriptRustOpen Source

“10 cose che rimpiango di Node.js”

Nel giugno 2018 Ryan Dahl — creatore di Node.js (2009) — presenta a JSConf EU un talk diventato famoso: “10 Things I Regret About Node.js”. Le critiche:

  1. Assenza di TypeScript nativo
  2. Promesse arrivate tardi
  3. Sistema di moduli confuso (CommonJS vs ESM)
  4. node_modules gigantesco e ramificato
  5. package.json troppo descrittivo
  6. Binding V8 complicato
  7. Permessi assenti (un modulo ha pieno accesso filesystem)
  8. GYP e build system storici
  9. Librerie non-standard
  10. Errori di design iniziali

Dahl annuncia Deno, un nuovo runtime che risolve queste critiche. Due anni di sviluppo; Deno 1.0 è rilasciato il 13 maggio 2020. Licenza MIT.

Differenze chiave con Node.js

  • TypeScript nativo — no Babel, no ts-node: deno run script.ts funziona
  • Sicuro di default — richiede flag espliciti per permessi: --allow-net, --allow-read, --allow-write, --allow-env, --allow-run
  • Runtime Rust + V8 — architettura più sicura e performante
  • URL importsimport { serve } from "https://deno.land/std/http/server.ts"; no package.json né node_modules
  • Web Platform APIfetch, WebSocket, Blob, crypto.subtle disponibili in runtime come nel browser
  • Standard library unificata in deno.land/std
  • Testing e formatter e linter built-in

Eppure Node.js domina

Nonostante la qualità tecnica, Deno fatica a conquistare il mercato Node.js per l’enorme ecosistema npm esistente. Dal Deno 1.29 (2022) il runtime supporta npm: specifier (import { z } from "npm:zod") colmando il gap di compatibilità.

Deno Deploy

Deno Deploy (2022) — piattaforma edge run-at-the-edge che esegue scripts Deno in regioni globali con latency minima. Competitor a Cloudflare Workers, Vercel Edge Functions.

Adozione

Adoption ancora di nicchia ma crescente:

  • Startup cloud-native
  • Academia — TypeScript semplice senza config
  • Edge computing via Deno Deploy

Nel contesto italiano

Presenza limitata ma crescente in team early-adopter.


Riferimenti: Deno 1.0 (13 maggio 2020). Ryan Dahl (ex Node.js), Deno Company. Licenza MIT. Runtime Rust + V8. TypeScript nativo. URL imports. Deno Deploy (2022). npm: compatibility (1.29+, 2022).

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi