incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Wasilewski <devudes...@gmail.com>
Subject Re: FalconJS "Demo" checked in
Date Wed, 28 Nov 2012 22:06:29 GMT
Alex,

I am sure nobody here said anything against your job and contribution. 
As a starting point is great!
And at least you get us started on this. And thank you for your hard work.

But I would be careful with a gurus. There is as many JS gurus as styles 
they invented.
And the guy behind jQuery hmm.. if you are performance lover you have no 
idea how big damage he did to the JS community.
Every single method up there is 100x slower to compare to native JS. 
People love it because is simple to use.
Because they are too lazy to learn the core and basic concepts behind 
it. This language is flexible enough to write Action Script on top of it!
But jQuery trade off, 100x or even 1000x sometimes proves is not worth 
it. Is a Be or Not-To-Be for a lot of applications.
Check how many tests on jsperf are putting jQuery into shame.
And pushing this into mobile development is complete misunderstanding of 
the current state of art.

I do believe that it is possible to make a easy to develop environment 
and spit out efficient code on the other side.
And not many ongoing development in this area has as much opportunity to 
get something done well as Apache has at the moment.

Building on efficient solution/foundation is important, because from now 
on thing can only slow down.

Just my 2 cents
Dan

On 11/28/2012 9:35 PM, Alex Harui wrote:
> And [1] is:
>
> [1] http://ejohn.org/blog/simple-javascript-inheritance/
>
>
> On 11/28/12 1:23 PM, "Alex Harui" <aharui@adobe.com> wrote:
>
>>
>>
>> On 11/28/12 12:32 PM, "Kevin Newman" <CaptainN@unFocus.com> wrote:
>>
>>> It looks like adobe.js is using the constructor method as a kind of
>>> marker function, and compiling the actual constructor into the 'init'
>>> method (which is weird IMHO, since you can inherit from the parent
>>> constructor, and protect the prototype chain without calling the
>>> constructor via other means - and many AS3 classes may already
>>> legitimately be using an init method for other purposes, creating a
>>> collision).
>> FWIW, the adobe.js file was cooked up by me.  The original engineer did not
>> include it in the donation and I never saw his version.  Based on some
>> comments in the FalconJS code, I started with the code at [1] and modified
>> it until it actually did something.  So, since I'm a JS newbie I could have
>> screwed up something, but I'm pretty sure the code at [1] is the correct
>> starting point for what FalconJS outputs.
>>
>> The init() name collision caught me too, but I think it would be easy to
>> change it so something a bit more obfuscated.
>>> So, the adobe.extend( 'name', SuperRef ) - the SuperRef is the marker
>>> function, and when you call extend it should be invoking the super
>>> constructor (line 88 in adobe.js).
>>>
>>> For methods, if a method name exists on parent, and also exists on
>>> child, the extend method is adding a closure, which will preserve, and
>>> then invoke the parent's method in _super() (line 75 in adobe.js).
>> As you probably know better than me, the author of [1] is a pretty
>> well-known JS guru.  I haven't looked at his other work like Jquery to see
>> if he uses this pattern there or has since become a convert to some other
>> pattern.  But for now I have to assume there was some important reason for
>> every line of the code.  Was it just to get instanceof to work?
>>
>> I don't really care what the output code looks like, but I do know I don't
>> have the ability to quickly change the output code so I am working on other
>> aspects and hoping some other volunteer will do that if so motivated.
>>> I didn't notice any place in the example code where super was invoked
>>> directly, so I'm not sure how Falcon handles that.
>> Did you really mean Falcon here or FalconJS?  I'm not sure I understood
>> this.  I don't think you can use super from outside the class to skip around
>> an override like I think you can in C++.
>>>   From a quick look anyway.
>>>
>>> Kevin N.
>>>
>>>
>>> On 11/28/12 2:54 PM, Daniel Wasilewski wrote:
>>>> Can any JS savvy person here tell me how according to adobe.js module
>>>> pattern call super? I just lost my head..., got 3 classes extending
>>>> each other and the only top one call init(); I am preparing those
>>>> performance tests for comparison.
>>>>
>>>> Dan


Mime
View raw message