AstroとNext.jsで同じサイトを作り比べてみた
Astro Next.js 技術選定
soften.jp を公開するにあたり、同じデザイン・同じコンテンツのサイトを Astro と Next.js(output: "export" による静的書き出し) の2通りで実装してみました。
なぜ2つ作ったのか
フレームワークの比較記事は世の中にたくさんありますが、結局のところ「自分のサイトを自分で作ってみる」のが一番よく分かります。
- ビルド時間
- 開発体験
- コード量
- Markdown の扱いやすさ
- 保守のしやすさ
を、実際のサイトで比べるのが目的です。
第一印象
Astro はコンテンツサイトのために設計されているだけあって、Markdown ブログ・サイトマップ・RSS がほぼ標準機能として揃っています。Content Collections による型安全な frontmatter は特に快適でした。
一方 Next.js は、gray-matter や Markdown パーサーを自分で組み合わせる必要がありますが、その分自由度が高く、将来 Web アプリへ拡張する道がそのまま繋がっています。
結論はサイトを運用しながら
まずは両方をしばらく並行運用して、記事を追加するときの手間や、依存パッケージの更新のしやすさを体感してから本命を決める予定です。結果はまたこのブログで報告します。