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
CloudflareでNext.js 2025年夏
Search
Ryu
August 26, 2025
Programming
23
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CloudflareでNext.js 2025年夏
Cloudflare Workers Tech Talks in Niigata #1
で発表した資料です。
Ryu
August 26, 2025
More Decks by Ryu
See All by Ryu
自作JavaScriptランタイムを作るための5分レシピ
ryuapp
0
29
Other Decks in Programming
See All in Programming
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
ActionController meets Protocol Buffers
sorah
0
520
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
1k
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2k
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
270
気持ちぃ〜角丸 Squircle
ryu1013
0
310
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
210
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
APNsからLive Activityを開始する話
yumnumm
0
170
Featured
See All Featured
How to Ace a Technical Interview
jacobian
280
24k
Being A Developer After 40
akosma
92
590k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Color Theory Basics | Prateek | Gurzu
gurzu
1
490
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Done Done
chrislema
187
17k
Are puppies a ranking factor?
jonoalderson
2
4.1k
Transcript
CloudflareでNext.js 2025年夏 Cloudflare Workers Tech Talks in Niigata #1
自己紹介 Ryu(@ryuapp) ソフトウェアエンジニア at 株式会社モニクル • GitHub: @ryuapp • Website:
https://ryu.app
話すこと CloudflareでNext.jsを動かす方法について知ろう • Next.jsとは(軽く) • CloudflareスタックでのNext.jsの動かし方4選 Next.js on Cloudflareを触っている感想を交えつつお話しします ※デモは含みません
Next.jsとは • Vercelが開発しているReactのメタフレームワーク • フロントエンドとバックエンドを両方開発できる フルスタックなフレームワーク • ゼロコンフィグで簡単にセットアップできるのが魅力 • Webフレームワークの中で人気No.1
(GitHubにあるフレームワークの中で1番スターを持ってる)
State of JavaScript 2024: Meta Frameworks https://2024.stateofjs.com/en-US/libraries/meta-frameworks/
多くの開発者は Next.jsを使いたい ↓ CloudflareでもNext.jsを使いたい
CloudflareでNext.jsを動かす4選
1. OpenNext
OpenNextとは • Next.jsを異なるプラットフォーム(Vercel以外)で 動かすためのアダプター(デプロイツール) • 現状一番推奨されているやり方 • AWS、Cloudflare、Netlifyアダプターが存在 • SSTと各ベンダーのエンジニアがアダプター開発している(AWS以外)
https://opennext.js.org/
OpenNextの良いところ • Cloudflare WorkersでNext.jsを動かせる! ◦ Vercelの場合、商用利用は 20ドル~ ◦ Workersならバンドルサイズの制限で有料プランに入っても 5ドル~
◦ 個人開発したい人は財布にやさしいのでおすすめ • Next.jsのキャッシュ管理をクラウドに載せられる ◦ CloudflareのD1、KV、R2、Durable Objectsを使用している ◦ Next.jsを複数インスタンスでセルフホストする場合、 自前で設定が必要になるが、その設定が必要なくなる
OpenNextの課題感 • 最新機能、バージョンへの追従にラグ ◦ Vercel以外のベンダーが開発しているので仕方がない • 開発モードとビルド後の差分がある ◦ OpenNextはビルド後の生成物にパッチを当てている ◦
実体験、Wranglerをアップデートしたら壊れてしまった (OpenNextがv0) ◦ CIにe2eテストとかはあった方がいいかも • エコシステムがついてこない ◦ Next.jsの機能に依存しているライブラリが一部動かない (とはいえ、まあほぼ動く ) ◦ @sentry/nextjsとか
2. @cloudflare/next-on-pages
@cloudflare/next-on-pagesとは • Cloudflare PagesでNext.jsを構築するためのCLI • OpenNextが作られる前はこれを使っているケースが多かった • 現在はOpenNextの使用が推奨されるので、 新規採用するメリットはない https://github.com/cloudflare/next-on-pages
余談: @cloudflare/next-on-pagesはなぜPages? 最初からWorkersで良かったのでは? • Cloudflare WorkersのStatic Assetsが当時なかった ◦ next-on-pagesは2023年9月頃登場?【要出典】 ◦
Static Assetsは2024年9月登場(Builder Day 2024) ◦ Workersでバンドルすると、 フロントエンド側だけでバンドルサイズが上限に到達してしまう ◦ 当時は無料枠だと上限が 1MB(2024年10月に3MBに引き上げ)
3. Static Exports
Static Exportsとは • Next.jsを静的サイトとしてビルドする手段 • WorkersのStatic Assetsを使ってデプロイできる • SSG/SPA用に丁度いいやり方 https://nextjs.org/docs/app/guides/static-exports
Static Exportsの良いところ • フロントエンドだけになるので、どこでも動かせる ◦ バックエンドはWorkersでHonoでもなんでも良しなに
Static Exportsの課題感 • フルスタックにNext.jsを使えなくなる ◦ SSRできない • Next.jsの機能が一部しか使えない ◦ ServerActions、Middlewareなどが使えない
◦ https://nextjs.org/docs/pages/guides/static-exports#supported-features-1 OpenNextを使う必要がない人向け
4. Cloudflare Containers
Cloudflare Containersとは • Cloudflareが提供するコンテナ基盤(オープンベータ) • 類似サービスはGoogle CloudのCloud Runなど • Workersで動かすことができなかったアプリも動かせるようになった
紹介ブログ https://blog.cloudflare.com/cloudflare-containers-coming-2025/ ドキュメント https://developers.cloudflare.com/containers/
Cloudflare Containersの課題感 • Workersに課金が必要(月5ドル) ◦ 検証のため気軽に試したい • レスポンス速度が遅い ◦ フロントエンド用のサーバーには現状厳しい
• コールドスタートが長い(Next.jsの問題) Next.jsをtoC向けにデプロイしたいなら向いていない Workersで動かないアプリを動かすための エスケープハッチとして使うのが良さそう
Next.js on Cloudflare 総評 • OpenNextを使って Workersにデプロイするのが最善 • 静的サイトなら Static
Exportsするだけでいいね • 将来的にはCloudflare Containersによる運用も視野に入るかも • 新規開発なら@cloudflare/next-on-pagesではなくOpenNextを使おう
補足:今後の OpenNext • Deployment Adapters APIへの対応 https://github.com/vercel/next.js/discussions/77740 3月頃にNext.jsで発生した脆弱性への対応の批判を受けて提案されたAPI v16にアルファリリースされる予定 Postmortem
on Next.js Middleware bypass https://vercel.com/blog/postmortem-on-next-js-middleware-bypass
まとめ • CloudflareスタックでNext.jsを動かす方法を紹介 ◦ OpenNext ◦ @cloudflare/next-on-pages ◦ Static Exports
◦ Cloudflare Containers • OpenNextを使ってNext.jsをWorkersにデプロイするのがおすすめ ◦ 静的なサイトならStatic ExportsしてWorkersのStatic Assetsに載せよう • OpenNextの仕組み
みんなもNext.js使っていこうぜ!
Thank you