Denoはイイゾ
Tadashi Aikawa
2025/03/02 Minerva Lightning Talks

Tadashi Aikawa

Productivity Creator since 2010
OS
Windows (開発はUbuntu on WSL)
ターミナル
Windows Terminal / WezTerm (secondary)
言語
TypeScript >> Python = Go > Lua > Rust
エディタ
Neovim / Obsidian
デバイス
EIZO / HHKB Studio / SlimBlade
好き
創作活動・温泉・甘味・動物(ぬいぐるみ含む)
苦手
お酒・車・勉強
楽しい仕事
個人やチームの生産性を上げて成果に繋げる

Agenda

  1. What is Deno?
  2. Deno vs Node.js
  3. Why Deno?
  4. How I Use Deno

Chapter

01

  1. What is Deno?
  2. Deno vs Node.js
  3. Why Deno?
  4. How I Use Deno

Denoとは モダンWebのためのJavaScriptランタイム

center

Denoの主な特徴

  • TypeScript / JavaScript のランタイム
  • 開発/デプロイに必要なツールが同梱済
  • Node.jsとの互換レイヤーあり
  • モダンWeb対応 / Web標準API優先
  • deny -> allow な堅牢セキュリティー設計
  • v8エンジン使用
  • Rust製
※ 太字の項目は後ほど説明

Chapter

02

  1. What is Deno?
  2. Deno vs Node.js
  3. Why Deno?
  4. How I Use Deno

Deno と Node.js ※ 2025/03/02 時点の情報、標準搭載機能のみ

Node.js Deno v1 Deno v2
作者 Ryan Dahl Ryan Dahl Ryan Dahl
安定版公開 2015年 2020年 2024年
GitHubスター数 110k 102K 102K
TypeScript 未対応 対応 対応
パッケージ管理 npm URL URL, npm
CommonJS 対応 ほぼ未対応 部分対応
ESM 対応 対応 対応
シングルバイナリ 未対応 対応 対応

Deno v1 は Node.js と互換性がほぼ無かった

Node.js Deno v1 Deno v2
作者 Ryan Dahl Ryan Dahl Ryan Dahl
安定版公開 2015年 2020年 2024年
GitHubスター数 110k 102K 102K
TypeScript 未対応 対応 対応
パッケージ管理 npm URL URL, npm
CommonJS 対応 ほぼ未対応 部分対応
ESM 対応 対応 対応
シングルバイナリ 未対応 対応 対応

Deno v2 では Node.js に歩み寄った形に

Node.js Deno v1 Deno v2
作者 Ryan Dahl Ryan Dahl Ryan Dahl
安定版公開 2015年 2020年 2024年
GitHubスター数 110k 102K 102K
TypeScript 未対応 対応 対応
パッケージ管理 npm URL URL, npm
CommonJS 対応 ほぼ未対応 部分対応
ESM 対応 対応 対応
シングルバイナリ 未対応 対応 対応

Chapter

03

  1. What is Deno?
  2. Deno vs Node.js
  3. Why Deno?
  4. How I Use Deno

なぜDenoか?

  1. 数秒でTypeScriptの開発がスタートできる
  2. Linter/Formatter/Test がバンドル済で設定不要
  3. シングルバイナリへビルド可能 (Windows/macOS/Linux)

Chapter

04

  1. What is Deno?
  2. Deno vs Node.js
  3. Why Deno?
  4. How I Use Deno

私がDenoをつかうとき Web開発以外ならチャンスあり

用途 備考 作成プロダクト
学習 TypeScriptバージョン指定がない場合 TDQ
使い捨てスクリプト
CLIツール Cliffyを使う
API 小規模の場合 (それ以上はHonoなど)
ライブラリ JSRにアップロードする場合 Silhouette Core
Neovimプラグイン Denopsを利用する Silhouette.nvim

まとめ Denoはイイゾ

  • 数秒でTypeScriptの開発がスタートできる
  • 小さなプロダクトや使い捨てコードには積極的に使おう
  • 依存ライブラリが多いプロダクトや、既存プロダクトへの導入は検討が必要

付録 TDQより

タイトル 内容
TDQ-001 JavaScriptの実行環境構築 インストール, REPL
TDQ-002 JavaScriptの開発環境構築 VSCodeの環境構築
TDQ-010 Denoのテスト テストコードの書き方
※ Neovimの環境構築はDeno以外との共存が少し大変なので別途聞いてください

仕事だったら『所属』『代表プロダクト』『入社年』などを入れる