iOS 모듈화 1년 회고: 지그재그 앱 개발팀의 모듈화 여정
by DD
1년 전
조회수 11
iOS 모듈화 과정에서 모델/레포지토리 분리 시 의존성 문제 발생
네이밍 규칙 미준수로 인해 런타임 크래시 발생, xib 파일 관리의 중요성 강조
앱 실행 시간 증가 문제 해결을 위해 Static Framework 전환 시도
모듈 분리: Core, UI, Features 레이어 설계
지그재그 앱은 Core, UI, Features 3가지 레이어로 모듈을 구성했다. 구체적으로 Core 레이어는 공통 로직, 모델, 레포지토리를 담당한다. 따라서 UI 레이어는 재사용 가능한 UI 컴포넌트를 포함하며, Features 레이어는 기능 단위의 독립적인 모듈로 구성된다.
네이밍 규칙 부재로 인한 문제점
모듈 네이밍 규칙 미준수로 인해 xib 파일에서 런타임 크래시가 발생했다. 반면 모듈 이름 변경 시 xib 파일 내 속성 변경을 간과하여, 앱 실행 시 모듈을 찾을 수 없는 오류가 발생했다. 따라서, 모듈화 초기 단계에서 네이밍 규칙 정의의 중요성을 강조한다.
앱 실행 시간 최적화 전략
모듈화 초기, Dynamic Framework 사용으로 앱 실행 시간이 증가했다. 구체적으로 Core Layer 모듈을 Static으로 변경하거나, CocoaPod을 SPM으로 전환하는 방안을 모색 중이다. 따라서, 앱 실행 시간 단축을 위해 지속적인 개선 노력이 필요하다.