Hi, FYI, I'm working on an POC for using a Module Pattern combined with Google Closure annotations to get a Javascript class as close to AS3 as I can get it. This might serve as a starting point for defining the FalconJS output.
EdB On Sun, Nov 25, 2012 at 4:59 AM, Alex Harui <aha...@adobe.com> wrote: > > > > On 11/24/12 3:42 PM, "Daniel Wasilewski" <devudes...@gmail.com> wrote: > >> And here is a little example of >> the very nature of this problem: >> >> http://jsperf.com/object-create-with-object-literal-vs-prototype > I must be missing something, but I don't see where the output code calls > Object.create(). >> >> We don't know what future will bring, maybe they will go crazy and >> built-in jQuery interpreter in their browsers, or do more crazy things... >> I am not saying that current output is wrong, but did you consider >> different styles? > This is not my code or Gordon's. Another engineer on another team put this > together very quickly. I just made it appear to work before donation. We > have no way of knowing what he did or did not consider, all we know is what > is in the code that was donated. >> Or at least have a choice to spit out a code in the >> way you can configure, specify some rules of AST?. > I think you can change the code there, but I don't see any config options > other than it appears to be able to hook into Jquery. >> Take a look at HaXe >> output for instance. >> >> I don't care if the output code is ugly and messy. What I do care about, >> is that this very code is the best performer. I am writing AS3/Flex code >> for clarity and speed of production, and what I expect is the best >> performance on the other side. No more slow downs and bloated stuff. >> Because it will only tell people, pick one of the native JS framework if >> you need to develop RIA application for HTML5. The last thing Flex need >> is reputation of over-bloated stuff on the future platform of the web. >> Do this the best way, or do this well enough otherwise don't do it at all. > Well, that is all in our control now. I will say that there is a good > chance that the final output won't be the absolute fastest as we are > translating from AS to JS so there is likely to be some impedance mismatch > there. > > For example, it appears that the current code has chosen a fancier > inheritance scheme than the bare bones object.prototype pattern, potentially > to allow for class reflection kinds of stuff. I'm not sure how much this > costs us and whether we truly have to have it. > > I also noted the output code calls newObject in certain cases. I'm not sure > if that is done for object pooling or memory management or for some other > reason. The adobe.js file I checked in was written by me and only has > enough code in it to make my demo run. I have no idea how much other > infrastructure was actually behind those calls. > >> >>>> 2. adobe.extend / adobe.classes? shouldn't be apache? >>> Well, it shouldn't be "adobe", but I'm not sure what we should change it to. >> >> If apache sounds too general maybe just flex? Keep in mind that >> apache.flex.classes will destroy performance a bit, yeap that's what JS >> is about, shallow water ;) > I left it as "adobe" until we argue over what to call it and make a > decision. >> >> Dan > > -- > Alex Harui > Flex SDK Team > Adobe Systems, Inc. > http://blogs.adobe.com/aharui > -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl