: 품질 지표에 대한 통합적 지침을 제시
Chrome UX Report : 실제 Chrome 사용자가 경험하는대로, 각 Web Vital에 대해 사이트의 성능을 빠르게 평가할 수 있음
: 핵심 사용자 경험 요구사항. 모든 웹 경험에서 중요한 사용자 경험의 공통 집합
https://developers-kr.googleblog.com/2020/05/Introducing-Web-Vitals.html
⭐ 로딩 경험
<img>
요소
<svg>
요소 내부의 <image>
<video>
요소(포스터 이미지 사용)
url()
함수를 통해 로드된 배경 이미지가 있는 요소(CSS 그라데이션과는 대조적임)
텍스트 노드 또는 기타 인라인 수준 텍스트 하위 요소를 포함하는 블록 수준 요소
: 처음부터 단순하게 작업을 진행하기 위해 의도적으로 요소 제한
⭐ 상호 작용
메인 스레드는 일시적으로 사용 중인 상태가 됨
FID는 FCP와 TTI(time to interactive) 사이의 일부 콘텐츠를 렌더링했지만 아직 안정적으로 상호작용할 수 없는 상태
<input>
, <textarea>
)<select>
)<a>
)뷰포트 내의 가시적 요소가 두 프레임 사이에서 시작 위치가 변경될 때마다 layout-shift
항목을 보고함
기존 요소가 시작 위치를 변경할 때만 발생
/*해당 움직임에 대한 impact fraction(영향분율)과 distacne fraction(거리분율)이라는 두 가지 측정값을 사용해 계산*/
layout shift score = impact fraction * distance fraction
영향분율 : 불안정 요소가 두 프레임 사이 뷰포트 영역에 미치는 영향을 측정
거리분율 : 뷰포트를 기준으로 불안정 요소가 이동한 거리 측정
프레임에서 *불안정 요소*가 수평 또는 수직으로 이동한 최대 거리를 뷰포트의 가장 큰 치수
위의 예에서 가장 큰 뷰포트 치수는 높이이고 불안정한 요소는 뷰포트 높이의 25%만큼 이동. 거리분율 = 0.25
따라서 이 예에서 영향분율은 0.75
이고 거리분율은 0.25
이므로 레이아웃 이동 점수 = 0.75 * 0.25 = 0.1875
👉 모두 중요한 사용자 중심의 결과를 포착, 현장에서 측정 가능, 이를 뒷받침해주는 실험실 진단 측정항목 등가 기준과 도구가 있음
https://web.dev/defining-core-web-vitals-thresholds/
👉 완벽한 임계값은 없으며 때로는 여러 가지 합리적인 임계값 중 선택해야 할 수도 있음을 인지하면서 위의 기준을 가장 잘 충족하는 임계값을 선택하는 것
: 정확하고 정량적으로 측정 가능한 객과적인 기준으로 성능을 이야기하는 것
Web Vitals 측정방법
👉 일반적으로 좋은 성능을 보장하기 위해서는 둘 다 활용하는 것이 좋음
// Example of using web-vitals to measure & report CLS, FID, and LCP.
import {getCLS, getFID, getLCP} from 'web-vitals';
function reportToAnalytics(data) {
const body = JSON.stringify(data);
(navigator.sendBeacon && navigator.sendBeacon('/analytics', body)) ||
fetch('/analytics', {body, method: 'POST', keepalive: true});
}
getCLS((metric) => reportToAnalytics({cls: metric.value}));
getFID((metric) => reportToAnalytics({fid: metric.value}));
getLCP((metric) => reportToAnalytics({lcp: metric.value}));
개발할 때와 웹을 검색할 때, 모두 각 Core Web Vital의 상태에 쉽게 접근할 수 있도록 하는 것이 매우 중요
웹 페이지의 품질을 개선하기 위한 자동화된 오픈 소스 도구
Google Chrome 브라우저에 직접 내장된 웹 개발자 도구 모음
웹페이지의 콘텐츠를 분석하여 페이지 속도를 향상하기 위한 추천사항을 제공
사이트의 검색 트래픽 및 실적을 측정하고, 문제를 해결하며, Google 검색결과에서 사이트가 돋보이게 할 수 있음