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
