On 4/20/16, 8:47 AM, "Glenn Williams" <[email protected]> wrote:

>Hi folks,
>
> 
>
>Sorry to bring this up again but im still not sure of the current state of
>the Falcon compiler regarding straight Flex applications.

Good question.  I honestly don't know, because I haven't not taken the
time to try it.  Volunteers like yourself are welcome to try it out,
report bugs, hopefully even fix bugs.  The simplest way to do that would
be to install FlexJS, then run the bin/mxmlc against an existing Flex
project.

I will say that a couple of years ago, I got Falcon to compile a large
existing Flex project into a SWF and got the SWF to run as far as its
initial screen, and compile time was only about 10% faster.  And I'm
pretty sure any bugs we've fixed since then have only made compile time
slower instead of faster.  I think that's the reason there hasn't been
more of a push to swap Falcon in for MXMLC.  There was hope that Falcon
could deliver 2x or better speed in compiling.  Now it might be worth
trying this again on a 4+ core SSD machine to see how performance
currently compares.

If you dig into it, be aware that there are two different MXMLC
code-generation code paths in Falcon.  FlexJS uses the
mxml-children-as-data code path because it does a better job of separating
out framework dependencies from the compiler.  Apache versions of the Flex
SDK have the code to support mxml-children-as-data compiled output, but it
is likely to be buggy.  However, if you use the other code path to get
output more similar to what MXMLC does, Falcon might have more bugs in
that output because we haven't exercised those code paths when we use
FlexJS.  If you need Falcon to work against the Adobe Flex SDKs then you
have to not use the mxml-children-as-data output.

You probably don't have to know much about compilers to help fix the bugs
to make Falcon work with an Apache Flex SDK.  If you gamble on using the
mxml-children-as-data code path, the output from the compiler should be in
pretty good shape, so any bug fixes would be in the ActionScript in the
flex-sdk repo.  You should be able to copy lots of code from the FlexJS
repo to fix most bugs.  The other bugs will be about configuration: making
sure the -config.xml files and other files are in the right places with
the right contents.  And if you think the compiler isn't outputting the
right code, create a test case with FlexJS and if it fails there, then
I'll be more motivated to look.

Also, as progress is made on making a MX-like and Spark-like component set
for FlexJS, lots of these bugs in Flex code handling the
mxml-children-as-data output will have to be fixed.  So, while you could
just wait for me to fix it, it sure would be nice to have other people
helping out.

Thanks,
-Alex

Reply via email to