🌳
Unpic:unpic-imgによって画像最適化する
Unpicとは
-
Unpic
とはウェブ上で画像を扱うためのツールの集まりです。 -
unpic-img
unpic lib
unpic placeholder
unpic pixels
といったツールがあります。
unpic-imgとは
-
Unpic
のコアとなるのがunpic-img
で、さまざまなフロントエンドライブラリ、フレームワーク用の画像コンポーネントです。例えばNext.js
を使ってたらnext/image
によって画像を最適化することができますが、そのような画像コンポーネントがないライブラリ、フレームワークを使ってる場合にunpic-img
を使うことによって画像を最適化することができます。 - 具体的には主にこちらのライブラリ、フレームーワークに
unpic-img
を使用することができます。
ex). Angular, Astro, Lit, Preact, Qwik, React, Solid, Svelte, Vue, WebC - 因みに
Next.js
にもunpic-img
を使用することはできます。next/image
との主な違いはunpic-img
はサポートされるCDNを通じて画像を直接リサイズ・ロードし、画像処理を一回限りにしCDNの機能を最大限に活用します。(後述のunpic libとは
と関連します)またnext/image
と異なってunpic-img
はデフォルトでobject-fit: cover
を使用し、アスペクト比に応じて画像をクロップします。CDNは自動的に検出され、多くのCDNをサポートしているためローダーの指定が不要です。またfixed
constrained
fullWidth
のレイアウトモードを提供し、srcset
とsizes
属性の生成を最適化します。こちらにイメージが載っております。
unpic-imgによって画像最適化する
- 例えば
React
にunpic-img
を使用する場合は@unpic/react
をnpm
からインストールし、Image
を使用することによって画像最適化することができます。
npm install @unpic/react
import { Image } from "@unpic/react";
<Image
src="https://cdn.shopify.com/static/sample-images/bath.jpeg"
layout="constrained"
width={400}
height={300}
alt="A lovely bath"
/>
unpic libとは
-
unpic lib
とは異なる画像CDNのURLを検出し、それらを変換するための統一インターフェースを提供するライブラリです。CMSやユーザー生成コンテンツなど、さまざまなソースからの画像URLを扱うことができ、これらの画像がどのCDNから来たものであっても、またすでに変換が施されてても一貫した方法で画像を管理し最適化できます。 -
unpic lib
とunpic-img
を使用することによって画像をローカルにダウンロードしてリサイズしたり、別の画像サービスで再処理せず、直接元のCDNを利用して画像を変換できます。これにより開発者は画像の配信と最適化を効率的に行いウェブサイトのパフォーマンスとUXを向上できます。
unpic placeholderとは
-
unpic placeholder
とは画像からドミナントカラー(同じ色相で統一された複数の色)を抽出またはBlurHash
値をレンダリングして、低品質の画像プレースホルダー(LQIP)を生成します。これらのプレースホルダーは画像ロード中に表示され、LCP時間(ページ内で最も大きいコンテンツの読み込み時間)を短縮し見た目を改善します。約150バイトのサイズで、img要素の背景として適用できます。unpic-img
と組み合わせることで、ウェブ開発の効率化とUXの向上が期待できます。
unpic pixelsとは
-
unpic pixels
とはDeno
やNode
などのJavaScriptランタイムを使用してPNG
またはJPEG
画像の生データまたはURLからピクセルを読み込み、デコードするモジュールです。このプロセスを通じて、画像のデコードされたピクセルと寸法を取得できます。
自らの備忘録のために投稿してますが、なにかお役に立てましたら幸いです!👏
また、なにか間違ってましたらご指摘いただけますと幸いです!🙏
Discussion