Google I/O Extends in 송도 가벼운 리뷰(웹 FE 성능개선 / LCP,CLS,FID/INP)

웰디(Well-D)·2023년 8월 26일
0

해당 내용은 세션을 듣고 와서 같은 커뮤니티에 있는 분들께 내용을 공유한 것을 다시 정리한 글입니다.

구글 I/O Extends 송도를 참석했다.
솔직히 가벼운 마음으로 갔기 때문에 점심쯤 부터 시작하는 세션을 한 세개정도 들었다.(플러터 뉴 기능, 웹성능개선, LLM)
개인적으로는 솔직히 웹..부분을 가장 흥미있게 들었고, 조금이나마 이해할수있었다. 🙂
물론 플러터와 LLM도 모두 재미있긴했다.

플러터와 LLM에 대한 후기는 차차 (언젠가) 남겨보도록 하고, 개인적으로 인상깊었던 웹 프론트엔드 세션에서 들은 성능개선 부분 을 정리해보았다.

1. LCP : 뷰포트 내에있는 가장큰 오브젝트가 로드될때 걸리는 시간 줄이기(가장 개선 어려움)
2. CLS : 페이지내의 리소스가 비동기적으로 로드 되는 경우 타파하기(예를들어..모달이 떴는데 갑자기 모달안에 광고가 나와서 버튼이아닌 광고를 잘못 누르는경우)
3. FID(INP): 사용자가 페이지와 처음 상호작용한 시간 / 브라우저가 응답한 시점까지의 시간차 줄이기

세가지 부분의 성능개선에 관한 이야기었다.

1번의 경우
=> preload로 이미지 미리 가져오기
SSR사용하기 (CSS in JS도 어쨌거나 랜더링 시간 발생하므로) / fetchPriority API사용하기(대신 남용금지, 브라우저가 헷갈려함)/
CDN사용하여 소스가져오는 물리적 거리 줄이기

2번의 경우
=> explicit sizes : 이미지의 정확한 사이즈 제공, 비디오는 aspect-ratio 로 크기 자동추론 /
BF cache : 페이지 전체의 스냅샷을 저장하여 로드가 완료된 이미지자체를 뒤로가기를 했을때 보여주는 등 활용 (lighthouse 10.0.0 부터 제공, 브라우저도 기본제공 / 주의하여 사용)
Layout inducing : 애니메이션 이동시 top left 사용 지양, compositor(transform등) 사용해야함

3번의 경우
=> 자바스크립트가 싱글쓰레드인점을 감안하여 task쪼개기

사족

사실 일부분은 이미 활용하고 있는, 구현시 당연시 하는 것 일 수 있지만 이렇게 정리해서 발표해주시니 좀 더 와닿았다는 생각도 들고, 스스로의 공부가 부족하다는 생각도 들었다.

또, 이렇게 성능지표가 다양하다니! 발전시킬 부분이 많으면서도 방법이 정말 다양하겠구나..또 쉽게 고칠수 없는 부분도 있겠구나..하는 생각 역시 들었던 좋은 세션이었다.

profile
Wellness 잘사는 것에 진심인 웰디입니다. 여러분의 몸과 마음, 통장의 건강을 수호하고싶어요. 느리더라도, 꾸준히

0개의 댓글