Deno 2 は『Node 互換性を大幅改善』
Deno 2 (2024年リリース) は Node 互換性と npm 統合を強化し、Bun の対抗としても注目されています。本記事では編集部の視点で、深掘りした使い方を公開情報をもとに整理します。Bun-Deno 実践 もご参考に。
Deno 2 の主要な変化
(1) Node API 互換大幅改善。(2) npm パッケージ標準対応。(3) package.json 直接使用。(4) node_modules オプション。(5) jsr (JavaScript Registry)(公開情報をもとに)。
セキュリティモデル
(1) 明示的な permission。(2) --allow-net/read/write 等。(3) 沙箱実行。(4) CLI ツール・サーバーで価値。(5) 監査容易。
jsr の特徴
(1) TypeScript First。(2) ESM ネイティブ。(3) npm 互換のhybrid。(4) multi-runtime:Node/Deno/Bun。(5) 無料・OSS。ESM CommonJS もご参考に。
本番運用
(1) Deno Deploy:マネージドサーバーレス。(2) Docker:deno run。(3) Kubernetes。(4) permissions を運用設計。(5) 監視:deno_telemetry。
Deno Deploy
(1) Edge ネットワーク。(2) Git 連携。(3) 無料枠 100万 req/月(公開情報をもとに)。(4) cold start 高速。(5) 環境変数管理。CDN/Edge 実践 もご参考に。
主要なフレームワーク
(1) Hono:Deno 完全対応。(2) Oak:Express 風。(3) Fresh:Deno 公式。(4) Aleph:Next.js 風。(5) NestJS:Deno 対応進行。Hono 実践 もご参考に。
Node からの移行
(1) 互換性大幅向上。(2) npm パッケージ大半動く(公開情報をもとに)。(3) 段階的移行。(4) テスト不可欠。(5) permissions の見直し。Node.js 本番運用 もご参考に。
失敗しがちなパターン
(1) permissions 不足でエラー。(2) Node 固有 API 動かない。(3) jsr/npm 混在。(4) Deno Deploy の制約。(5) エコシステム小。対策は、(1)必要 permissions 明示、(2)Web 標準 API、(3)1 registry、(4)Run anywhere パターン、(5)成熟度確認、です。