Sounds like great progress.
-Mark On Mon, Mar 28, 2016 at 5:37 PM, Alex Harui <aha...@adobe.com> wrote: > Hi, > > As you may know, I've been exploring what it would take to create a set of > components for FlexJS that more closely match the Spark (and MX) APIs from > the regular Flex SDK. > > Today, I reached an early milestone: I got a subset of UIComponent to > subclass the FlexJS UIBase and cross-compile with zero errors. It doesn't > run yet, but it gives us information about the effort and patterns > involved and some early idea of the size. > > In order to create a manageable subset, I commented out all code in > UIComponent related to: > > -accessibility > -rotation > -scale > -3D and Transforms and other AdvancedLayoutFeatures > -designLayer > -BlendModes and BlendShaders > -Filters > -doubleClick > -cacheAsBitmap, cachePolicy and cacheHeuristic > -AdvancedStyleClient > -Repeater > -XML DataBinding > > Most of what is in the list is stuff related to "fancy" visuals. IMO, you > can build many apps without these features. > > In addition, I changed some weak reference listeners to strong listeners > since we don't have weak reference support on the JS side so any code that > does a lot of discarding of UIComponents is going to leak (for now). The > only idea I have for dealing with lack of weak references going forward is > to add a dispose() call to UIComponent and other objects similar to what > you already have to do for Bitmaps and XML. > > It turns out that it still took some 212 files to compile UIComponent. > That's how complex the web of interdependencies are in the Flex SDK. But > interestingly, the cross-compiled output minified down to "only" an > additional 140K! I was thinking it would be 10 times as big. > > So that's promising, and means I will continue pushing on getting this to > run and port more code. I think the next milestone is to port > mx:Container, mx:Label, mx:Application just to see a Hello World run. > Then start porting Spark. How long that will take is unknown. The key > question is how many touch-points there are with Flash, especially APIs > with good names that shouldn't be renamed (like 'parent'). Maybe > UIComponent (and UITextField) are the primary points of contact with the > Runtime and higher-level components will port more cleanly. > > But first, I have slides and demos and hopefully a release (without this > stuff) to finish by next Monday. > > Feel free to ask questions, > -Alex > >