목록 보기
iOS Modular Architecture 도입기
아키텍처

iOS Modular Architecture 도입기

무신사
무신사
2024년 8월 14일

두줄요약

무신사는 iOS 앱에 모듈러 아키텍처를 도입해 코드베이스 복잡도와 유지보수 부담을 줄였습니다. 또한 빌드 속도를 크게 개선하고 Firebase 중복 링크 문제도 해결했습니다.

문제 상황

  • 단일 프로젝트·단일 앱 타깃 구조에서 코드베이스 복잡도 증가
  • 유지보수 난이도 상승과 빌드 속도 저하로 인한 생산성 저하
  • Firebase 정적 라이브러리 모듈화 과정에서 duplicated symbols 에러 발생

해결 방법

  • XcodeGen에서 Tuist로 전환하고, CocoaPods 의존성을 SPM으로 단계적 이관
  • App Core, Third Party, Shared로 레이어를 나눠 의존 방향과 참조 범위 정의
  • Firebase는 인터페이스 모듈과 구현부 모듈로 분리해 정적 라이브러리 중복 복사 방지

성능/운영 포인트

  • 0개 모듈에서 19개 모듈로 분리
  • 클린 빌드 172.3초에서 120.3초로 단축
  • 증분 빌드 57.3초에서 30.4초로 단축

다음 읽기

#Tuist 주제를 다룬 다른 회사 글

Tuist 도입부터 적용까지 알려ZUM요! (feat. 모듈화)

Tuist를 이용해 iOS 프로젝트 생성과 모듈화를 체계화한 경험을 공유했습니다. 여러 차례 구조를 개선해 빌드 속도를 높이고 의존 관계를 정리했습니다.

ZUM
ZUM
프론트엔드

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...