Amazon Web Services ブログ

AWS Amplify JavaScript Library がより少ないバンドルサイズとより少ないロード時間に

AWS Amplify JavaScript Library において、Auth, Storage, Notifications, Analytics などの重要なカテゴリのバンドルサイズが大幅に縮小されたことをお知らせできて嬉しく思います。これは、ユーザーがアプリを使用する際のロード時間の短縮につながります。

バンドルサイズの縮小は、コミュニティからの要望に応えたものです。私たちは Amplify JavaScript Library を使用する際のバンドルサイズと Tree shaking を改善し、ユーザーに高速でパフォーマンスの高いエクスペリエンスを提供できるように努めています。

バンドルサイズ縮小の重要性

JavaScript 開発者の期待に応えるため、AWS サービスとやり取りする基盤となるクライアントを作成してツリーシェイクを最適化しました。これによって、バンドルサイズを大幅に縮小しながら、お客様が必要とする体験を提供できるようになりました。また、依存関係を削除し、Fetch などのブラウザ API を使用してバンドルサイズをさらに縮小しています。

これらの変更により、私たちはライブラリスタックを制御し、一般的に使用されるフレームワークやビルドツールに最適化できるようになりました。結果として、バンドルサイズは Auth で 26%、Notifications と Analytics で 59%、Storage で 55% 削減されました。

バンドルサイズの削減

注: バンドルサイズは、圧縮後のバンドルサイズと gzip 圧縮バンドルのサイズを示しています。「After」 の結果は Amplify JavaScript v5.3.4 を使用して生成されました。「Before」 の結果は Amplify JavaScript v5.2.4 を使用して生成されました。どちらの結果も、size-limit tool v8.2.6 と Webpack 5.88.0 を使用して生成されています。結果を自分で調べるには、この コメント をフォローしてください。

Amplify JavaScript の未来

この記事に記載されている変更は、バンドルサイズを縮小し、Amplify JavaScript ライブラリを使用する際の全体的なエクスペリエンスを向上させるために計画されている機能改善の始まりにすぎません。今後、私たちは以下の変更を予定しています。

  1. バンドルサイズとアプリのロード時間をさらに短縮します。
  2. TypeScript での開発体験を向上させます。これには IDE のオートコンプリートやインテリセンスの改善が含まれます。この RFC にフィードバックをいただければ幸いです。
  3. SolidJS, Astro, NuxtJS などの追加フレームワークやツールのサポートを含め、サーバーサイドレンダリングのサポートを拡張します。

これらの注力分野は、コミュニティからのフィードバックに基づいており、Amplify JavaScript Library の次期メジャーバージョンの一部として、これらの変更を進めていることを嬉しく思います。

AWS Amplify でアプリケーションを構築するには、当社の ドキュメント をご覧ください。コミュニティとのつながりを保つには、GitHub リポジトリ で私たちをフォローし、Discord server に参加してください。

本記事は「AWS Amplify JavaScript Library Announces Leaner Bundles and Faster Load Times」を翻訳したものです。翻訳はソリューションアーキテクトの高柴元が担当しました。