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

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

主站蜘蛛池模板: 万荣县| 霞浦县| 富阳市| 兴文县| 高唐县| 金堂县| 卫辉市| 武义县| 团风县| 庆云县| 界首市| 辽宁省| 敖汉旗| 库尔勒市| 桐梓县| 大庆市| 桐乡市| 卢湾区| 樟树市| 连江县| 岳池县| 孟村| 邮箱| 广平县| 泗阳县| 扬州市| 开化县| 宣汉县| 肥城市| 顺义区| 海安县| 武宣县| 新乡县| 巴中市| 肥城市| 新乐市| 太谷县| 观塘区| 双流县| 民和| 抚松县|