iOS/RxSwift

iOS(Swift) Reactive Programming (RxSwift) 란?

crazydeer 2022. 8. 27. 09:00
반응형
 

iOS(Swift) Functional Programming(함수형 프로그램) 이란?

Mastering RxSwift for iOS Reactive Programming for Developers Reactive Programming Using Swift Programming Language www.udemy.com 새로운 Udemy 강의를 시작했고 (또 다른 강의지옥에 빠졌다) Functional..

crazydeer.tistory.com

 

지난 글에서는 함수형 프로그래밍에 대해 정리해봤다. 이번에는 반응형 프로그래밍, Reactive Programming에 대해 알아보자.

 

반응형 프로그래밍(Reactive Programming)

reactivex.io

 

Observable Streams를 활용하여 비동기 처리 프로그래밍을 위한 API

 

 

ReactiveX

CROSS-PLATFORM Available for idiomatic Java, Scala, C#, C++, Clojure, JavaScript, Python, Groovy, JRuby, and others

reactivex.io

 

테이블 뷰가 있고 탭바 묶음이 있고 테이블 뷰의 내용들을 정렬하고 필터링할 수 있는 어플리케이션이 있다고 가정해보자.

뷰의 item들은 각각 이미지와 텍스트를 갖고 있다.

이 이미지는 CDN(Content Delivery Network)로부터 비동기적으로 다운로드를 수행한다.

 

 

CDN을 마치 ATM처럼 생각해도 좋습니다. 여러 곳에 ATM을 설치해 놓으면 사용자가 빠르고 효율적으로 현금을 찾을 수 있다. 은행에서 긴 줄을 서서 기다릴 필요 없이 가까운 곳에 있는 ATM을 바로 사용하면 된다.
 

CDN이란 무엇인가요? | Akamai 참고 자료

콘텐츠 전송 네트워크(CDN)는 사용자와 가까운 곳에서 콘텐츠를 전송함으로써 더 빠르고 안정적인 온라인 경험을 제공합니다. 자세히 알아보세요.

www.akamai.com

 

우리는 다음과 같은 프레임워크를 사용하여 비동기적 처리를 한다.

Notification Center, Delegate Pattern, Grand Central Dispatch, Closures

 

RxSwift 장점

문제는 이 프레임워크들이 비동기 처리를 위해 설계된 것이 아니라는 점이다.

RxSwift가 이 문제를 해결해준다.

간결하고 compact하며 유지보수에도 좋은 코드를 작성할 수 있게 해준다.

 

다음은 CocoaPods를 이용하여 RxSwift를 설치해보자.

반응형