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
CloudflareでNext.js 2025年夏
Search
Ryu
August 26, 2025
Programming
16
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
11
Other Decks in Programming
See All in Programming
AI時代のUIはどこへ行く?その2!
yusukebe
21
7k
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
320
Vite+ Unified Toolchain for the Web
naokihaba
0
280
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
880
さぁV100、メモリをお食べ・・・
nilpe
0
140
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
750
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
160
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
120
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
240
Oxcを導入して開発体験が向上した話
yug1224
4
310
スマートグラスで並列バイブコーディング
hyshu
0
120
Featured
See All Featured
Speed Design
sergeychernyshev
33
1.8k
It's Worth the Effort
3n
188
29k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
WCS-LA-2024
lcolladotor
0
630
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Designing Powerful Visuals for Engaging Learning
tmiket
1
410
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
GraphQLとの向き合い方2022年版
quramy
50
15k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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