Flutter
로딩 상태가 모바일에서만 이상할 때 확인하기
데스크톱에선 로딩이 자연스럽지만 모바일에서는 버벅거리거나 상태가 제대로 안 보이는 경험을 했다. 이런 환경별 차이를 빠르게 찾는 방법을 정리했다.
React 앱을 만들 때 로딩 상태 처리는 까다롭다. 특히 개발 단계에서 데스크톱 브라우저로만 테스트하면, 실제 모바일 환경에서의 문제를 놓치기 쉽다.
개발자 도구에서 모바일 환경을 시뮬레이션한다
Chrome DevTools의 Device Emulation을 켜서 다양한 해상도와 네트워크 속도를 시뮬레이션한다. 특히 Throttling을 '느린 3G'로 설정해서 실제 모바일 사용자의 환경을 흉내낼 수 있다.
빌드 후 프로덕션 환경에서 테스트한다
개발 서버에서는 빠르지만, 프로덕션 빌드에서 다를 수 있다.
npm run build
# 프로덕션 빌드로 로컬 서버 실행
npm run start
Minify되고 최적화된 번들에서 로딩 상태가 어떻게 동작하는지 직접 확인하는 게 중요하다.
이벤트 발생 순서를 로그로 추적한다
로딩 상태 변경이 정확한 순서로 일어나는지 콘솔 로그로 확인한다. 때론 state 업데이트가 예상과 다른 순서로 발생해서 UI가 깜빡이거나 상태가 꼬일 수 있다.
모바일 키보드 입력 흐름도 확인한다
검색 입력이나 폼 작성 중에 로딩 UI가 제대로 표시되는지 확인해야 한다. 터치 스크린과 소프트 키보드가 들어오면서 화면 높이가 줄어드는 상황에서도 로딩 스피너나 스켈레톤이 잘 보여야 한다.
구체적인 재현 조건을 메모한다
"모바일에서 느리다"보다는 "iPhone 12, Safari, 느린 3G, 페이지 초기 로드 시" 같은 구체적 조건을 기록해두면, 나중에 버그를 재현하고 수정을 검증할 때 훨씬 효율적이다.
환경별 차이를 체계적으로 테스트하면, 사용자 환경에서 발생하는 문제들을 개발 단계에서 미리 잡을 수 있다.