MobX v3.0.0 发布,一个 TFRP 编程范式的实现

摘要:MobX 是一个 TFRP 编程范式的实现。

 

要想知道MobX是什么,首先需要了解一下FRP是什么,FRP 的本质是,在声明一个值的时候,同时指定他的动态行为。这个值可能是事件,也可能是数据。 FRP 有两个重要的分支:

  • 基于 Event Stream 的 FRP
    基于 Event Stream 的 FRP 擅长于管理 Stream,可进行 Joining, splitting, merging, mapping, sampling 等等。在需要处理多个 Event Stream 的时候非常有用,但对于简单场景来说,就过于复杂了。比如 RxJS 和 BaconJS 就属于此类。
     
  • Transparent FRP (TFRP)
    Transparent FRP 是在背后去实现 Reactive Programming 。和 Event Stream 的 FRP 一样,TFRP 会在需要的时候更新 View,不同的是 TFRP 不需要你定义如何 (How) 以及何时 (When) 更新。这一类型的框架有 Meter(Tracker),knockoutJS 和 EmberJS 。

接下来介绍一下Mobx 和 其他实现有什么不同:

  • 同步执行 (这样监听的值始终是最新的,并且调试会方便,因为没有额外的 Promise/Async 库引入的堆栈信息)
  • 没有引入额外的数据结构,基于普通的 Object, Class, Array 实现 (更少学习成本,更新数据时更自然)
  • 独立方案 (不捆绑框架,相比 Meter, EmberJS 和 VueJS 而言)

更新日志

  • observable.object(props, name?) creates a new observable object, by cloning the give props and making them observable
  • observable.array(initialValues, name?). Take a guess..
  • observable.map(initialValues, name?)
  • observable.box(initialValue, name?). Creates a boxed value, which can be read from / written to using .get() and.set(newValue)
  • observable(value), as-is, based on the type of value, uses any of the above four functions to create a new observable.
  • observable.shallowObject(props, name?)
  • observable.shallowArray(initialValues, name?)
  • observable.shallowMap(initialValues, name?)
  • observable.shallowBox(initialValue, name?)

 

下载

本站原创,转载时保留以下信息:
本文转自:深度开源(open-open.com)
原文地址:http://www.open-open.com/news/view/3726e4be

扩展阅读

MobX v2.4.0 发布,一个 TFRP 编程范式的实现
MobX v2.3.1 发布,一个 TFRP 编程范式的实现
MobX v2.3.3 发布,一个 TFRP 编程范式的实现
MobX v2.4.2 发布,一个 TFRP 编程范式的实现
MobX v2.3.2 发布,一个 TFRP 编程范式的实现

为您推荐

MobX v3.0.0 发布,一个 TFRP 编程范式的实现
MobX v2.5.0发布,一个 TFRP 编程范式的实现
最新jQuery Mobile 1.2版本新特性
20个你应该知道的有用HTML5代码段
每个程序员都会的 35 个 jQuery 小技巧

更多

MobX
TFRP
FRP
开源软件