flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Glenn Williams" <i...@tinylion.co.uk>
Subject RE: Question: Current state of Flacon to build Flex projects
Date Fri, 22 Apr 2016 10:30:24 GMT
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:aharui@adobe.com] 
Sent: 20 April 2016 17:33
To: dev@flex.apache.org
Subject: Re: Question: Current state of Flacon to build Flex projects



On 4/20/16, 8:47 AM, "Glenn Williams" <info@tinylion.co.uk> 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



Mime
View raw message