プラットフォーム横断のNext.js:アダプター、OpenNext、そして私たちのコミットメント
2026年3月25日(水)
投稿者:Jimmy Lai (@feedthejim)、JJ Kasper (@_ijjk)
Next.js 16.2では、OpenNext、Netlify、Cloudflare、AWS Amplify、Google Cloudとの協力により構築された安定版Adapter APIが導入されました。この記事では、その経緯と、Next.jsがすべてのプラットフォームで適切に動作することを保証するための私たちのコミットメントについて説明します:
- Adapter API(安定版):任意のプラットフォームがターゲットにできる、型付きでバージョン管理されたアプリケーションの記述
- テストスイート:Vercelを含むすべてのアダプター向けの共有正確性テスト
- 検証済みアダプター:Next.js組織の下でホストされるオープンソースのコミュニティ所有アダプター
- エコシステムワーキンググループ:プロバイダー間での変更調整のための常設フォーラム
これまでの経緯
多くのNext.jsアプリは、next startを実行する単一のNode.jsサーバーとしてデプロイされています。現在、数十万のチームが制限なく様々なプラットフォームでこれを行っています。
しかし、アプリのスケーリングには通常、複数のサーバーインスタンスの実行が必要です。その際、いくつかの要素が最初から正しく動作する必要があります:キャッシュされたコンテンツはインスタンス間で同期を保つ必要があり、オンデマンド再検証は伝播する必要があり、ストリーミングは確実に動作する必要があります。これらは最適化ではなく、機能要件です。
そして、選択できるパフォーマンス選択肢があります:グローバルCDNからのキャッシュコンテンツ配信、エッジでのコンピュート実行、サーバーレス関数でのコールドスタート最適化。これらはそれぞれ、すでに正しく動作する必要があるものの上に、アーキテクチャの複雑さを追加します。
プラットフォームとアーキテクチャに応じて、全体的な表面積は積み重なります:ストリーミング、Server Components、Partial Prerendering、ミドルウェア、Cache Components、オンデマンド再検証。各機能とそれらの相互作用は、これまで正式に文書化されていませんでした。
進化するリリース全体でマルチテナント環境において完全な忠実度でNext.jsをサポートしようとするプラットフォームプロバイダーにとって、これらの課題は複合的でした:
Next.jsチームがNetlifyの課題について話し合うオファーで連絡してきたとき、私たちは共有する具体的な問題のリストを作成し始めましたが、これらの90%の共通点は、単純にビルド出力を設定し読み取るための文書化された安定したメカニズムの欠如であることがすぐに明らかになりました。それが何よりも必要なものでした。それがJimmyに伝えたことであり、そうして良かったと思っています。
— Philippe Serhal、Netlifyエンジニア
欠けていたのは、プロバイダーが構築できる上流の安定した公開契約でした。
OpenNextが橋渡しを構築
OpenNextがそのギャップを埋めました。Next.jsのビルド出力をプロバイダーが消費できるものに変換し、フレームワークのセマンティクスを各プロバイダーのプリミティブにマッピングしました。
互換性レイヤーとして始まったものが、特にAWSで早期の本番グレードアダプターとなり、後にCloudflareとNetlifyがその取り組みに参加しました。
OpenNextは、Next.jsのビルド出力がアダプターが直接ターゲットにできる安定した定義されたインターフェースとして機能できることを示しました。その洞察により、Next.jsチームとOpenNextメンテナー、そしてNetlify、Cloudflare、AWS Amplify、Google Cloudのエンジニアとの間でより広範な協力が生まれました。
私たちは2025年4月にBuild Adapters RFCを公開し、ワーキンググループを結成し、それ以来これらのパートナーと協力してAPIの設計、テスト、検証を行ってきました。
Adapter API
Next.js 16.2では安定した公開Adapter APIが提供されます。ビルド時に、Next.jsは型付きでバージョン管理されたアプリケーションの記述を生成します:ルート、プリレンダー、静的アセット、ランタイムターゲット、依存関係、キャッシュルール、ルーティング決定。
アダプターはこの出力を消費し、プロバイダーのインフラストラクチャにマッピングします。アダプターは2つのフックを実装します:modifyConfig(設定読み込み時)とonBuildComplete(完全な出力が利用可能になった時)。
破壊的変更にはNext.jsの新しいメジャーバージョンが必要です。Vercelのアダプターは、プライベートフックや特別な統合パスなしに、この同じ公開契約を使用します。それはオープンソースです。
ワーキンググループのフィードバックの一環として、プラットフォーム統合表面をより良く説明するために、ドキュメントの大部分も再構築しました。新しいガイドでは、Rendering Philosophy、Deploying to Platforms機能マトリックス、PPR Platform Guide、How Revalidation Works、CDN Cachingをカバーしています。
テストスイート
アダプター作成者向けにNext.jsテストスイートを利用可能にしました。これは、ストリーミング動作、キャッシュ相互作用、クライアントナビゲーション、実世界のエッジケースをカバーしています。新機能がリリースされると、その動作はこれらのテストにエンコードされます。
詳細はアダプターテストドキュメントで読むことができます。
アダプター作成者は任意のアダプターを使用してスイートを実行し、各機能に対してパス/フェイルの回答を得ることができます。これはVercelが独自のアダプターに使用するのと同じテストスイートであるため、正確性の基準はすべてのプロバイダー間で共有されています。
検証済みアダプター
検証済みアダプター(Next.js GitHub組織の下でホストされ、Deploying to Platformsドキュメントにリストされる)になるには、2つの要件があります:オープンソースであることと、完全なテストスイートに合格することです。
アダプターをオープンソースにすることで、アダプターのメンテナンスの場所が確保され、問題を報告し、トリアージできるようになります。テストスイートは、アダプターのNext.jsとの互換性を測定できることを保証します。
各検証済みアダプターは、それを構築するチームが所有します。公開権限、リリース頻度、実装決定は彼らのものです。プラットフォームは非常に異なる可能性があり、特定の実装を規定することはできないからです。
プロバイダーは同じ公開APIでクローズドソースアダプターを構築し、出荷することもできます。
公開Adapters APIは今日、以下とともに出荷されます:
- Vercelアダプター:オープンソース、Next.js出力をVercelのサーバーレスおよびCDNインフラストラクチャにマッピング
- Bunアダプター:代替ランタイムで完全なNext.jsデプロイメントターゲットを構築する方法を示すリファレンスアダプター
Netlify、Cloudflare、OpenNextを通じたAWS向けのアダプターは積極的に開発中で、今年後半のリリースが予定されています。
Cloudflareは、開発者がNext.jsアプリをどこにでもデプロイするための安定したオープンな契約に値すると信じているため、最初からOpenNextの一部でした。公式Next.js Adapter APIがそのビジョンを現実にします。Cloudflareのグローバル開発者プラットフォームでNext.jsを実行する開発者は、フレームワークの進化に歩調を合わせるためにNext.jsチームと協力して設計された共有基盤を持つことになります。私たちはこの共有努力のパートナーであることを嬉しく思います。
— Fred K Schott、Cloudflareエンジニア
エコシステムワーキンググループ
私たちはNext.js Ecosystem Working Groupを設立しています。これは、Next.jsチーム、ホスティングプロバイダー、アダプターメンテナー間の常設フォーラムです。会議録は公開されます。グループに参加したい場合は、Jimmyに連絡してください。
プロバイダーには、リリース後に知るのではなく、今後の変更への早期の可視性を持ってもらいたいと考えています。破壊的変更には、その範囲に比例したリードタイムが伴います。新機能はリリース前に環境全体でテストされます。
完全なガバナンス文書では、コミットメントの詳細をカバーしています。
パートナーからの詳細情報
OpenNextとNext.jsチーム間の協力により、コミュニティ主導の回避策が公式標準に変換され、Webフレームワークの未来がオープンさと共有イノベーションの上に構築されることが証明されました。
— Dorseuil Nicolas、OpenNext
Build Adaptersワーキンググループのメンバーに感謝します:Netlify、Cloudflare、Google Cloud、AWS Amplify、OpenNextのエンジニアたちは、このAPIの共同設計と各プラットフォームでの検証に時間を投資してくれました。
アダプターを構築し、バグを報告し、回避策を出荷したすべての貢献者に感謝します。Next.jsは数百万の開発者によって使用されており、その多くはVercelではないインフラストラクチャで実行されています。彼らは同じレベルの信頼性と新機能への同じアクセスに値します。
Adapter APIはそれを提供します:任意のプラットフォームが構築できる共有契約と、私たちを含むすべての人を同じ基準に保つ公開テストスイート。
私たちが開発するすべての新機能は、アダプター契約で文書化されます。RFCプロセスは開かれたままで、APIの進化に合わせてアダプター作成者と調整されます。
詳細情報