本文へスキップ

Denoとは?

での

Denoとは、Node.jsの設計上の問題点を見直して開発された、セキュリティを重視したJavaScript・TypeScriptランタイムです。

DenoはNode.jsの作者であるRyan Dahlが設計したJavaScriptおよびTypeScriptランタイムです。2018年に「Node.jsについて後悔している10のこと」と題した講演で問題点を指摘した後、それらを解決する新しいランタイムとして開発されました。

Node.jsとの最大の違いはセキュリティモデルにあります。Denoはデフォルトですべてのアクセスを拒否し、ファイルシステム・ネットワーク・環境変数へのアクセスには明示的な許可フラグが必要です。これにより、悪意あるサードパーティパッケージが意図せぬ操作をするリスクを大幅に減らせます。

Denoの主な特徴は以下のとおりです。

  • TypeScriptネイティブ対応:設定なしでTypeScriptを直接実行できます
  • URLインポート:npmの代わりにURLからモジュールを直接インポートできます(npm互換も追加されました)
  • Web標準API:fetch・WebSocket・WebCryptoなどブラウザと同じAPIが使えます
  • 単一実行ファイル:アプリケーションをスタンドアロンの実行ファイルとしてコンパイルできます

当初はnpmとの非互換性が課題でしたが、現在はnpmパッケージの利用にも対応しており、実用性が大きく向上しています。Cloudflare WorkersやDenoのエッジランタイムサービス「Deno Deploy」など、サーバーレス環境での採用も進んでいます。

使い方・例文

Denoは、TypeScriptで書いたAPIサーバーを設定ファイルなしに素早く動かしたい場面や、セキュアなスクリプト実行が必要な自動化ツールの開発で登場します。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語