TL;DR
Ryan Dahl が Node.js の反省を踏まえて作った、JavaScript / TypeScript のランタイム。WebAssembly も実行できる。
仕組み
.ts ファイルを、tsc やビルド手順、設定なしでそのまま実行できる。
デフォルトで安全に動くよう設計されている。コードはサンドボックスの中で動き、許可を与えるまでファイル、ネットワーク、環境変数にアクセスできない。
HTTP サーバは Deno.serve で立て、Web 標準の Request と Response を使う。フォーマッタ(deno fmt)、リンタ(deno lint)、テストランナー(deno test)、タスクランナー(deno task)なども本体に含まれており、追加のパッケージを入れる必要がない。
package.json と node_modules を持つ Node.js のプロジェクトもそのまま動かせる。npm: での import と ES Modules を混ぜられるので、少しずつ移行できる。