我正在使用ExtJS并认为这是一个了不起的框架。但是,它们没有内置状态图,这使得应用程序开发依赖于状态非常痛苦。
我最近发现了这个:
https://github.com/jakesgordon/javascript-state-machine
对于JS应用程序来说,这似乎是一个非常可靠的状态图。
我想知道是否还有其他这样的框架,以便我可以在我决定使用之前进行比较。
谢谢!
答案 0 :(得分:11)
JS Statemachine之类的东西与Statecharts根本不同。他们确实是FSM的超集。如果你正在做一个基于sproutcore的应用程序,原生Statecharts是好的(有点冗长的imho)。如果您正在使用其他框架或滚动自己的javascript,Stativus实际上是唯一的全功能状态图框架。 Stativus可用于任何javascript框架:Backbone.js,ember.js,SproutCore,batman.js,ExtJS,Sencha等......
使用FSM,您无法获得:
它真的很像试图用法拉利赛车追逐Yugo。它们都可以让你占据一席之地并拥有四个轮子,但是它们拥有更多的力量,甚至不是竞争对手。
警告:我帮助编写了SproutCore的原始状态图实现,并写了Stativus ......
答案 1 :(得分:2)
David Durman在JavaScript中的另一个Statechart实现是statechart。
还有一个:Machine.js,基于“行为树”。 http://machinejs.maryrosecook.com/
新的:xstate,https://github.com/davidkpiano/xstate
答案 2 :(得分:1)
我正在使用javascript-state-machine,并且非常喜欢它。我遇到的唯一问题是尝试使用异步状态转换。请务必在进入或离开状态时使用它们。不在事件之前或之后。有了它,一切都运作良好。迄今为止一个坚实的工具。
答案 3 :(得分:0)