2011-09-19 72 views
2

我使用ExtJS並認爲它是一個了不起的框架。但是,他們沒有內置的狀態圖,這使得應用程序開發取決於狀態非常痛苦。更多Javascript狀態框架

我最近發現這一個:

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

這似乎是JS應用的一個非常堅實的狀態圖。

我想知道是否有其他的框架是這樣的,以便我可以比較,然後我解決與哪個使用。

謝謝!

回答

1

我使用javascript-state-machine,並喜歡它很多。我遇到的唯一困難是試圖使用異步狀態轉換。一定要使用它們進入或離開狀態。不在事件之前或之後。因此,一切運作良好。迄今爲止一個堅實的工具。

11

JS Statemachine這樣的東西與Statecharts有着根本的區別。它們實際上是FSM的超集。如果你正在做一個基於sproutcore的應用程序,本地Statecharts是好的(有點冗長的imho)。如果您正在使用其他框架或自己製作的JavaScript,Stativus實際上是唯一的全功能狀態框架。 Stativus可以在任何JavaScript框架可用於:Backbone.js的,ember.js,SproutCore的,batman.js,ExtJS的,煎茶等..

隨着FSM,你沒有得到:

  • 並行美國
  • 嵌套子狀態
  • 歷史狀態
  • 狀態圖事件傳播

它真的喜歡嘗試拉力賽一個的Yugo機智h法拉利。他們都可以得到你的地方,並有四個輪子,但其中一個有更多的權力,它甚至不是一個競爭。

警告:我幫着寫SproutCore的原始狀態圖的實施和我寫Stativus ...

+0

感謝這一點,stativ.us看起來很有希望,儘管如此,仍然非常在alpha(文檔和網站似乎越野車)。雖然狀態圖是FSM的擴展,但情況並非如此,如果您只需要四個輪子就可以從A到B而無需排隊......那麼JS Statemachine是一個有用的實用解決方案。 –

+2

我剛剛訪問該網站和文檔。底層代碼非常穩定,正在幾個生產站點中使用。如果你發現錯誤,請告訴我... – etgryphon

+0

缺乏Stativus文檔是真的阻止採用恕我直言。 – g33kz0r

2

在JavaScript中的另一個狀態圖實現是statechart大衛Durman。

一個:Machine.js,基於「行爲樹」。 http://machinejs.maryrosecook.com/

+1

這是我寫的一個有趣的狀態圖演示 - http://jsfiddle.net/roundand/nLtv0wk6/ –