RxSwift: Reactive Programming with Swift

전반적으로 위 교재를 참고하여 작성한 글입니다.

1️⃣ Rx 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는 스위프트 특화적인 반응형 프로그래밍을 가능하게 해준다고 합니다!

📌 RxSwift를 사용하는 이유?

[RxSwift] RxSwift와 비동기 프로그래밍

가독성 : 여러 쓰레드를 넘나 들고 클로저를 넘겨서 이벤트를 처리하기는 기존의 방식을 Rx를 이용하면 가독성이 좋게 만들 수 있다.