RxSwift
Definition:
Use concept of Observer pattern and sequence operators, let us handle asynchronous data/event together in a declarative manner
The tools(i.e. objects) provided:
- Observable
- Operators
- Subject
- Scheduler
Observable
Definition:
The object that emits data/event asynchronously
Functions:
- subscribe/unsubscribe
- Manage life time
Operators
Definition:
Provide the way to handle data collection after receiving data/event from observable
Functions:
- Creating Observables
- Transforming Observables
- Filtering Observables
- Combining Observables
- Error Handling Operators
- Observable Utility Operators
- Conditional and Boolean Operators
- Mathematical and Aggregate Operators
- Backpressure Operators
- Connectable Observable Operators
Subject
Definition:
Acts both as an observer and as an Observable. Because it is an observer, it can subscribe to one or more Observables, and because it is an Observable, it can pass through the items it observes by reemitting them, and it can also emit new items.
Scheduler
Definition:
introduce multithreading into your cascade of Observable operators, you can do so by instructing those operators (or particular Observables) to operate on particular Schedulers.
Operators for specifying which thread:
- SubscribeOn (p.s. specifying a different Scheduler on which the Observable should operate)
- ObserveOn (p.s. specifies a different Scheduler that the Observable will use to send notifications to its observers.)