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
kazupon
November 11, 2025
Programming
480
2
Share
Nitro v3
kazupon
November 11, 2025
More Decks by kazupon
See All by kazupon
Oxlint JS plugins
kazupon
1
1.2k
gunshi
kazupon
1
190
わたしのOSS活動
kazupon
3
590
Vapor Revolution
kazupon
3
4.1k
Vue.js最新動向
kazupon
3
1.6k
Vue 3.4
kazupon
13
4.8k
Vue & Vite Rustify
kazupon
4
2.4k
Vue.jsエコシステム動向2023
kazupon
17
9k
Reactivity Transform
kazupon
1
1.4k
Other Decks in Programming
See All in Programming
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
160
How to stabilize UI tests using XCTest
akkeylab
0
150
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
4.1k
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
530
OTP を自動で入力する裏技
megabitsenmzq
0
130
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
130
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
500
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
300
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
440
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
5.3k
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
170
Featured
See All Featured
How to make the Groovebox
asonas
2
2.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
170
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
370
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.2k
Docker and Python
trallard
47
3.8k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
The agentic SEO stack - context over prompts
schlessera
0
720
Odyssey Design
rkendrick25
PRO
2
560
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
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! ❤