2

我正在使用 ExtJS,并认为这是一个了不起的框架。但是,他们没有内置状态图,这使得依赖于状态的应用程序开发非常痛苦。

我最近发现了这个:

https://github.com/jakesgordon/javascript-state-machine

对于 JS 应用程序来说,这似乎是一个非常可靠的状态图。

我想知道是否还有其他类似的框架,以便我可以在确定使用哪个框架之前进行比较。

谢谢!

4

4 回答 4

11

JS Statemachine这样的东西与状态图有根本的不同。它们实际上是 FSM 的超集。如果你正在做一个基于 sproutcore 的应用程序,原生状态图很好(有点冗长恕我直言)。如果您正在使用另一个框架或滚动您自己的 javascript,Stativus确实是唯一的全功能状态图框架。Stativus 可用于任何 javascript 框架:Backbone.js、ember.js、SproutCore、batman.js、ExtJS、Sencha 等...

使用 FSM,您不会得到:

  • 平行状态
  • 嵌套子状态
  • 历史状态
  • 状态图事件传播

这真的很像试图用法拉利赛车 Yugo。它们都可以为您提供位置并拥有四个轮子,但是其中一个具有更大的动力,甚至不是比赛。

警告:我帮助编写了 SproutCore 的原始状态图实现,并编写了 Stativus ......

于 2012-05-26T19:41:48.347 回答
2

JavaScript 中的另一个 Statechart 实现是David Durman 的statechart

还有一个:Machine.js,基于“行为树”。 http://machinejs.maryrosecook.com/

新的:xstate,https ://github.com/davidkpiano/xstate

于 2014-07-11T01:05:08.933 回答
1

我正在使用javascript-state-machine,并且非常喜欢它。我遇到的唯一问题是尝试使用异步状态转换。一定要在进入或离开状态时使用它们。不是在事件之前或之后。有了这个,一切都运行良好。迄今为止的可靠工具。

于 2012-03-04T13:31:56.387 回答
0

我也喜欢Javascript 有限状态机 (v2.0.0)

其他一些我没有尝试过的:

你适应了哪一个?

于 2011-11-16T20:36:23.360 回答