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] concepts
Date Wed, 28 Nov 2012 23:21:29 GMT
On 11/28/2012 11:08 PM, Michael Schmalle wrote:
> That being said.
>
> I may be a complete idiot in thinking here but, why use a framework 
> like jQuery if you have a framework in ActionScript.
>
> Now let me finish my thought, I know we arn't talking about using 
> jQuery but we do have the compiler that can do "majic" when 
> transcoding. So I agree that isn't it the best for us as a group to 
> figure out the bare bones fasted possible javascript implementation 
> and bend the compiler to service the needs of the performat code path?
>
I am trying hard to encourage people to answer positively on this 
question :)
> The compiler is just a tool, it doesn't care how it compiles as to js.
>
> Pretty much what has been said in this thread is why I am still on 
> this project. I don't even use ActionScript right now. But to think I 
> could have a hand at helping an underdog take an implementation route 
> that was not a "candy" route for gaining top followers is a great 
> feeling. If this project gets started based on performance arguments 
> it has a good chance at succeeding.
>
I do believe so. I am running my own project which is pretty much about 
this, AS3 -> JS, but I would sacrifice it for the sake of seeing Flex 
reborn on JS platform as a king of RIA again.

> Mike
>
>
> Quoting Daniel Wasilewski <devudesign@gmail.com>:
>
>> Well,
>>
>> I feel like one, because only FalconJS subject activated me on this 
>> list :)
>>
>> And to eliminate the 'IF' from your conditional statement, just a 
>> quick one:
>>
>> http://jsperf.com/jqury-vs-plainjs
>>
>> Dan
>>
>> On 11/28/2012 10:26 PM, Michael Schmalle wrote:
>>> Hey,
>>>
>>> Your not an outsider, everything I have read of yours is golden. At 
>>> least you are trying to explain this stuff to people who don't have 
>>> a lot of js experience.
>>>
>>> If what you are saying about jQuery and performance is true then;
>>>
>>> "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."
>>>
>>> I couldn't agree more. Sometimes being an infant has it's advantages 
>>> in a new world because you don't have any bad habits yet!
>>>
>>>
>>> Mike
>>>
>>>
>>>
>>>
>>> Quoting Daniel Wasilewski <devudesign@gmail.com>:
>>>
>>>> I can spare my free time on this, Possibly not on Apache 
>>>> contributor level because I am total noob when comes to it. I don't 
>>>> even managed to set up my environment for flexSDK ;) But this is 
>>>> because I've got AIR corrupted and some windows x86 redistributable 
>>>> corupted libs blabla, the only reasonable solution is to go for 
>>>> fresh Windows installation. Hell no...!! ;)
>>>>
>>>> I am not JS guru, but would like to get involved and do my best 
>>>> even as outsider.
>>>> I was digging into JS for past year just to investigate the 
>>>> possibilities. Mostly from performance point of view and mobile 
>>>> development.
>>>>
>>>>
>>>> In regards to instanceof:
>>>>
>>>>
>>>> Here is something that haxe is using
>>>>
>>>> js.Boot.__instanceof = function(o,cl) {
>>>>    try {
>>>>        if(o instanceof cl) {
>>>>            if(cl == Array) return o.__enum__ == null;
>>>>            return true;
>>>>        }
>>>>        if(js.Boot.__interfLoop(o.__class__,cl)) return true;
>>>>    } catch( e ) {
>>>>        if(cl == null) return false;
>>>>    }
>>>>    switch(cl) {
>>>>    case Int:
>>>>        return Math.ceil(o%2147483648.0) === o;
>>>>    case Float:
>>>>        return typeof(o) == "number";
>>>>    case Bool:
>>>>        return o === true || o === false;
>>>>    case String:
>>>>        return typeof(o) == "string";
>>>>    case Dynamic:
>>>>        return true;
>>>>    default:
>>>>        if(o == null) return false;
>>>>        if(cl == Class && o.__name__ != null) return true; else null;
>>>>        if(cl == Enum && o.__ename__ != null) return true; else null;
>>>>        return o.__enum__ == cl;
>>>>    }
>>>> }
>>>>
>>>>
>>>> having something like that implemented
>>>>
>>>> 'is' is as easy as:
>>>>
>>>> Std["is"] = function(v,t) {
>>>>    return js.Boot.__instanceof(v,t);
>>>> }
>>>>
>>>> But obviously, it needs to live within rest of the sugar :).
>>>>
>>>> Are you able to provide the list of stuff/fields that compiler is 
>>>> expecting to meet on the other side?
>>>>
>>>> Dan
>>>>
>>>>
>>>> On 11/28/2012 9:42 PM, Alex Harui wrote:
>>>>>
>>>>>
>>>>> On 11/28/12 1:35 PM, "Daniel Wasilewski" <devudesign@gmail.com>

>>>>> wrote:
>>>>>
>>>>>> So, please tell me why not to go the classic route as a very 
>>>>>> little overhaul
>>>>>> for the application that can be built on top of AS3/Flex?
>>>>>> This is bloody 3 classes with 4 methods in it, and we are not 
>>>>>> talking here
>>>>>> about few % but tens.
>>>>>> It can only grow exponentially to the scale of your project.
>>>>> I don't know enough to have an reason not to go the classic 
>>>>> route.  But
>>>>> someone else will have to step up to do the work.
>>>>>
>>>>> That said, because we are cross compiling AS, does the classic 
>>>>> route support
>>>>> as many features of AS, especially the reflection-oriented 
>>>>> features?  We
>>>>> want to try to compile business logic untouched and it might be 
>>>>> using "is",
>>>>> "in", "instanceof", etc.  Resig's blog seems to indicate that 
>>>>> support for
>>>>> instanceOf was important and required all of that code.
>>>>>
>>>>>> Dan
>>>>>
>>>>
>>>>
>>>
>>
>>
>


Mime
View raw message