Ok Update.

I have been researching TypeScript and it's output, this is what I am
doing. For some reason this "just" makes sense to me and the are 100's of
examples I can use to test the code generation against.

Josh, I would say if you want to start experimenting with your framework,
use what you just showed me as a base and I can meet you in the middle,
then we can figure our the quirks together.

I will/am start/ing working on this ASAP.

Mike

On Wed, May 27, 2015 at 4:54 PM, Michael Schmalle <teotigraphix...@gmail.com
> wrote:

> Ok,
>
> I am a doer... :) Since this is all POC right now and I am up to learn
> some JS, I will use this as a format. I have done this JSEmitter 2 times
> now so the 3rd isn't going to be that hard, maybe the charm for me to.
>
> Note, most of the expressions and statements are already done. As noted,
> inheritance, scope and set/get always are the pains but if I have a target
> output protocol like TypeScript's output, why not emulate it.
>
> Alex, I know what you are thinking... Don't. :) My gut feeling is, if I
> start from the ground up and have NO dependencies on anything, I will do
> this twice as fast. I am very good at refactoring so once I have tests
> working on the generated .js, we can see what could be abstracted to and
> from this emitter and FlexJS.
>
> I really think for my own sanity, I need to start in isolation and not get
> in FlexJS's way either, that is another pro for me, no commit conflicts,
> nothing of that nature.
>
> Thoughts Josh, Alex?
>
> Mike
>
>
>
>
>
>
> On Wed, May 27, 2015 at 4:40 PM, Josh Tynjala <joshtynj...@gmail.com>
> wrote:
>
>> When I played with TypeScript, I loved that I could subclass CreateJS
>> prototypes very easily. As long as something like that is possible from
>> ActionScript (assuming I could provide a SWC or something for CreateJS or
>> whichever library I want to use), I don't have too strong of an opinion on
>> how the final JavaScript looks.
>>
>> I'll just say that I like the clean code that the TypeScript compiler
>> outputs. To me, it looked pretty much like what I might write manually, if
>> I were using vanilla JavaScript. Looking at the TypeScript playground, the
>> Inheritance example and the Modules example both look very nice.
>>
>> http://www.typescriptlang.org/Playground
>>
>> - Josh
>>
>> On Wed, May 27, 2015 at 12:02 PM, Michael Schmalle <
>> teotigraphix...@gmail.com> wrote:
>>
>> > On Wed, May 27, 2015 at 2:50 PM, Alex Harui <aha...@adobe.com> wrote:
>> >
>> > > New thread:
>> > >
>> > >
>> > >
>> > > On 5/27/15, 9:52 AM, "Michael Schmalle" <teotigraphix...@gmail.com>
>> > wrote:
>> > >
>> > > >Well, when I said "teach" I just meant getting into the code.
>> Really, I
>> > > >know the base part of the compiler and the walker/visitor framework
>> well
>> > > >;-), so getting FalconJX to use an HTML.swc would be exactly what I
>> am
>> > > >looking for to do.
>> > > >
>> > > >This is where you can keep doing what you are good at and I can work
>> on
>> > > >what I am good at(code rendering).
>> > > >
>> > > >Can I ask you to start another thread and outline what you see needs
>> to
>> > be
>> > > >done to accomplish what is in your mind dealing with FalconJX and the
>> > > >HTML.swc? If you can just brainstorm, then I can ask you questions to
>> > fill
>> > > >in the gaps that I am not seeing.
>> > > >
>> > >
>> > > As I see it, FalconJX should just be able to grab some SWCs and
>> > > cross-compile some AS based on definitions in the SWCs.  Right now we
>> > feed
>> > > it playerglobal/airglobal and FlexJS swcs with UIBase widgets, but in
>> > > theory, as Josh suggests we should be able to replace those SWCs with
>> > just:
>> > >
>> > > jsglobal.swc:
>> > > Object
>> > > Number
>> > > String
>> > > <what else>?
>> > >
>> > > HTML.swc:
>> > > Window
>> > > Event
>> > > UIEvent
>> > > MouseEvent
>> > > HTMLElement
>> > > etc.
>> > >
>> > >
>> > See for HTML lib, Roland used WebIDL parser to create it;
>> >
>> > https://github.com/RandoriAS/randori-libraries/tree/master/HTMLCoreLib
>> >
>> > The builtin.swc we made;
>> >
>> > https://github.com/RandoriAS/randori-tools/tree/develop/RandoriBuiltin
>> >
>> > Read the README, does this violate anything?
>> >
>> >
>> >
>> > > Then folks should be able to test drive FalconJX by running some AS
>> > > through it to get any JS they normally use in their web apps, and we
>> > > should be able to stop writing any JS at all.  All files in flex-asjs
>> > that
>> > > are currently .JS files should be able to be written in AS and
>> > > cross-compiled with only those two SWCs.  I can tell you that it would
>> > > probably have saved us much time if we had this already.  It is
>> painful
>> > > doing .JS code simply in the writing of ‘this.’ and ‘prototype’.
>> > >
>> >
>> > Yeah, not to mention compile time checking. :)
>> >
>> >
>> >
>> > >
>> > > Anyway, that’s as far as I’ve thought on this subject.  As you said in
>> > > another thread this is where we’d have to prove there are no
>> hard-coded
>> > > dependencies in Falcon/FalconJX on playerglobal/airglobal.
>> > >
>> >
>> >
>> > See the above links and give feedback on what you think.
>> >
>> >
>> > >
>> > > OK, one more thought: there may be reverse-engineering issues about
>> > > replacing playerglobal/airglobal, but I was hoping we might find some
>> > > Tamarin code laying around that has what we’d start with for
>> > jsglobal.swc.
>> > >
>> >
>> > I think this is what Roland actually did, I know he found it some
>> where(how
>> > to build the builtin.swc Randori used).
>> >
>> >
>> > Question; So the code style, you said we might use the FlexJS emitter
>> but I
>> > don't see how that is possible since it's not a vanilla emitter.
>> >
>> > It seems to me I need to know the exact code style that a vanilla
>> > transpiler will create and I can make that emitter as another backend,
>> what
>> > do you think?
>> >
>> > @Josj you have any thoughts? I am ready to start writing it. :)
>> >
>> > Mike
>> >
>> >
>> >
>> > >
>> > > -Alex
>> > >
>> > >
>> > >
>> >
>>
>
>

Reply via email to