· プログラミング · 2 min read · ... views
なぜNext.jsではなくAstroを選んだのか?

現代のフロントエンドの世界では、Next.jsはほぼ「王様」です。しかし、DevNotesのような静的コンテンツに焦点を当てた個人ブログには、Astroを選びました。なぜでしょうか?
1. デフォルトでJavaScriptゼロ
Astroには独自の「Islands Architecture」があります。デフォルトでは、Astroはブラウザに0KBのJavaScriptを送信します。HTMLは完全にサーバー(またはビルド時)でレンダリングされます。これにより、非常に高速なページロード速度が実現し、Lighthouseスコアは常に100/100を達成します。
一方、Next.jsはSSR/SSGを持っていても、テキストのみのページでも大量のJSバンドル(Reactフレームワークコード)をクライアントにハイドレートします。
2. コンテンツ重視(Markdown/MDX)
Astroはコンテンツサイトを作るために生まれました。AstroのContent Collectionsシステムは非常に強力です:
- Zodによる型安全なスキーマ検証。
- Markdown/MDXのすぐに使えるサポート。
- 記事のクエリとフィルタリングが簡単。
3. フレームワークに依存しない
これが最も優れた点です。Astroを使えば、検索バーにはReactコンポーネント、チャートにはVueコンポーネント、インタラクティブウィジェットにはSvelte…すべて同じプロジェクトで使用できます。
---
import ReactComp from './ReactComp.jsx';
import VueComp from './VueComp.vue';
---
<ReactComp client:load />
<VueComp client:visible />結論
複雑なWebアプリ(ダッシュボード、SaaS)を構築する場合、Next.jsが依然として第1の選択です。しかし、ブログ、ポートフォリオ、ドキュメント…を作るなら、Astroが最適です。
シンプルで、高速で、コンテンツに集中。それがDevNotesがAstroで動いている理由です。🚀
Share:
