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でいろいろ試していきたいと思います!