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

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

主站蜘蛛池模板: 湾仔区| 福贡县| 原平市| 永州市| 策勒县| 苍南县| 台安县| 瑞昌市| 吉安市| 嘉善县| 高阳县| 顺平县| 东乡族自治县| 邵阳县| 泾源县| 大竹县| 宁德市| 英吉沙县| 白山市| 广南县| 湖口县| 林芝县| 无棣县| 福海县| 寿光市| 行唐县| 绥宁县| 四会市| 新巴尔虎左旗| 青海省| 定襄县| 平和县| 武隆县| 安庆市| 石阡县| 贞丰县| 宾川县| 乌苏市| 襄汾县| 黄骅市| 舒兰市|