다양한 Rx 관련 기능들을 그래프를 통해 직관적으로 파악할 수 있게 도와주는 사이트
Observable (RxJava Javadoc 2.2.21)
RxDart는 Streams와 StreamControllers의 기능을 확장하는 플러그인이다.
다트는 강력한 기능을 가진 Stream API를 제공하고 있기 때문에 이것을 완전히 대체하기 보다는 보완해주는 방향으로 설계되었다.
일반적 RxJava나 RxJs에서 제공하는 Observable과 Stream의 차이는 다음 표와 같다.
상황 | Rx Observables | Dart Streams |
---|---|---|
오류가 발생했을 때 | 에러와 함께 종료된다. | 에러가 방출되고 스트림은 계속된다. |
Cold Observables | 모든 구독자가 동일한 Observable 객체를 구독할 수 있으며 모든 구독은 독립적인 데이터 흐름을 수신하게 된다. | 단일 구독자만 가능 |
Hot Observables | 가능 | Broadcast Streams을 사용할 경우 가능 |
Is {Publish, Behavior, Replay}Subject hot? | 가능 | 가능 |
Single/Maybe/Completable ? | 가능 | rxdart_ext Single 를 사용할 경우 가능 |
(Completable = Single<void>, Maybe<T> = Single<T?> ) |
||
Support back pressure | 가능 | 가능 |
Can emit null? | RxJava를 제외하고 가능 | 가능 |
Sync by default | 가능 | 불가능 |
Can pause/resume a subscription?* | 불가능 | 가능 |