Angularが新機能「インクリメンタルハイドレーション」をプレビュー。静的サイトをロード後、JavaScriptが必要になった時点で動的に組み込み

今回は「Angularが新機能「インクリメンタルハイドレーション」をプレビュー。静的サイトをロード後、JavaScriptが必要になった時点で動的に組み込み」についてご紹介します。

関連ワード (快適、説明、開発等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Webアプリケーションフレームワーク「Angular」の開発チームは、次期Angularに搭載予定の新機能「Incrmental Hydratio」(インクリメンタルハイドレーション)をプレビュー公開しました。

We just shared a feature preview of the next step in Angular’s hydration story.

Meet Incremental Hydration. pic.twitter.com/u60q2C2NaC

— Angular (@angular) October 16, 2024

基盤となるハイドレーションとは?

インクリメンタルハイドレーションの基盤となる「ハイドレーション」機能とは、サーバサイドで静的なHTMLを生成し、それをWebブラウザで表示した後で、何らかのイベントをきっかけにJavaScriptをアタッチすることで、後から動的なWebサイトを実現する手法です。

まず最初に静的なHTMLのみを読み込んで表示することで、Webサイトを高速に表示できることが利点となります。

Angularは既にサーバサイドレンダリングによる静的なHTML生成に対応し、ハイドレーションにも対応しています。

そして今回新たに、ハイドレーションをコンポーネントごとに個別に設定できる「インクリメンタルハイドレーション」がプレビューされました。

パーツごとにハイドレーションを設定、実行

インクリメンタルハイドレーションは、Webサイトのパーツごとにハイドレーションを設定、実行できる機能です。必要なときに必要な場所にだけJavaScriptをアタッチすることで、より快適なユーザー体験を実現する手段となります。

下記は公開されたインクリメンタルハイドレーションのデモ動画からのキャプチャです。

まず通常のハイドレーションと同様に、サーバサイドで静的なHTMLが生成され、それがWebサイト上に高速にロード、表示されます(デモでは視覚的に分かりやすいように、JavaScriptがアタッチされていないコンポーネントがモノクロで表示されています)。

fig1

カーソルで検索フィールドをクリックすると、その瞬間に検索フィールドにJavaScriptがアタッチされ、検索機能が有効になります。

fig2

画面左下のハイドレーションの状態を示すウィンドウには、1つのコンポーネント、容量にして1.2kBのJavaScriptがディレイなくアタッチされたことが示されています。

fig3

次にカーソルを商品の上にホバーさせると、その瞬間に商品の一段目のパーツにもJavaScriptがアタッチされ、機能が有効になりました。

fig

インクリメンタルハイドレーションのコード

インクリメンタルハイドレーションを有効にするには、まずApplicationConfigのProvidersクラスで「withPartialHydration」を設定します。

fig5

その上で、アプリケーションテンプレートの「@defer」ブロックでhoverなどでハイドレートするように記述します。

fig6

「@defer」ではさまざまなトリガーを設定してハイドレーションを実行できると説明されています。

fig7

Angularは現在最新バージョンが18となっており、11月にバージョン19がリリース予定です。インクリメンタルハイドレーションもバージョン19で実装が開始されると見られます。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
【コラム】SEO担当者はGoogleアルゴリズムアップデートに慌てる必要はない
ネットサービス
2021-06-22 20:08
Windows 10の「エクスプローラー」、「ごみ箱」などが正面を向くデザイン変更(Build 21343で)
アプリ・Web
2021-03-26 17:05
SafariもWebAssemblyのガベージコレクション機能の実装に着手。Technology Preview 167で明らかに
Apple
2023-04-07 14:28
ソラコムがIoTプラットフォーム「SORACOM」をWi-Fiや有線からも利用可能にする「SORACOM Arc」提供開始
IoT
2021-06-26 15:19
AIにフォーカスしたRDB「Oracle Database 23ai」正式リリース。AI用のベクトルサーチなど可能に
Oracle
2024-05-07 16:50
IBMとパロアルトネットワークス、セキュリティ分野で包括的に協業
IT関連
2024-05-22 00:47
ピンク・フロイドのドラマーも出資するDisciple Mediaはクリエーターエコノミーのためのプラットフォームを構築
ネットサービス
2021-07-24 02:07
Ubuntuが.NET 6/ASP.NETをネイティブサポートすると発表。最適化されたコンテナイメージをCanonicalが配布開始
.NET
2022-08-17 21:45
Armが次世代プロセッサーアーキテクチャ「Arm9」を発表
ハードウェア
2021-04-01 16:37
クラウドで“お堅い会社”が変わり始めた–関西電力送配電の体験記
IT関連
2022-10-08 17:09
「たこ焼きはどこまで大きくできるのか」解明に数学で挑戦 京大大学院の橋本教授と理系YouTuberが論文公開
企業・業界動向
2021-08-17 18:04
Razer、N95マスク「Project Hazel」プロジェクト発表(もちろん光る)
製品動向
2021-01-14 16:24
富士通、興味分野や度合いを可視化できる新サービス
IT関連
2021-01-19 08:12
部屋の模様替えのデザイン検討や家具の購入もできるプラットフォーム「The Landing」
ネットサービス
2021-02-27 12:52