SwiftUI& MVI 사용한 이유

저희 iOS 팀은 SwiftUI와 MVI 구조로 프로젝트를 진행했습니다. 다양한 세부 상태들로 하나의 큰 상태인 견적을 완성해나가는 우리의 프로젝트의 컨셉에 적합하고 뷰를 빠르게 그리고 확인해볼 수 있다는 점에서 SwiftUI를 선택하였습니다.

또 MVI 아키텍쳐가 단방향 아키텍쳐이며 순수함수를 통해서 상태를 전달할 수 있다는 점에 매우 유리할 것 같아 선택하게 되었습니다.

문제점

하지만 프로젝트의 진행은 순조롭지만은 않았다

가정

리랜더링 되는 것은 불필요한 state 구독이 생겼고, 가설을 검증하기 위해서 무슨 무슨 테스트를 했다. 테스트를 해서 이렇게 이런결

전체 App State (Navigation State) 다양한 화면의 State를 가지고 있음.. 이것은 Published라는 관찰자가 살피고 있음

NavigationState 하위의 State가 자신의 상태를 바꿀 때

해결 - 뷰 최적화