Thanks as always for this extensive answer

I'll let you all know how I get on

Regards

glenn

-----Original Message-----
From: Alex Harui [mailto:[email protected]] 
Sent: 20 April 2016 17:33
To: [email protected]
Subject: Re: Question: Current state of Flacon to build Flex projects



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