最終更新:
Next.jsとAstroの違いは?レンダリング・JS・用途を比較
AstroはJavaScriptがゼロなの?
Astroの島には何を置くの?
静的サイトしか作れないの?
速度ならAstroの圧勝?
ブログにログイン機能があったらNext.js?
移行前に何を試せばいい?
描画方式とクライアントJSは別の軸
| 観点 | Next.js App Router | Astro |
|---|---|---|
| コンポーネント | 既定はServer、操作部分はClient | Astroと必要なUIの島 |
| ブラウザJS | Client境界や機能に依存 | client指示や自前scriptなどに依存 |
| 静的生成 | 対応。ルートや設定による | 既定で事前生成 |
| リクエスト時の描画 | サーバー実行環境で対応 | アダプターとルート設定で対応 |
| 検討の起点 | Reactの状態・画面構成を共有するアプリ | コンテンツ中心で部分的に操作するサイト |
静的生成ならJSがない、SSRならJSが多い、とは限りません。 HTMLをいつ作るかと、ブラウザでどの処理を動かすかを分けます。
1ページで比較してから選ぶ
記事本文と検索ボックスを持つ画面なら、本文はHTML、検索だけを操作部分として設計できます。AstroではUIコンポーネントに必要なclient指示を付け、Next.jsでは検索部分をClient Componentにする構成が候補です。
JSの転送量、初回表示、操作可能になるまでの時間、検索の応答を同じ条件で比較します。動的ページが必要な場合は、認証とDBの実行場所・キャッシュの更新・デプロイ先の対応も確認してください。
参考資料
確認日:2026年9月26日。製品の仕様・料金・対応環境は導入時にも確認してください。
- Next.js: Server and Client Components:既定Server Componentsとクライアント境界、JS削減。
- Astro Islands:静的HTMLと明示的なclient指示。
- Astro on-demand rendering:アダプターとルートごとのSSR。