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
Nitro v3
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kazupon
November 11, 2025
Programming
550
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Nitro v3
kazupon
November 11, 2025
More Decks by kazupon
See All by kazupon
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
590
Oxlint JS plugins
kazupon
1
1.3k
gunshi
kazupon
1
230
わたしのOSS活動
kazupon
3
620
Vapor Revolution
kazupon
3
4.2k
Vue.js最新動向
kazupon
3
1.6k
Vue 3.4
kazupon
13
4.9k
Vue & Vite Rustify
kazupon
4
2.5k
Vue.jsエコシステム動向2023
kazupon
17
9.2k
Other Decks in Programming
See All in Programming
関係性から理解する"同一性"の型用語たち
pvcresin
2
640
AIエージェントの隔離技術の徹底比較
kawayu
0
460
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
630
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.4k
New "Type" system on PicoRuby
pocke
1
470
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
220
GitHub Copilot CLIのいいところ
htkym
2
1.3k
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
560
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
230
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
500
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
110
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
690
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
460
sira's awesome portfolio website redesign presentation
elsirapls
0
270
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Faster Mobile Websites
deanohume
310
31k
Paper Plane (Part 1)
katiecoart
PRO
0
8.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Embracing the Ebb and Flow
colly
88
5.1k
Become a Pro
speakerdeck
PRO
31
6k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
Transcript
Nitro v3 Vue Fes Japan 2025 After Talk 2025/11/11 @kazupon
ࣗݾհ
Vue Fes Japan Organizer Vue.js Japan User Group Organizer Vue.js
Core Team Nuxt Ecosystem Team Vue I18n, Intlify and Gunshi author Plaid, inc. @kazu_pon kazupon kazupon
͡Ίʹ
Vue Fes Japan 2025 • Έͳ͞Μָ͠Ί·͔ͨ͠ʁ
Vue Fes Japan 2026 • དྷʹ͚ͯ४උ͕࢝·͍ͬͯΔͷͰɺίΞελο ϑ͓͓ͪͯ͠Γ·͢ʔ
Vue Fes Japan 2025 ։࠵લʹ…
ViteConf 2025 • Evan ࢯͷΩʔϊʔτͷଞɺ֤ίϛϡχςΟʹΑΔηογϣϯ͕ࢁ͋ͬͨ https://www.youtube.com/watch?v=x7Jsmt_o9ek
PooyaࢯʹΑΔNitroͷηογϣϯ https://www.youtube.com/watch?v=189wogO3aCE
ࠓ͢͜ͱ Nitro v3 ͷհ
ຊʹೖΔલʹ
Nitro ʹ͍ͭͯ ؆୯ʹ ͓͞Β͍
Nitroͱ • WebαʔόʔΛ࡞ΔͨΊͷπʔϧΩοτ • UnJSΛϕʔεʹ࡞ΒΕ͍ͯΔͨΊͲͷ JS Runtime Ͱಈ͖ɺͲΜͳॴ Ͱಈ͘ •
҆ఆ൛ϝδϟʔόʔδϣϯ v2 • ύοέʔδ໊: Nitropack
Nitroͷಛ
• Web ϑϩϯτΤϯυͷϝλϑϨʔϜϫʔΫ Nitroͷࣄྫ Nitro Nuxt Solid Start Analog TanStack
Start ※: Ұ෦ػೳΛ͍ͬͯΔ ※
Nitro v3
• Nitro v3 ݱ࣌Ͱ·ͩ alpah όʔδϣϯ • ਖ਼ࣜϦϦʔε·Ͱʹ༷͕มΘΔՄೳੑ͕͋Γ·͢ ҙ
Nitro v3 Ͳ͏ͳΔͷ͔ • NPMొύοέʔδ໊ nitropack ͔Β nitro ʹมߋ •
Request/Response σϑΥϧτ Web Standard ʹ • αʔόʔΤϯτϦͷఏڙ • ͞ΒʹϋΠύϑΥʔϚϯεԽ • Ϩϯμϥͷఏڙ • Vite ϓϥάΠϯͷఏڙ
Request /Resonse σϑΥϧτWeb Standard ʹ • Nitro v2 : H3
v1 (Node APIϕʔε) • Nitro v3 : H3 v2 (Web Standard API ϕʔε) https://h3.dev/migration#web-standards
αʔόΤϯτϦͷఏڙ • άϩʔόϧϛυϧΣΞͱͯ͠ػೳ͢ΔಛผͳϋϯυϥΛఏڙ͢Δ • ͪΖΜɺWeb Standards ʹ४ڌʂ
αʔόΤϯτϦͷఏڙ • H3 ͚ͩͰͳ͘ Hono Elysia ͱ͍ͬͨଞͷWebϑϨʔϜϫʔΫ͕ಈ͍ ͪΌ͏
͞ΒʹϋΠύϑΥʔϚϯεԽ • Dependencies (ґଘ node_modules) ͕ݮͬͨ
[email protected]
@cloud2are/
[email protected]
@rollup/
[email protected]
@rollup/
[email protected]
@rollup/
[email protected]
@rollup/
[email protected]
@rollup/
[email protected]
@rollup/
[email protected]
@rollup/
[email protected]
@vercel/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@rollup/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@types/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@mapbox/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@sindresorhus/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@ioredis/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@parcel/
[email protected]
@parcel/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@babel/
[email protected]
@babel/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@types/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@poppinss/
[email protected]
[email protected]
@poppinss/
[email protected]
@poppinss/
[email protected]
@speed-highlight/
[email protected]
@babel/
[email protected]
@babel/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@sindresorhus/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@nodelib/
[email protected]
@nodelib/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@jridgewell/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@jridgewell/
[email protected]
[email protected]
[email protected]
[email protected]
@jridgewell/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@jridgewell/
[email protected]
@jridgewell/
[email protected]
@nodelib/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@isaacs/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
@isaacs/
[email protected]
[email protected]
[email protected]
[email protected]
@jridgewell/
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
Unpacked Size: 76MB Dependencies : 312 Unpacked Size: 15MB Dependencies : 16
• Ϗϧυग़ྗαΠζվળ ͞ΒʹϋΠύϑΥʔϚϯεԽ Nitropack v2 Nitro v3 ݮ% ඪ४Ϗϧυ 135
KB 35.7 KB -74% 34.5 KB (gzip) 10.8 KB (gzip) -69% ඪ४Ϗϧυ (minify) 74.1 KB 21.4 KB -71% 24.5 KB (gzip) 8.11 KB (gzip) -67% https://www.youtube.com/watch?v=189wogO3aCE&t=438s
• ϧʔςΟϯάΛίϯύΠϧ͢Δ͜ͱͰϧʔτϚονϯάΛߴԽ ͞ΒʹϋΠύϑΥʔϚϯεԽ ϧʔςΟϯάύεใ͔Β Rou3 ͷίϯύΠϥͰ ϧʔτϚονϯάϩδοΫ ίʔυΛੜ
Ϩϯμϥͷఏڙ • HTMLΛϨϯμϦϯά͢ΔͨΊʹಛผͳϋϯυϥΛఏڙ͢Δ • ಛఆͷAPI Routes Route ϋϯυϥʹҰக͠ͳ͍ͯ͢ͷ Route
ʹରͯ͠ HTML ςϯϓϨʔτ͕ϨϯμϦϯά͞ΕΔ $REQUESTͷΑ͏ͳάϧʔόϧม Rendu (·ͩexperimental)ͱ͍͏ PHPϥΠΫͳߏจͰ ςϯϓϨʔτΛϨϯμϦϯάͰ͖Δ
• Nitro ͷػೳΛ Vite ϓϥάΠϯʹΑͬͯɺVite ΞϓϦέʔγϣϯΛαʔ όʔαΠυରԠͨ͠ϑϧελοΫԽͯ͠ΞϓϦέʔγϣϯͱͯ͠ఏڙՄ ೳʹ Vite ϓϥάΠϯͷఏڙ
Demo Nitro Vite ϓϥάΠϯ + Elysia + Vue Λͬͨ SSRͰ͖ΔΧϯλʔ
ViteΞϓϦέʔγϣϯ
• NitroͷͲ͜ʹͰσϓϩΠͰ͖ΔಛੑΛ׆͔ͯ͠ɺVite ΞϓϦέʔγϣϯ Λ༷ʑͳϗεςΟϯάϓϥοτϑΥʔϜʹσϓϩΠͰ͖Δʂ • Vite Λϕʔεʹඞཁ࠷খݶͷSSRΛ݉Ͷඋ͑ͨͷΛߏஙՄೳʹ • Vite+ αϙʔτ͢ΔͬΆ͍ʁͷͰγʔϜϨεʹҠߦͰ͖ͦ͏
Vite ϓϥάΠϯ Nitro ͷՄೳੑ https://viteplus.dev/
Thank You! ❤