프론트엔드
모듈화를 통한 SwiftUI Preview 효율화
두줄요약
모듈화를 통해 SwiftUI Preview의 종속성을 줄이고 로딩 속도를 개선한 사례를 공유했습니다. Mock 데이터와 세분화된 UI 컴포넌트로 다양한 상태를 빠르게 검증하는 방법을 소개했습니다.
문제 상황
- 대규모 iOS 프로젝트에서 전체 빌드와 복잡한 상태 관리로 UI 디버깅 효율 저하
- SwiftUI Preview가 Third-Party 라이브러리와 매크로, 과도한 종속성 때문에 느리거나 충돌하는 문제
- Server-Driven 상태와 다양한 조합의 UI 상태를 확인하는 데 시간 소요 증가
원인 분석
- UI 코드가 RIBs 프레임워크와 코어 모듈 등 Preview에 불필요한 의존성까지 함께 참조
- Preview가 종속된 코드 전체를 컴파일하면서 로딩 시간 증가
- 상태 조합이 많아 단일 Preview로는 엣지 케이스 검증이 어려움
해결 방법
- Feature 모듈 내부에 UI 모듈을 분리해 UI에 필수적인 Interface와 CoreUI만 주입
- ViewModel, Mock 데이터, 세분화된 UI 컴포넌트를 활용해 상태별 Preview 구성
- Hot Reload와 작은 단위 Preview로 반복 디버깅 속도 향상
