ろぼいんブログ

Astro v4.4リリース!開発ツールバーやパフォーマンス改善をチェック

サムネイル

Astroはコンテンツファーストの静的サイトジェネレーターです。その最新バージョンであるAstro 4.4がリリースされました。

このアップデートは、開発者の生産性向上とパフォーマンス改善に焦点を当てています。この記事では、Astro 4.4の主要なアップデートポイントを紹介します。

広告

開発ツールバーのパフォーマンス監査機能

パフォーマンス監査はAstro 4.4の目玉機能の一つです。アクセシビリティ監査機能に続き、この新機能はWebサイトのパフォーマンス問題を特定し、解決策を提案するのに役立ちます。

たとえば、開発ツールバーは画面上部に配置された遅延読み込みの画像を警告し、より優れたパフォーマンスのためにイーガーロードを推奨します。

多くのWebサイトでは、最初の通信量を減らして高速化するために画像を遅れて読み込む「遅延読み込み」が使われています。しかし、最初に表示されるビューポート内の画像が遅延読み込みされると、パフォーマンスが悪化することが知られています

Astro 4.4の開発ツールバーはこのような問題を特定し、修正するためのガイダンスを提供します。

監査リストUI

Astro 4.4から、開発ツールバーの監査アプリには、検出された問題の小さなUIが含まれるようになりました。このリストを使うと対処すべき問題が一目でわかり、問題のあるページ部分に素早く移動して修正できます。

広告

今後、このUIはさらに改善され、各問題についての詳細情報や修正方法に関するガイダンスが提供される予定です。

ストリーミングパフォーマンスの改善

AstroはNode.js上でのReadableStreamsのパフォーマンスが想定以上に遅いことを発見し、AsyncIterableを使用するよう移行しました。この変更により、大きなサイドバーをもつStarlightベースのWebサイトのビルド時間が最大で47%短縮されるなど、顕著なパフォーマンス向上が見られました。

リモート画像の寸法を自動推測

Astro 4.4はリモートの画像の寸法を自動的に推測できるようになりました。新しいinferSize属性を使うことで、従来必須だったwidthheightの属性を省略できます。

これはCMSや他の外部ソースからの画像を扱うときなど、ビルド時に画像の寸法が分からない場合にとくに便利です。

---
import { Image, Picture } from "astro:assets";
---
<Image src="https://example.com/image.jpg" alt="A cool image" inferSize />
<Picture src="https://example.com/image.jpg" alt="A cool image" inferSize />

ただし、この機能を使用するととくにSSRを使用している場合にパフォーマンスが悪化するとのことです。そのため、必要な場合にのみ使用することが推奨されています。

広告

この機能の詳細は公式ドキュメントを参照してください。

まとめ

次のいずれかのコマンドを実行すると、Astroをv4.4にアップデートできます。

Terminal window
npx @astrojs/upgrade
npm install astro@latest
pnpm upgrade astro --latest
yarn upgrade astro --latest

このリリースには多数のバグ修正も含まれています。詳細はリリースノートで確認できます。

参考

記事をシェア

Xに共有するBlueskyに共有するMisskeyに共有するLINEに共有するThreadsに共有する

フォローして最新情報を入手

Googleの優先ソースに追加すると、このサイトの記事をGoogleで見つけやすくなります。また、ぜひXやRSSフィードもフォローしてください。

Googleの優先ソースとして追加するGoogleの優先ソースとして追加するXのロゴ
著者のアイコン画像

生まれた時から、母国語よりも先にJavaScriptを使っていました。ネットの海のどこにもいなくてどこにでもいます。

Webフロントエンドプログラマーとして、TypeScriptを用いたWebアプリやブラウザー拡張機能を制作。Xのシャドウバン検知ツール「Shadowban Scanner」やリンクカード復活ツール「Restore Link Card」を公開し、国内外のメディアで紹介されました。iGEM 2023ではJapan-UnitedチームのWikiを制作してGrand Prizeの獲得に貢献。ブログではXやSNSの最新ニュース、不具合の検証と対処法、フロントエンド開発の知見を発信しています。