Astroを使う理由【つながる勉強会 Advent Calendar 2022】
この記事は「つながる勉強会 Advent Calendar 2022」の 4日目の記事です。
日 | タイトル |
---|---|
1 | フルリモートで働くうえで”テキストコミュニケーション”で気をつけていること |
2 | 生産性を爆上げするおすすめツール達 |
3 | ContentfulにAPI経由でメディアをアップロードして公開する |
Astro とは
Astro は、いま最も勢いのある次世代型 SSG です。
この記事では、なぜ Astroを使うのか、なにが旨味なのか紹介したいと思います。
なぜ Astro を使うのか
- ゼロ JavaScript で軽量・高速
- 豊富なドキュメント
- 豊富なインテグレーション機能群
- 既存資産を流用できる
- デプロイが容易(エッジにも)
- 活発なコミュニティの存在
- 安心のスポンサー
ゼロ JavaScript で軽量・高速
Astro は、JSX形式でのコンポーネント記述をサポートしていますが、ビルドするタイミングでほとんどの JavaScript コードを引っぺがしてくれます。
それによって不要なJSコードが減り、軽量で高速なコンテンツの提供を可能にしています。
豊富なドキュメント
Astro のドキュメントを見ると、狂気的なまでにドキュメントに力を入れていることが分かります。
まだ初期のプロジェクトにも関わらず、多言語に対応していたり、ダークモードも備えています。
これによって、世界中の開発者を引き寄せてより強力なプロジェクトになっているように感じます。
豊富なインテグレーション機能群
オールインワンWebフレームワークを謳っているように、初期プロジェクトとは思えないプラグイン群がそろっています。
このブログでも、 @astrojs/image
, @astrojs/mdx
, @astrojs/sitemap
を
利用していますし、今後も必要に応じて拡張していく予定です。
既存資産を流用できる
上述のインテグレーション機能を利用すると、Astroのコンポーネントを React や Vue, Svelte, Solid.js で記述して Astro コンポーネントから呼び出すことが可能です。
Next.js の SSG で作っていたブログからコンポーネントをそのまま移植なんて言うことも出来そうです。(未検証)
デプロイが容易(エッジにも)
先述の通り、Astro は SSG なので、Apache や Nginx などの Webサーバー上にも配置できますし、当然CDN上にも配置可能です。
また、SSRとしても Cloudflare Pagesや Netlify, Vercel にデプロイすることができます。Astroのデプロイについて
デプロイの容易性はメディア運営のコスト圧縮に重要なポイントなので、地味ですが素晴らしい利点です。
活発なコミュニティの存在
Astro には Dicord コミュニティがあります。(公式ページ下部にリンクがあります)
OSSプロジェクトは、人の手によって支えられています。献身的なコントリビューターとその利用者がいなければ、使われないプロジェクトになってしまうので、コミュニティの活発度は重要です。
安心のスポンサー
ついOSSプロジェクトを見ると、どんな企業がバックアップしているのか調べてしまう悪癖があるのですが、netlify, Vercel, ButterCMS など多数の企業がスポンサーとして付いていました。
なんやかんやデファクトスタンダードを取りに行くレベルのプロジェクトには企業のバックアップが欠かせない要素だと思っているので、これらは技術選定時に背中を押してくれる要素です。
まとめ
いかがでしたか?
日本ではまだ認知度の低い Astro ですが、開発者体験も素晴らしくて、個人的には SSG の覇権候補だと思っています。ぜひ個人のブログ単位から導入してみてはいかがでしょうか??
アドベントカレンダー明日は、よしたろうさんです!お楽しみに!!
追記
何気にアドベントカレンダーに参加するのはこれが初めてでした。特定の技術についてのカレンダーや、コミュニティ単位でのカレンダーなどそれぞれに色があって、エンジニアの年末を盛り上げる素晴らしいイベントだと思うので、今後も極力参加していきたいと思います。