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
自作JavaScriptランタイムを作るための5分レシピ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryu
June 19, 2026
11
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自作JavaScriptランタイムを作るための5分レシピ
Niigata5分Tech #25
で発表した資料です。
Ryu
June 19, 2026
More Decks by Ryu
See All by Ryu
CloudflareでNext.js 2025年夏
ryuapp
0
16
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
Building Applications with DynamoDB
mza
96
7.1k
Making the Leap to Tech Lead
cromwellryan
135
9.9k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Claude Code のすすめ
schroneko
67
230k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
160
Git: the NoSQL Database
bkeepers
PRO
432
67k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
Transcript
自作JavaScript ランタイムを 作るための5 分レシピ 2026.06.19 Niigata5 分Tech / Ryu
2 Ryu フロントエンド開発者 Portfolio: https://ryu.app GitHub: @ryuapp
3 はじめに JavaScript ランタイムを自作してみたいけど、 何から始めればいいかわからない… そんな人のための、5 分でわかる自作JavaScript ランタイムの作り方レシピです このスライドをAI に読ませると、スタート地点に立てます
※詳細な実装方法については触れません
4 JavaScript ランタイムとは モジュールシステムやAPI などを含む、 JavaScript エンジンを搭載したJavaScript の実行基盤を指す。 例) Node.js
、Bun 、Deno など JavaScript エンジンとは JavaScript のコードを構文解析して実行するインタープリター部分を指す。 例) V8 、SpiderMonkey 、JavaScriptCore 、QuickJS など JS エンジンに良い感じにAPI を生やせば、自作のJS ランタイムができる
5 開発環境 Rust を使ってください 三大ランタイム中2 つがRust で書かれている Bun はZig からRust
にリライト中 Deno はRust で書かれている JS 向けのエコシステムが充実している Oxc やSWC などのJS/TS パーサー V8 ではTemporal はRust で実装されている https://github.com/boa-dev/temporal
6 おすすめのJS エンジン 2 選 V8 使用事例: Chromium, Node.js, Deno,
など Deno がV8 を採用していることもあり、 Rust 内でエコシステムが充実している 困ったらDeno のライブラリ、コードを参考にすれば大体解決する rusty_v8 V8 のRust バインディング https://github.com/denoland/rusty_v8
7 おすすめのJS エンジン 2 選 QuickJS 使用事例: LLRT 小さくて扱いやすい( バイナリサイズが1MB
程度) 小さいのに多くのJS の仕様をサポートしている rquickjs QuickJS のRust バインディング https://github.com/delskayn/rquickjs
8 どっちのJS エンジンが良いの? V8 が向いているケース パフォーマンスが重要な場合 出来るだけ多くのJS 機能をサポートしたい場合 WASM を実行したい場合
QuickJS が向いているケース 学習用にサクッと作ってみたい場合 バイナリサイズを小さく抑えたい場合
9 付録:TypeScript の実行をサポートするには 一部のJS エンジンはTypeScript を直接実行できるものもあるが、 通常はTypeScript をJavaScript に変換する必要がある 直接実行をサポートする場合はType
Stripping を実装しよう TypeScript の型情報を削除して純粋なJavaScript コードに変換して実行 JavaScript/TypeScript のパーサー・コンパイラーを利用して実装できる Oxc https://github.com/oxc-project/oxc SWC https://github.com/swc-project/swc
10 まとめ JS エンジンに良い感じにAPI を生やせば、自作JS ランタイムだ Rust ならJS エンジンへのバインディングも、 JS/TS
パーサー・コンパイラーも揃っているのでおすすめ おすすめのJS エンジンは、V8 とQuickJS パフォーマンスや互換性を考えて作るならv8 学習用、小さく始めるならQuickJS