Deno
DenoとNode.jsはGoogle ChromeなどのChromiumベースのウェブブラウザで採用されているV8 JavaScriptエンジン上に構築されたランタイム環境である。どちらも内部イベントループがあり、スクリプトと広範なコマンドラインユーティリティを実行するためのコマンドラインインタフェースを提供している。
DenoがNode.jsと異なる主な点は以下の通りである:
CommonJSの代わりに、ES Moduleをデフォルトのモジュールとシステムとして使用する。
ウェブブラウザと同様に、依存関係 (ローカル及びリモート) を読み込むためにURLを使用する。
リソースを取得するためのパッケージ管理システムが組み込まれているので、npmは不要である。
キャッシングメカニズムを備えたスナップショットTypeScriptコンパイラを使用することによるTypeScriptのサポート。
幅広いWeb APIを実装することによるウェブブラウザとの互換性の向上。
サンドボックスコードを実行するために、ファイルシステムとネットワークアクセスを制御することができる。
promise、ES6及びTypeScriptの機能を利用するためにAPIを再設計したこと。
コアAPIのサイズを最小限にしながら、外部に依存関係の無い大きな標準ライブラリを提供すること。
特権システムAPIを呼び出しとバインディングの使用のために、メッセージ受け渡しチャネルを使用すること。