요새 RxJava가 너무 핫한지라 나중에 이것을 Android에 사용하게 될 지는 모르겠지만 배워두는 것도 나쁘지 않겠다 싶어서 관심을 가져본다. 일단 ReactiveX 홈페이지에 가니 지원 목록이 ㄷㄷ하다. 그냥 모든 언어를 지원한다고 보면 될 것 같다.
ReativeX란
ReactiveX는 Observable 시퀀스를 사용하여 비동기 및 이벤트 기반 프로그램들을 작성하는 라이브러리라 한다. 그리고 동기와 비동기, 싱글과 멀티에 따라 나뉜다.
single items | multiple items | |
---|---|---|
synchronous | T getData() | Iterable<T> getData() |
asynchronous | Future<T> getData() | Observable<T> getData() |
Observables는 비동기 처리에 대한 광대한 코드를 줄여주며 어떤 유스케이스에서도 사용될 수 있는 단일 추상이라 한다.
event | Iterable (pull) | Observable (push) |
---|---|---|
retrieve data | T next() | onNext(T) |
discover error | throws Exception | onError(Exception) |
complete | !hasNext() | onCompleted() |