
아키텍처
SwiftUI와 TCA를 활용한 NOL 홈 리브랜딩
두줄요약
NOL 앱 홈 리브랜딩에 SwiftUI와 TCA, 클린 아키텍처를 도입한 과정을 소개했습니다. 상태 분리와 모듈화로 유지보수성과 안정성을 높인 사례입니다.
문제 상황
- 장기 운영된 NOL 앱 홈 화면의 코드 구조 복잡화와 유지보수 부담 증가
- 리브랜딩으로 인한 새로운 디자인 시스템, 인터랙션, 확장 기능 대응 필요
- 기존 자체 프레임워크의 생산성 한계와 학습 비용 증가
해결 방법
- 홈 화면의 Presentation Layer에 SwiftUI와 TCA 도입
- Domain, Data, Presentation으로 나눈 클린 아키텍처 적용
- 섹션 단위의 모듈화와 단방향 데이터 흐름, 의존성 주입으로 상태 관리 분리
성능/운영 포인트
- 배포 전후 비정상 종료 추이 안정적 유지
- 섹션 독립성으로 기능 추가와 변경의 사이드 이펙트 감소
- 스크린샷 테스트와 유닛 테스트로 품질과 QA 효율 향상
주의할 점
- TCA의 데이터 흐름과 상태 관리에 대한 학습 곡선 존재
- SwiftUI의 특정 iOS 버전 호환성과 Navigation 처리 복잡성
- 일부 구간의 성능 최적화와 TestStore 활용에 대한 추가 탐구 필요
