TCA 상태 관리 단방향 흐름·ReactorKit Observable 연결로 iOS 아키텍처 결
TCA를 사용한 경험에서 가장 먼저 익힌 것은 State·Action·Reducer 구조로 UI 상태를 단방향으로 관리하는 방식이었습니다. 모든 상태 변경이 Action을 통해서만 일어나기 때문에 어디서 상태가 바뀌었는지 추적하기가 쉬웠고, 테스트도 Reducer 단위로 독립적으로 작성할 수 있었습니다.
ReactorKit은 입력(Action)과 상태(State)를 `Observable` 스트림으로 연결하는 방식을 사용했습니다. RxSwift와 결합해 뷰와 리액터를 명확히 분리하면서, 뷰는 Action을 내보내고 State를 구독하는 단순한 역할만 담당했습니다. 이 구조가 뷰 코드를 가볍게 유지하는 데 도움이 됐습니다.
두 아키텍처 모두 복잡한 화면의 상태 관리에 적합하다는 공통점이 있었습니다. 상태와 로직이 분리되니 화면이 복잡해져도 흐름을 파악하기 수월했고, 신규 기능 추가 시 기존 로직을 건드리는 범위도 줄었습니다.