RxSwift 1일차 - RxSwift란?

wormsJJG·2022년 9월 13일
0

RxSwift

목록 보기
1/4
post-thumbnail

Rx는 뭘까?


RxSwift 에서 Rx는 Reactive Extension의 줄임말이다.
ReactiveX는 관찰 가능한 시퀀스를 사용하여 비동기식 프로그램 및 이벤트 기반 프로그램을 구성하기위한 오픈 소스 라이브러리이고, Microsoft사에서 Swift뿐 아니라 많은 언어로 사용할 수 있도록 만든것이다.

RxSwift란?


참고자료 - Rx/Rxswift Github

RxSwift는 비동기 프로그래밍을 위해 만들어진 API라고 이해하면 좋을 것 같다.

Rx가 그토록 강조하는 비동기 프로그래밍은 뭘까?
비동기 프로그래밍은 프로그램의 주요 흐름에서 특정 작업에 시간이 많이 소요된다면 그 작업을 수행하면서 아래 프로그램 코드를 계속 수행하는 방식이다.

Rx의 3요소에 대해선 2일차때 다뤄야겠다..

RxSwift의 장단점


장점

  • 반응형 패터다임이 제공하는 명확함, 비동기를 동기화 코드처럼 작성이 가능하다.
  • 일관성이 없는 비동기 코드를 하나의 비동기 코드로 개발이 가능하다.
  • Rx로 일관된 코드를 작성하면서 확장이 불가능한 아키텍처 패턴을 해결할 수 있다.
  • 코드가 깔끔해진다. (개인적으로 이점은 가독성이 안좋아진다는 단점이 생길수있다고 생각한다.)
  • 다양하고 편리한 Operator들이 제공된다.
  • Thread처리가 쉬워진다.

단점

  • Swift보다 상대적으로 학습하기가 어렵다.
  • 클로저의 사용이 많아, 순환 참조 사이클이 일어날 수 있기에 주의 해야한다. (강한 참조 사이클은 약한(weak)참조, 비소유(Unowned) 참조를 사용해서 해결해야한다.)
profile
IOS DEV

0개의 댓글