今更ながらDenoを始めた感想

Deno はNode.jsに代わる新しいJavaScript/TypeScriptランタイムとしてよく耳にすることはあった。

しかし、実際に学びはじめてみると、こんなにメリットがあった。

  • TypeScriptを標準サポートしてくれている
  • ネットワーク, read/write のパーミッションシステムが備わっていてセキュア(デフォルトは拒否)
  • ESMデフォルト対応
  • fmt, lint が備わっている
  • npm を使わない
  • トップレベルでの async/await がデフォルトで可能

これまで検証や調査でJavaScriptのコードを npm init → npm install xxx みたいにやる必要だったのが、Go みたいにで `import hoge from 'https://....'` みたいな感じでURLで引っ張ってくるのが斬新。

依存モジュールの管理どうするの?って疑問も deps.ts か import maps で解消可能だった。

本番利用で想定できるケースがあまり思いつかないが、TSでサクッとREPLでコード書いたり、簡単なCLIツールを書く時はDenoを間違いなく使いそうだなと感じている。

ただ、esm.sh をはじめとする npm パッケージとの互換性や、各エディタに用意されているプラグインの利便性はNode.jsには少し及ばずこれからな印象(自分の使い方が間違っているだけかも知れないが...)