Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
自作JavaScriptランタイムを作るための5分レシピ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryu
June 19, 2026
29
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
23
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Building Adaptive Systems
keathley
44
3.2k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Unsuck your backbone
ammeep
672
58k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Technical Leadership for Architectural Decision Making
baasie
3
600
Building Flexible Design Systems
yeseniaperezcruz
330
41k
ラッコキーワード サービス紹介資料
rakko
1
5.3M
Done Done
chrislema
187
17k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
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