Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
denoとtypescriptの関係について改めて考えてみる
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kazuaki Higa
November 28, 2025
Technology
78
0
Share
denoとtypescriptの関係について改めて考えてみる
TSKaigi Hokuriku 2025 13:00 〜 13:30 (toggleルーム)の発表に使用した資料です。
Kazuaki Higa
November 28, 2025
More Decks by Kazuaki Higa
See All by Kazuaki Higa
NumPyの計算が速い理由をGIL解放のメカニズム観点でちょっとだけ掘り下げてみた
higak9
0
120
Other Decks in Technology
See All in Technology
AIエージェントの支払い基盤 AgentCore Payments概要
kmiya84377
1
150
AIと乗り切った1,500ページ超のヘルプサイト基盤刷新とさらにその先の話
mugi_uno
2
330
世界の中心でApp Runnerを叫ぶ FINAL
tsukuboshi
0
250
ブラウザの投機的読み込みと投機ルールAPIを理解し、Webサービスのパフォーマンスを最適化する
shuta13
3
300
Agent Skillsで実現する記憶領域の運用とその後
yamadashy
2
1.6k
小さいVue.jsを30分で作る
hal_spidernight
0
150
『生成AI時代のクレデンシャルとパーミッション設計 — Claude Code を起点に』の執筆企画
takuros
3
2.3k
20260507-ACL-seminar
satoshi5884
0
110
freeeで運用しているAIQAについて
qatonchan
0
460
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (前半)
oracle4engineer
PRO
2
240
もっとコンテンツをよく構造化して理解したいので、LLM 時代こそ Taxonomy の設計品質に目を向けたい〜!
morinota
0
230
SREの仕事は「壊さないこと」ではなくなった 〜自律化していくシステムに、責任と判断を与えるという価値〜 / 20260515 Naoki Shimada
shift_evolve
PRO
1
110
Featured
See All Featured
Designing for Performance
lara
611
70k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
230
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
140
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
Rails Girls Zürich Keynote
gr2m
96
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
denoとtypescriptの関係について 改めて考えてみる 株式会社iimon 比嘉 一晃
X:@higakazuaki9 • 比嘉 一晃(ひが かずあき) • 沖縄県出身 • 株式会社iimon エンジニア ◦
不動産DXのツールを提供 https://iimon.co.jp/ • 現在の担当業務の技術スタック ◦ vanilla-tsやReact、Django、AWS、 Google Cloud(Firebase)...etc • これまでの経験 ◦ Angular、React、Vue.js、Spring Boot、Django、Fast API、Ruby on Rails…etc • 性格 ◦ 人懐っこい、面倒くさがり、ねことビー ル好き(お酒の失敗は、、、色々ありま す) プロフィール
株式会社iimon
はじめに 本日はDenoについて お話していきます ...
Denoってなに? モダンなWeb開発のための オープンソースな JavaScript Runtime by 公式サイト(https://deno.com/)
Deno ・v8、Rust、tokioをベースとしたJavaScriptおよびTypeScriptの実行環境 ・JSConf EU 2018にて、Node.jsの作者Ryan Dahl氏の講演「Design Mistake in Node」 の中で挙げられたNode.jsに関する10の反省点を踏まえ、公表
・2024年10月にメジャーバージョンが初めてアップデートされ V2となる Overview
Denoってなに? 特徴 • TypeScriptゼロコンフィグでサポート • npmとnodeのfirst-classをサポート • Web標準APIのサポート • 開発に便利なツールの提供
• セキュアな実行環境
Denoってなに? 特徴 • TypeScriptゼロコンフィグでサポート • npmとnodeのfirst-classをサポート • Web標準APIのサポート • 開発に便利なツールの提供
• セキュアな実行環境
TypeScriptゼロコンフィグでサポート Denoをダウンロード&インストール(豊富なインストール方法) Mac: Shell、npm、Nix、asdf、vfox、Cargo、Docker Windows: PowerShell、npm、Scoop、Choco、Winget、vfox、Cargo、Docker Linux: Shell、npm、Nix、asdf、vfox、Cargo、Docker →インストール後、バージョンを確認( v8やTypeScriptのバージョンも確認可)
Installation
Version Change TypeScriptゼロコンフィグでサポート upgradeコマンドでバージョンを変更( v8やTypeScriptのバージョンも変更)
initコマンドでDenoの プロジェクトを構築 TypeScriptゼロコンフィグでサポート Initialize Project
初期の構成はシンプル deno.jsonでプロジェクト管理 TypeScriptゼロコンフィグでサポート Initialize Directory
Greet TypeScriptゼロコンフィグでサポート TypeScriptを書いて即実行 →TypeScriptのインストールやtsconfig.jsonの セットアップは一切不要(すぐ動きます)
Denoってなに? 特徴 • TypeScriptゼロコンフィグでサポート • npmとnodeのfirst-classをサポート • Web標準APIのサポート • 開発に便利なツールの提供
• セキュアな実行環境
npmとnodeのサポート Denoのインストール時にローカルに npmのレ ジストリのキャッシュを構築 deno.jsonでimportmapも定義可 npm
npmとnodeのサポート node Denoをインストール時にローカルに node api のレジストリのキャッシュを構築 トップレベルでawaitも利用可
npmとnodeのサポート package.json package.jsonの読み込みもサポート npm importと混在している場合は deno install で依存を解消
Denoってなに? 特徴 • TypeScriptゼロコンフィグでサポート • npmとnodeのfirst-classをサポート • Web標準APIのサポート • 開発に便利なツールの提供
• セキュアな実行環境
Web標準APIのサポート Fetch Denoが提供しているusers apiをfetchしてみた
Web標準APIのサポート Web Worker Web Workerを起動&ファイルを読み込み →ログに出力 ファイル読み込みには Deno APIのreadTextFileを 使用
Denoってなに? 特徴 • TypeScriptゼロコンフィグでサポート • npmとnodeのfirst-classをサポート • Web標準APIのサポート • 開発に便利なツールの提供
• セキュアな実行環境
開発に必要なツール Lint Denoに標準搭載されている Lint deno.jsonでルールをカスタムするこ とも可能
開発に必要なツール Lint Lint Error ・remove constructor(nothing super) ・super before using
this ・use const insteed
開発に必要なツール Test Denoに標準搭載されている Test JSRのパッケージも利用しつつ、手 軽にテストすることが可能 JSRとは... モダンなJS、TS開発のためのオー プンソースなパッケージレジストリ by
公式サイト: https://jsr.io/
開発に必要なツール Standalone Executable Deno.server APIで簡単なAPIの処理を書いてコ ンパイル
開発に必要なツール Standalone Executable コンパイル後のファイルを実行して サーバーにアクセス
開発に必要なツール Formatter Denoに標準搭載されている Formatter deno.jsonでルールをカスタムすることも可能
開発に必要なツール Formatter fmtコマンドでフォーマットの実行 エディタの設定でSave on Formatも可
Denoってなに? 特徴 • TypeScriptゼロコンフィグでサポート • npmとnodeのfirst-classをサポート • Web標準APIのサポート • 開発に便利なツールの提供
• セキュアな実行環境
セキュリティ Security Denoはデフォルトでファイル実行時にセ キュリティチェックが入る
セキュリティ Security ・ ・ ・ オプションをつけずにそのまま実行する とセキュリティチェック対象の項目の許可 を求められる
セキュリティ Security 拒否すると処理されずに終了する
セキュリティ Security --allow-all(または-A) 全ての権限を許可 --allow-read ファイル読み込みの許可 --allow-write ファイル書き込みの許可 --allow-net ネットワークへのアクセス許可
--allow-env envへのアクセス許可 …etc オプションをつけることで許可の チェックを省略できる
Denoってなに? 特徴 • TypeScriptゼロコンフィグでサポート • npmとnodeのfirst-classをサポート • Web標準APIのサポート • 開発に便利なツールの提供
• セキュアな実行環境 • 豊富なDeno CLI • トップレベルでのawait(async不要) • Deno APIを活用した効率的な開発 • Deno.jsonによる柔軟なプロジェクト管理 • JSRなどのモダンなパッケージの活用 モダンな TypeScriptの開発体験を 手軽にセキュアに提供
Denoで何をしよう 例えば... Web開発をしてみる
Vite-React with Deno Project Initialize and Build Viteを使ったReactプロジェクトの 構築をDenoで実施
Vite-React with Deno Server Start 開発サーバーを立ち上げて いつものHello React
Vite-React with Deno Custom App Appをカスタム Hooksなどを使っていつもの感じの Reactで開発
Vite-React with Deno Directory ディレクトリ構成もいつもの Vite-Reactプロジェクトと同じ感 じ →package.json、tsconfig、 vite.configなど
Denoで何をしよう 例えば... AIを活用した CLIを作ってみる
CLI Tool with Gemini API Weather App Gemini APIとdaxを使ってお天 気アプリを作成
CLI Tool with Gemini API Install and Exec deno installのnameオプションで名前をつ
けてCLIとして保存できる
Denoで何をしよう 例えば... データ分析してみる
Jupyter with Deno Setup Jupyter VSCode Jupyter extension https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter DenoでJupyter
Notebookを利用 するためのセットアップ
Jupyter with Deno Select Kernal DenoのKernelが選択できる
Jupyter with Deno Hello Jupyter Jupyter上でTypeScriptが動く
Jupyter with Deno penguins ちゃんとDataFrameが型付けされていることを確認 ペンギンデータで遊んでみる
Jupyter with Deno penguins headやtoRecodesなど基本的 なDataFrameの関数も利用可
Jupyter with Deno penguins dropNullsなどの欠損値補完 やdescribeでの集計データの 確認なども可能
Jupyter with Deno penguins Plotでデータをプロット
Jupyter with Deno penguins Plotでデータをプロット 基本的なデータ分析は十 分にできそう
まとめ Denoの使いどころ ・npm、Nodeとの互換性を活かしたプロジェクトの刷新 ・AIを利用したツール類の量産( MCP Toolなどとの連携) ・よくわからないコードをセキュアに実行 (特に生成AIで出されたものなど) ・TypeScriptを利用したスムーズなデータ分析 …etc
まだまだ方向転換などはあるかも
Appendix
Appendix ・デプロイまわり https://deno.com/deploy ・Fresh(Deno推しのシンプルWebフレームワーク) https://fresh.deno.dev/ ・WebAssembly https://docs.deno.com/runtime/reference/wasm/ ・Deno API Reference
https://docs.deno.com/api/deno/ ・Deno標準ライブラリ https://docs.deno.com/runtime/reference/std/ Denoにまつわる情報のリンク集
ご清聴ありがとうございました!