Reactor Kit 정리
단방향 데이터 프름을 가진 반응형 앱을 위한 프레임워크
만들어진 계기
MVC? → Massive!!
대안은 MVVM이다.
RxSwift의 비동기 처리는 강력하다.
상태관리가 쉬웠으면 좋겠다.
Cyclic Data Dependencies 문제
다음 작업을 위해 이전 작업의 결과가 필요
ex. 아래로 스크롤하여 다음 페이지 로드
다음 요청이 이전 요청 결과에 의존적임
이를 쉽게 해결하기위해 많은 사람들이
BehaviorSubject
를 사용하여 마치 중간상태를 변수에 저장하듯이 사용하게 된다.
하지만 중간상태를 관리하기 위해
BehaviorSubject
를 쓰면
BehaviorSubject
(=
BehaviorRelay
)가 점점 많아짐.
그리고 이렇게 구현하면 BehaviorSubject를 명령형으로 관리하기 때문에 Rx스럽지 않다.
Rx는 선언적으로 작성하는 것이 권장된다.
소개
Massive View Controller 피하기
뷰와 로직의 관심사 분리
VC가 단순해짐
ReactorKit은 RxSwift를 기반으로 함
상태관리가 쉬웠으면 좋겠다.
단방향으로 데이터가 흘러서 데이터 관리가 간결해짐
중간 상태를 reduce함수(순수 함수)로 관리
상태 관리가 간결해짐
부분적 도입 가능
테스트를 위한 도구를 자체적으로 지원
기본 개념
View