JSステートマシンのようなものは、ステートチャートとは根本的に異なります。それらは実際にはFSMのスーパーセットです。sproutcoreベースのアプリケーションを実行している場合は、ネイティブのステートチャートが適しています(少し冗長なimho)。別のフレームワークを使用している場合、または独自のjavascriptをローリングしている場合、Stativusは実際には唯一のフル機能のステートチャートフレームワークです。Stativusは、Backbone.js、ember.js、SproutCore、batman.js、ExtJS、Senchaなどの任意のJavaScriptフレームワークで使用できます。
FSMを使用すると、次のことはできません。
- 並列状態
- ネストされたサブステート
- 歴史の状態
- ステートチャートイベントの伝播
それは本当にフェラーリとユーゴーをドラッグレースしようとするようなものです。どちらもあなたに場所を与え、4つの車輪を持っていますが、1つは非常に強力なので、競争すらありません。
警告:SproutCoreの元のステートチャート実装の作成を支援し、Stativusを作成しました...