Больше структур диаграмм состояний Javascript - PullRequest
2 голосов
/ 19 сентября 2011

Я использую ExtJS и думаю, что это потрясающий фреймворк. Тем не менее, они не имеют встроенной диаграммы состояний, которая делает разработку приложений очень болезненной.

Я недавно нашел это:

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

Это похоже на очень твердую диаграмму состояний для приложений JS.

Интересно, есть ли другие фреймворки, подобные этому, чтобы я мог сравнить их, прежде чем согласиться с тем, что использовать.

Спасибо!

Ответы [ 4 ]

11 голосов
/ 26 мая 2012

Такие вещи, как JS Statemachine принципиально отличаются от Statecharts. Они действительно суперсет FSM. Если вы делаете приложение, основанное на sproutcore, родные диаграммы состояний хороши (немного многословно, imho). Если вы используете другой фреймворк или используете свой собственный javascript, Stativus - действительно единственная полнофункциональная фреймворк диаграмм состояний. Stativus можно использовать в любой среде javascript: Backbone.js, ember.js, SproutCore, batman.js, ExtJS, Sencha и т. Д. ...

С FSM вы не получите:

  • Параллельные состояния
  • Вложенные подсостояния
  • История Состояний
  • Распространение событий диаграммы состояний

Это действительно похоже на попытку перетащить гонку на Yugo с Ferrari. Они оба могут занять ваши места и иметь четыре колеса, но у одного из них гораздо больше мощности, что это даже не соревнование.

Предупреждение: я помог написать оригинальную реализацию диаграммы состояний для SproutCore и написал Stativus ...

2 голосов
/ 11 июля 2014

Другая реализация Statechart в JavaScript - это statechart от David Durman.

еще один: Machine.js, основанный на "деревьях поведения". http://machinejs.maryrosecook.com/

Новый: xstate, https://github.com/davidkpiano/xstate

1 голос
/ 04 марта 2012

Я использую javascript-state-machine , и мне это очень нравится.Единственное, с чем я столкнулся, это попытка использовать асинхронные переходы между состояниями.Обязательно используйте их при входе или выходе из состояний .Не до или после событий .С этим все работает хорошо.Твердый инструмент до сих пор.

0 голосов
/ 17 ноября 2011

Мне нравится Javascript Finite State Machine (v2.0.0) .

Несколько других, которые я не пробовал:

Какой из них вы выбрали?

...