Cloudflare、AIでNext.jsを1週間でViteに再実装した vinext を公開
(blog.cloudflare.com)Cloudflareのあるエンジニアが、AI(Claude)の支援を受けて、複雑なNext.jsインフラをViteベースで完全に書き直したプロジェクト 'vinext(vee-next)' を公開。既存のNext.jsが抱える慢性的なデプロイおよびビルドの問題を解決するための実験的な試み。
主な要約
- 動機: Next.jsは優れているが、独自ビルドツールであるTurbopackに強く依存しているため、Cloudflare WorkersやAWS Lambdaのようなサーバーレス環境にデプロイするには、OpenNextのような複雑なアダプターを経由しなければならないという「デプロイのボトルネック」の問題があった。
- 開発過程: AIを積極的に活用して1週間以内に実装。Next.jsのテストおよびOpenNextの適合性テストから移植した Vitest 1,700+件 / Playwright E2E 380件のテストで検証。Next.js 16 API surfaceテストの94%を通過
- 解決策: Next.jsの成果物を修正するのではなく、最初からVite上でNext.jsのAPI(Routing、RSC、SSRなど)をそのまま実装。
- 成果: AIトークン費用約$1,100をかけて1週間で完成。成果物はNext.js比でビルド速度が最大4倍速く、クライアントバンドルサイズは57%小さい。
- 技術的特徴: next/link、next/navigation、Server Actions、RSC(React Server Components)などの主要APIをViteプラグインの形で再実装し、既存のNext.jsアプリをほぼそのまま移行できる。
意義: 巨大なフレームワークでも、よく定義されたテストとAIの助けがあれば、短期間で「軽量かつ高速なバージョン」に置き換えられることを証明した。
7件のコメント
Next.jsはオープンソースで、構造と目標も比較的明確だからこそ、こうした試みが可能だったのではないかと思います。
特に豊富なテストコードとリファレンスがあるので、テストを通す方向で実装を導くアプローチも十分現実的だったように思えます。
AIの進歩のスピードには本当に驚かされます。
やはり仕事はまだ危ういですね……現場職に転職したほうがいいのか……。
AIで1週間でNext.jsを再実装した方法
GN+ がまとめたバージョンもあわせてご参照ください
ブログ記事自体はそういう論調ではありませんが、静的サイト生成機能を意図的に省いたのは、静的サイト生成をするときはAstoを使えという含みが感じられます
Astro*
1週間の労力をopennextに費やしてくれていたら、もっと良かったのにと思いますね
そもそも目指している方向性が異なりますね
OpenNext は nextjs のビルド成果物を変換するものですが、vinext は turbopack を vite に置き換える全面的な再実装なので
Hacker Newsのコメント
Nextも好きだが、Viteはもっと好きだ。ただ、Nextチームはユーザーの0.1%のための派手な機能に注力し、残りの99.9%を無視しているように感じる。Cloudflareの今回のフォークは、そうした不満を解消してくれそうだ。パフォーマンス改善はNextコミュニティが長い間望んでいたことだし、ようやく誰かがそれに応えたわけだ。会社でも、これが成功したらぜひ使ってみたい
今回の件は、AI時代のオープンソースのインセンティブをよく示す事例だと思う。ドキュメントを整え、契約を明確に定義するほど、他者が複製しやすくなる。CloudflareがNextのテストを活用していなければ、こうしたフォークは不可能だっただろう。Server Componentsは依然として過小評価されているパターンであり、DXを単純化しようとする試みは歓迎したい。Nextは段階的な拡張で複雑になったが、新しいフレームワークは最初から柔軟に設計できる
“Hello world”すら動かないものを「from scratchで再実装した」と言うのは誇張だと思う。元のテストをそのまま持ってきたなら、完全な書き直しとは言い難い。有名な小説の冒頭段落を単語だけ入れ替えて、新しく書いたと主張するようなものだ
Cloudflareが1か月前にAstroを買収し、今度はNext.jsをAIで複製したという点が興味深い。そんなに簡単に作れるなら、なぜAstroを買ったのだろうか。おそらくフレームワークのビジョンとリーダーシップを確保するためだったのだろう
以前、Next.jsでリモートコード実行の脆弱性があったので、AIが作った版はしばらく避けたい
「AIがXを再実装した」という話はいつも疑ってしまう。細かなエッジケースや長年のバグ修正が抜け落ちている可能性が高い。すべてのテストを通るなら認めるが、そうでなければ信じがたい
このプロジェクトは、これまで見た中で最も興味深いAI実験だ。Next.jsのコードベースよりずっと小さいのには驚いた。ただ、単にテストを通すだけの水準なのかは疑問だ。たとえばform実装は完全に違う。それでも印象的だ
「ソフトウェアの抽象化は、人間が複雑さに対処できないから生まれる」という意見には同意しない。抽象化は現実の本質を捉え、再利用性を高めるために存在する。階層化は単に関心の分離の問題だ
総コストが約1,100ドル分のトークンだったという点は興味深い
本当の核心はAstro買収のタイミングだ。Cloudflareは1か月前にAstroを買い、今回はAIでNext.js APIを複製したと発表した。これはフレームワークのロックイン解体のシグナルだ。Vercelに縛られたNext.jsユーザーに2つの逃げ道を示したことになる。新規プロジェクトにはAstro、既存プロジェクトにはVinext。今すぐ本番向けでなくても、Vercelの価格競争力を揺さぶるメッセージにはなる