WEBBOOK CHAPTER

반응형 웹을 진짜 앱으로: 44장. 성능을 Web·Bridge·Native로 나눠 측정한다

44장. 성능을 Web·Bridge·Native로 나눠 측정한다

앱 시작은 native process, WebView 생성, local bundle load, hydration, session 복구, 첫 usable 화면으로 분해한다. 전체 평균 하나보다 cold/warm p50/p95를 기기 등급별로 본다. JS bundle, long task, memory, image decode, bridge call duration, local DB, sync request를 trace에 연결한다.

bridge를 작은 호출 수백 개로 왕복하면 느리다. 업무 단위 batch command를 검토하되 payload 상한과 취소를 둔다. 큰 base64 사진을 JavaScript heap으로 복사하지 않고 file URI/stream 경계를 사용한다. background에서 무제한 queue 동시성을 올리지 않는다.

저사양 Android에서 100개 답·20개 사진·offline queue 50개 fixture로 측정한다. 최적화는 한 요소씩 바꾸고 crash/ANR, memory warning, 배터리, network bytes와 성공률을 비교한다. 빠르지만 사진 유실이나 UI freeze가 생기면 불합격이다.