[ios / swift] RxSwift란??

2023. 1. 5. 00:28IOS

오늘은 swift에서 가장 많이 쓰이는 오픈소스 중 하나인 RxSwift에 대해 포스팅 하고자 한다. 

 

먼저 Reactive Programming 에 대해 알아야 한다. 직역하면 "반응형 프로그래밍"으로 비동기적 데이터 흐름과 전달에 관한 프로그래밍이다. 쉽게 말하면 실시간으로 변화에 반응하는 프로그래밍을 의미한다. 예를 들어 좋아요 같은 버튼을 눌렀을 때, 새로고침을 해야 화면에 적용되는 것이 아닌 바로 적용되도록 프로그래밍을 작성하는 것이다. 물론 이는 그냥 swift로도 충분히 작성이 가능하다. 

 

그럼 이제 Rx에 대해 알아보자! RxSwift는 RxJs, RxJava, RxScala 등곽 같이 Rx가 지원하는 여러 언어들 중 하나이다. Rx는 Reactive Extensions을 사용하는 라이브러리로 reactive를 extension 시켰다고 생각하면 쉽다. 앞서 말한 바와 같이 RxSwift를 사용하지 않아도 reactive하게 구현이 가능하다. 하지만 Rx는 이를 더 편하고 간단하게 구현할 수 extension 시켰다고 생각하면 된다.

 

 

정리하면, RxSwift를 사용하면 비동기 작업을 보다 간결하게 수행할 수 있다!