Astroを使ってみた感想

技術 Astro Web開発

このブログはAstroで構築しています。実際に使ってみた感想をまとめます。

Astroとは

Astroは、コンテンツ中心のWebサイトを構築するための現代的な静的サイトジェネレーターです。 「デフォルトでJavaScriptゼロ」という思想が特徴的で、必要な部分にだけクライアントサイドのJavaScriptを追加できます。

良かった点

1. 驚異的なパフォーマンス

ビルド後のサイトは本当に軽快です。不要なJavaScriptが含まれないので、 Lighthouseのスコアも簡単に90点以上が出ます。

2. 書きやすいテンプレート構文

.astroファイルの構文は、HTMLに近い感覚で書けて直感的です。 frontmatterでTypeScriptが書けるのも便利。

---
const greeting = "Hello";
---
<h1>{greeting}, Astro!</h1>

3. フレームワーク非依存

ReactでもVueでもSvelteでも、好きなフレームワークのコンポーネントを使えます。 プロジェクトに応じて柔軟に選択できるのは大きな利点です。

4. Content Collections

ブログのような構造化されたコンテンツの管理が非常に楽です。 Zodでスキーマ定義できるので、型安全にコンテンツを扱えます。

気になった点

1. エコシステムがまだ発展途上

Next.jsやGatsbyと比べると、プラグインやテンプレートの数は少なめです。 ただ、基本的な機能は十分揃っているので、個人ブログには問題ありません。

2. 学習コスト

Astro独自の概念(Island Architecture、Content Collectionsなど)を 理解する必要があります。ただ、ドキュメントが充実しているので、 それほど難しくはありません。

まとめ

ブログや企業サイトなど、コンテンツ中心のサイトには最適な選択肢だと感じました。 特にパフォーマンスを重視したい場合はAstroを検討する価値があります。

これからもAstroでいろいろ試していきたいと思います!