[RxSwift] Rx를 사용하는 이유?

나는 사과·2022년 10월 8일
0

RxSwift

목록 보기
8/8

Reactive Programming?

데이터의 흐름과 전달에 관한 프로그래밍 패러다임이다.
데이터의 흐름을 먼저 정의하고 데이터에 변화가 생겼을 때 연관된 작업이 알아서 실행되는 것이다.

기존에는 데이터를 사용하는 곳에서 데이터를 직접 가져와서 사용하는 반면에, 반응형 프로그래밍은 데이터의 변화가 발생한 곳에서 새로운 데이터를 사용자에게 전달한다.

소프트웨어를 만들면서, 대부분은 경우 비동기 처리로 작업을 해야했다. 파일이나 이미지를 서버에서 다운로드 받아서 사용자에게 보여준다든지, 프로필 사진을 업로드 하고 바뀐 프로필 사진을 보여준다든지 하는 작업에서 말이다.
지금까지는 이러한 작업들을 위해서 Closure를 사용해서 구현하거나 Delegate를 사용했었다. 이 방법들은 모두 명시적으로 UI를 수정해주는 작업이다. 하지만, 반응형 프로그래밍을 이용하면 데이터가 변경되면 (프로필 사진 데이터가 업데이트 되면) 알아서 UI가 변한다는 것 이다. 왜냐면 데이터가 변화하는 것을 Observe하고 있기 때문이다.

반응형 프로그래밍을 라이브러리에 의존하지 않고도 가능은 하다.. didSet을 잘 사용한다면.. 하지만 반응형 프로그래밍을 쉽게 하기 위해서 만들어진 라이브러리가 있다.

흔히 RxSwift, RxJava, RxJS, RxKotlin, RxDart 등등 기존 언어 네이밍 앞에 Rx라는 수식어가 붙은 라이브러리들이 바로 그 라이브러리다.

나는 swift를 다루니깐 RxSwift를 사용하게 될 것 이고, RxSwift = 비동기 프로그래밍 이 아니라 RxSwift = Swift에서 반응형 프로그래밍을 쉽게 사용 할 수 있도록 도와주는 라이브러리다.

내가 Rx를 공부하고 사용하려는 이유?

Swift에서 반응형 프로그래밍 기법을 사용해서 개발을 하고 이를 좀 더 쉽게 하기 위해서 RxSwift라는 라이브러리의 도움을 받으려고 하는 것이다. ( 콜백 지옥에서 벗어나고 싶어요,,, )
근데 SwiftUI하면서는 Combine 공부하려고요!

0개의 댓글