官术网_书友最值得收藏!

A Look at Reactive Extensions

Reactive Extensions (Rx) is a Reactive Programming library from Microsoft that's used for building complex asynchronous programs. It models time-varying values and events as observable sequences and is implemented by extending the Observer design pattern.

Its first target platform was .NET, but Netflix has ported Rx to JVM under the name RxJava. Microsoft also develops and maintains a port of Rx to JavaScript called RxJS, which is the tool we used to build the sine wave application. The two ports work a treat for us, since Clojure runs on JVM and ClojureScript in JavaScript environments.

As we saw in Chapter 1, What is Reactive Programming?, Rx is inspired by Functional Reactive Programming but uses different terminology. In FRP, the two main abstractions are behaviors and events. Although the implementation details are different, observable sequences represent events. Rx also provides a behavior-like abstraction through another data type, called BehaviorSubject.

In this chapter, we will cover the following topics:

  • Rx's main abstraction: observables
  • The duality between iterators and observables
  • Creating and manipulating observable sequences

主站蜘蛛池模板: 太保市| 连城县| 那曲县| 太康县| 东兴市| 乐至县| 玛曲县| 正镶白旗| 东平县| 商河县| 昭通市| 靖边县| 巴中市| 瑞昌市| 浙江省| 定南县| 五常市| 曲水县| 姜堰市| 乌苏市| 德格县| 六枝特区| 上饶市| 庆阳市| 姚安县| 巨野县| 马边| 梁山县| 定兴县| 柞水县| 阜阳市| 德化县| 若尔盖县| 唐山市| 宜兴市| 民县| 错那县| 翁牛特旗| 大庆市| 定州市| 象州县|