Today I checked in a port of the FlexStore example into the flex-asjs repo (in examples/FlexJSStore). FWIW, the original MX-based version of FlexStore is in the flex-examples repo in the develop branch. I ported the MX version to Spark (also in the flex-examples repo). Then I ported the Spark version to FlexJS.
Only the AS version runs at this time. My next task is to build out the JS classes until it runs there as well. It isn’t perfect, there’s lots of visual errors around margins/paddings and the default look of components. We’ll eventually iron that stuff out as we port the new FlatSpark theme to FlexJS. But lots of things now are operational: changing states now plays transitions, you can drag/drop objects, tooltips appear although the need better visuals. When I get the JS version up and running, I’ll post running versions somewhere and start a discussion of the patterns and paradigms that are used to create such an app. Anyone who wants to help tune the visuals or port FlatSpark to FlexJS is welcome to join in the fun. FWIW, the Spark version of the FlexStore SWF (exported for release) weighs in at 955K. The FlexJS release SWF weighs in at 72K. Yes, we have to add more code to tune visuals and fix bugs, but these numbers indicate that there are advantages to breaking down functionality into basic pieces and building back up. It doesn’t take 955K to do simple data-binding, states, effects, transition, drag-drop and tooltips. Thanks, -Alex