RxSwift: Reactive Programming with Swift
전반적으로 위 교재를 참고하여 작성한 글입니다.
https://github.com/ReactiveX/RxSwift
RxSwift는 Reactive eXtension + Swift의 합성어로 이루어진 용어로,
Swift에 ReactiveX를 적용시켜 비동기 프로그래밍을 직관적으로 작성할 수 있도록 도와주는 라이브러리입니다.
<aside>
📚 Rx is a generic abstraction of computation expressed through Observable<Element>
interface, which lets you broadcast and subscribe to values and other events from an Observable
stream.
RxSwift is the Swift-specific implementation of the Reactive Extensions standard.
</aside>
위 글을 해석해보면 “ RX는 Observable<Element>이라는 인터페이스로 표현되는 computation(프로그래밍, 코딩, 계산)의 제네릭 추상화이다. 이를 통해서 Observable(관측가능한) 흐름으로부터 값이나 다른 이벤트들을 구독하고 송출할 수 있게 해준다. “ 라고 하네요!
쉽게 풀어쓰면, RxSwift는 비동기 프로그래밍을 관찰 가능한 흐름으로 지원해주는 API입니다. 옵저버 패턴과 이터레이터 패턴, 그리고 함수형 프로그래밍을 조합한 반응형 프로그래밍 익스텐션인 것이죠~!
이래도 뭐라는지 모르겠네요
어쨌건! RxSwift는 스위프트 특화적인 반응형 프로그래밍을 가능하게 해준다고 합니다!
가독성 : 여러 쓰레드를 넘나 들고 클로저를 넘겨서 이벤트를 처리하기는 기존의 방식을 Rx를 이용하면 가독성이 좋게 만들 수 있다.