· プログラミング  · 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で動いている理由です。🚀

コメント

読み込み中...

Back to Blog