RxFlow
란 Coordinator패턴을 Rx로 wrapping한 navigation framework이다.
기존 ReactorKit같은 경우 화면 전환에 관련된 로직을 View 혹은 Reactor에서 처리하고 있기 때문에,
화면 로직 분리에 대한 필요성을 느끼고 도입을 검토하게 되었다.
- ViewController, ViewModel에서 화면 이동에 대한 로직을 분리시킬 수 있다.
- 추상화를 통해 의존성을 정리하고 DI를 쉽게 할 수 있다.
- 따라서 화면전환에 관한 테스트 작성도 쉬워진다.
- RxFlow를 이해하고 있는 개발자라면 화면 전환이 어떻게 되는지 한눈에 파악하기 쉽다.
RxFlow
의 도입을 검토하기 위해 토이 프로젝트를 만들어 검증한다.- 프로젝트를 Develop하여 화면의 Depth를 늘린다.
- 로그인 여부에 따른 화면 이동
- 두가지 화면전환을 동시에 처리
- Alert 표시
- Test Code를 작성하여 화면 전환에 관련된 테스트를 한다.
- 작업 내용을 문서화 한다.
- Xcode 12.x
- Swift 5.x
- RxFlow
- ReactorKit
- MIT