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
>
>

Reply via email to