高速なコンテンツ駆動のWebサイト構築に最適化された、JavaScriptによるWebフレームワークAstroの開発チームは、最新バージョンとなる「Astro 5.0」を12月3日(現地時間)にリリースした。
Astro 5.0では、コンテンツの出所に関係なくAstroプロジェクト内でコンテンツを定義、ロード、アクセスするための、タイプセーフなAPIを提供する新たなコンテンツ管理方法である、コンテンツレイヤが導入されている。
コンテンツレイヤは、Astro 2.0から導入されていたコンテンツコレクションが抱えている、いくつかの課題を解決しており、ローダによってディスク上の任意の場所からコンテンツをロードできるほか、数行のコードで任意のAPIからコンテンツを取得するための独自のローダを定義可能で、一般的なソースからのコンテンツ取得にも対応する。
さらにコンテンツレイヤは、既存サイトのパフォーマンス向上にも寄与し、Astro 5.0ではコンテンツの多いサイトのMarkdownページで、コンテンツコレクションの構築が最大5倍、MDXでは最大2倍高速化されるとともに、メモリ使用量が25〜50%削減される。
あわせてAstro 5.0では、アイランドアーキテクチャコンセプトがサーバアイランドに進化しており、サーバアイランドの使用によって、高性能な静的HTMLと動的なサーバ生成コンポーネントを、同じページ上で組み合わせられるようになった。
サーバアイランドは、ユーザーのアバター、ショッピングカート、製品レビューといったパーソナライズされたコンテンツなど、もっとも動的なコンテンツに使用され、これらのコンポーネントが遅延されると、ページ自体をより積極的にキャッシュできるようになる。ログインしているかどうかに関係なく、ページのもっとも重要な部分がEdge CDNにキャッシュされているため、迅速に表示される。また、動的なアイランドがロードされる前に、カスタムフォールバックコンテンツを短時間表示するよう設定することも可能となっている。
なお、各アイランドは訪問者のエクスペリエンスを最適化するために個別にロードされるため、レガシーバックエンドに接続されているような表示の遅いアイランドでも、他のパーソナライズされたコンテンツの表示や操作の足かせになることはない。
Astro 5.0ではさらに、Webサイトの出力におけるハイブリッドオプションがデフォルトのstaticオプションに統合され、アダプタを追加するだけでサーバ上で実行時に個別のルートをレンダリングできるようになったほか、変数をクライアントで使用するかサーバで使用するかの設定や、クライアントで公開したりサーバビルドにインライン化したくないAPIキーなどの変数のシークレット指定といった機能を備えたastro:envが新たに導入されるとともに、Vite 6に同梱されるようになるなど、数多くの機能追加・改善が行われている。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です