-
Combine Vs RxSwift개발/Swift 2022. 11. 9. 14:46
참조: https://medium.com/@M0rtyMerr/will-combine-kill-rxswift-64780a150d89
콤바인 프레임워크는 WWDC2019에 발표되었다.
Backpressure(배압)
화장실의 변기가 역류하는일을 보게된다. 그것은 배압때문이다. 배압은 파이프를 통한 흐름에 반하는 저항을 말한다.
Observable이 발행하는 데이터가 워낙 많아서 Observer가 소화하지 못하면
메모리가 overflow 가 발생하게 된다.
RxSwift는 Backpressure를 해결한 Flowable이 없다.
TypedError
Rx 는 Error 타입 만으로 충분하다한다. Combine 에서는 Publisher error 타입을 제공해야한다.
Disposebag
disposebag은 하나의 변수로 모든 구독을 disposing할수있다.
컴바인에서는 cancellable이 있고 이것은 리소스를 취소, release 할수있다. 여러 구독을 dispose 하기 위해서는 Anycancellable 배열을 만들어 직접 관리해야 한다.
API
https://github.com/CombineCommunity/rxswift-to-combine-cheatsheet
위 깃헙링크에서는 Rxswift 와 Combine API 비교를 볼수있다.
Combine 에서는 아직 Rx와 비교해 없는게 몇개 있다.
Performance
컴바인은 Rxswift 에 비해 속도, 메모리할당면에서 더 뛰어났다.
ETC
컴바인은 애플 프레임워크이므로 오픈소스가 아니다
컴바인은 iOS 13버전 이상만 지원한다.
'개발 > Swift' 카테고리의 다른 글
[Combine] - 1. publisher & subscriber (0) 2022.11.13 Rxswift operators - flatmap, flatmapLatest, merge (0) 2022.11.11 Apollo swift + Rxswift 를 활용한 API 네트워크와 에러처리 (0) 2022.11.03 [Swift] URLSession 통해 async fetch & json 파싱 (0) 2022.10.04 [Swift] ViewController Custom Init (parameter 전달) (0) 2022.08.29