Cloudflare、Vite上でNext.jsを動かす「Vinext 1.0」を正式リリース――99%超の互換性とマルチプラットフォーム展開を実現
要点
-
米Cloudflareは2026年9月28日、Next.jsアプリケーションをVite環境上で動作させるフレームワーク「Vinext 1.0」を正式リリースした。
-
最新のApp Routerだけでなく従来のPages Routerにも対応し、主要な顧客要求機能におけるテスト互換性は99%を超えている。
-
ビルド時のプリレンダリングやISR、React Server Componentsなどのページライフサイクルを網羅した。
-
Cloudflare Workersの無料プランをはじめ、NetlifyやAWS Lambdaなど多様なWebプラットフォームへの柔軟なデプロイに対応する。
-
既存のNext.jsプロジェクトからは、2つのコマンドを実行するだけでディレクトリ構造を維持したまま移行できる。
-
米Cloudflareは2026年9月28日(現地時間)、ViteをバックエンドとしてNext.jsアプリケーションを稼働させるオープンソースフレームワーク「Vinext 1.0」を正式リリースしたと発表した。2026年2月に公開された実験的プロジェクトから約7カ月の開発期間を経て、高トラフィックな動的アプリケーションの本番稼働に耐えうる安定版に到達したという。Next.jsで構築されたWebアプリケーションを、特定のインフラに縛られることなく多様なクラウド環境へポータブルにデプロイできる環境の提供を目指している。
1週間のAI実験から本番稼働フレームワークへ進化
Vinextは2026年2月、1人のエンジニアと大規模言語モデル(LLM)のトークンを活用し、Vite(高速なビルドと開発サーバーを提供するフロントエンドツール)上でNext.jsを再現できるかを検証する1週間の実験として開発が始まった。
初期リリース時は有望ながらも未完成な部分が残されていたが、GitHub上のコミュニティによる検証やフィードバックを受けて急速に成熟が進んだという。同社によると、この7カ月間で大規模なトラフィックを処理する顧客の本番環境でも採用されるまでに成長し、長期的な利用を見据えた大幅な改善を施して今回の「1.0」リリースを迎えた。
App RouterとPages Routerの両立と99%超の互換性
Vinext 1.0では、最新のApp Routerだけでなく、以前から広く利用されているPages Routerのサポートにも注力されている。移行コストの大きい大規模アプリケーションを抱えるユーザーからの要望に応えたもので、両ルーターを混在させたハイブリッドな構成にも対応する。
互換性の面では、React Server Components(コンポーネントの描画処理をサーバー側で行う仕組み)やServer Actions、API routes、Route Handlers、Middleware、クライアントサイドルーティングなどを網羅している。単に関数インターフェースを模倣するだけでなく、レンダリング結果やキャッシュ、後続リクエストへの影響といった内部挙動まで完全に再現することに注力したと説明されている。
品質保証のために数千件のコア挙動テストを整備したほか、Next.js公式のエンドツーエンド(E2E)テストスイートを毎晩自動実行する体制を構築した。これにより、リグレッション(機能の後退)を即座に検知しつつ、顧客が求める主要機能において99%超のテスト互換性(Cache Componentsを除く)を達成したとしている。
ビルド時プリレンダリングと完全なページライフサイクル
ページ描画のライフサイクルに関しても大幅な機能拡張が行われた。初期バージョンでは初回リクエスト後のISR(Incremental Static Regeneration:ページの静的生成とバックグラウンド再生成を組み合わせる仕組み)のみをサポートしていたが、1.0ではビルド時のプリレンダリングに対応した。
これにより、generateStaticParams() や getStaticPaths() を用いてビルド時にページを事前生成し、ページレベルのISRを通じてパスやタグ単位でのオンデマンド再検証(キャッシュ破棄)を行う一連の流れが利用可能となった。また、完全な静的サイトとして書き出す output: "export" もサポートしている。
キャッシュ機能については、App RouterとPages Routerの間、および各種ランタイム間で共通のキャッシュ機能セットが提供される。さらに、Cloudflare独自の「Workers Cache」と連携したキャッシュ制御にも対応している。
観測性・エコシステム対応とWorkers環境への最適化
運用のしやすさや既存のエコシステムとの親和性も重視されている。トレーシング機能はNext.jsと互換性を持っており、既存のOpenTelemetryやSentryを用いた監視設定をそのまま維持できる。Cloudflare Workers上で実行する場合には、同プラットフォームの「Workers Observability」とネイティブに連携する。
加えて、公開APIである next/* の各モジュールを実装し、認証やMDX、画像最適化、フォント、メタデータ、環境変数といったNext.jsの一般的な設計パターンを幅広くカバーしている。
サーバー側コードの実行環境としては、CloudflareのJavaScriptランタイムである「workerd」上で開発・本番ともに稼働させることが可能だ。これにより、画像最適化やデータベース接続を高速化する「Hyperdrive」などのCloudflareバインディングへ直接アクセスできる利点がある。一方で、Cloudflare Workersの無料プランだけでなく、NetlifyやAWS Lambdaなど他社の実行環境への展開も可能であり、特定のベンダーに依存しないポータビリティを確保している。
2コマンドでの容易な移行と開発の優先順位
既存のNext.jsプロジェクトからの移行作業も簡素化されている。npx vinext check で互換性を検証し、npx vinext init を実行するだけで、既存のディレクトリ構造やコードを維持したままViteおよびデプロイ設定を自動生成できるという。
なお、Next.js 16で導入されたCache Components("use cache" ディレクティブ)への対応について、同社は利用ユーザーへのヒアリング結果に基づき、現時点では限定的なサポートに留めていると明かした。多くの開発チームが移行の前提条件として求めていないことから、まずはルーター互換性やレンダリング基盤といったコア機能の充実に開発リソースを集中させる方針をとっている。