번들 경계

코드가 내려가는 위치와 시점을 나눈다

라우트, 클라이언트 컴포넌트, 서버 경계를 구분하면 어떤 코드가 언제 브라우저에 필요한지 판단하기 쉽다.

dynamic

클라이언트 지연 로딩

next/dynamic으로 차트, 에디터, 지도처럼 무거운 UI를 필요할 때 불러온다.

route

라우트 단위 분리

App Router는 경로별로 필요한 코드만 묶어 페이지 이동 시점의 비용을 나눈다.

server

서버 컴포넌트 유지

상호작용이 없는 데이터 조립 코드는 서버에 남겨 hydration 대상을 줄인다.

지연 로딩 경계 늦게 불러도 되는 코드와 늦으면 안 되는 코드를 구분

초기 화면이 비어 보이면 지연 로딩이 오히려 UX를 해칠 수 있다.

효과 확인
번들 초기 JavaScript 크기가 실제로 줄었는지 확인한다.
반응 클릭 후 로딩 지연이 사용자에게 자연스러운지 본다.
경계 서버 전용 코드가 클라이언트 번들로 새지 않는지 점검한다.