"Constructing the User Interface with Statecharts"
I've always wondered if statcharts were a powerful enough abstraction to handle everything I needed, and would like to read more about its specific application to implementing UIs. Does anyone have any other references, books, etc?
Here is an article by the author of this library with some justification for the appropriateness of statecharts in UI construction: https://dev.to/davidkpiano/no-disabling-a-button-is-not-app-...
I also published an article on the subject on infoq: https://www.infoq.com/articles/robust-user-interfaces-with-s...
All of that may be useful to you, with the benefits that you won't have to make the examples, as I had to, to evaluate the applicability of the technique to UI implementation.
If there is anythign you do not understand let me know.
In regard to expressivity, specially compared with FSM, a thorough description can be find in the paper "On Visual Formalisms" . I copy some points here for convenience:
...people working on the design of really complex systems have all but given up on the use of conventional FSMs and their state diagrams for several reasons
(1) State diagrams are “flat.” They provide no natural notion of depth, hierarchy, or modularity + orthogonality + broadcast communication.
(2) State diagrams are uneconomical when it comes to transitions [...] resulting in an unnecessary multitude of arrows.
(3) State diagrams are [...] infeasible: as the system under description grows linearly, the number of states grows exponentially.
(4) State diagrams are inherently sequential in nature and do not cater for concurrency in a natural way.
In any case, keep in mind that Turing machines are (extended) state machines (albeit with infinite memory) so the expressive power of state machine is at least anything computable (sequentially - turing machine is a model of sequential computation).