목록 보기
모듈 구조를 개선해 더 나은 뱅크샐러드 iOS 앱 개발하기
프론트엔드

모듈 구조를 개선해 더 나은 뱅크샐러드 iOS 앱 개발하기

뱅크샐러드
뱅크샐러드
2023년 11월 22일

두줄요약

비대해진 Shared 모듈을 기능별로 분리해 iOS 프로젝트의 불필요한 의존성을 줄였습니다. DataInterface를 도입해 Domain과 Data가 추상화에 의존하도록 구조를 개선했습니다.

문제 상황

  • 기능과 참여 엔지니어 증가에 따른 iOS 코드베이스 확장
  • 역할이 모호한 Shared 공용 모듈의 비대화와 불필요한 의존성
  • 향후 통신 방식·데이터 출처 분리에 대비하기 어려운 Data 레이어 명세 위치

해결 방법

  • 미사용 코드 제거와 전용 코드 원래 모듈 이동 후 Shared의 공용 기능 분리
  • Constant, SwiftExtension, DIContainer 모듈 분리를 통한 경량 공용 기능 제공
  • Data 구현체 직접 의존 제거와 의존성 주입 방식 전환
  • DataInterface 모듈로 명세를 이동하고 Domain·Data가 공통 추상화에 의존하도록 재구성

선택 이유

  • Live Activity의 SwiftUI·SwiftConcurrency 기반 개발에 필요한 최소 공용 의존성 확보
  • REST, gRPC, 클라이언트 캐시 등 향후 Data 모듈 분리 시 불필요한 모듈 간 의존 방지
  • 클린 아키텍처와 의존성 역전 원칙에 따른 낮은 결합도와 확장성 확보

성능/운영 포인트

  • 작은 단위 모듈을 통한 독립적인 기능 개발 환경 지향
  • 다른 엔지니어 작업과의 충돌 및 릴리즈 후 사용자 문제 없이 구조 개선 진행
  • 공용 모듈 추가 세분화와 모듈 생성 도구 도입 계획

다음 읽기

#iOS 주제를 이어서 읽기

모듈 구조를 개선해 더 나은 뱅크샐러드 iOS 앱 개발하기

뱅크샐러드 iOS 앱의 모듈 구조를 개선한 내용을 다룹니다. 개발 생산성과 유지보수성을 높이기 위한 방향을 소개합니다.

뱅크샐러드
뱅크샐러드
프론트엔드
전체 보기

댓글 0개

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

댓글을 불러오는 중...