In these project directories, you should find:

./as   -  AS written against Flash (Sprite, TextField, etc) for SWF output
./asjs -  AS that is written against abstractions to be used in a SWF or
cross-compiled to js
./js/src   -  JS that is handwritten to be used on the JS side.
./js/out   -  JS that was cross-compiled from ./asjs

The task is how to get rid of ./js/src and replace it with AS written
against js.swc.  I only tried Network/HTTPService and decided that
conditional compiling would be better, but I haven’t figured out how to
deal with different base classes like HTMLElementWrapper in js/src but not
in as.  IOW, UIBase has different base classes at some point (Sprite vs
HTMLElementWrapper).  If conditional compilation works everywhere that’s
awesome, but if we need some other folder full of .as that only compiles
against js.swc that’s fine too.  We won’t know until we really try it.  I
wasn’t going to try right now so feel free if that’s what you want to work
on.

What happens in the build script is that ./as and ./asjs are compiled into
a SWC with COMPC just to make sure it compiles cleanly since it runs
faster than COMPJSC so we find errors sooner.  Then COMPJSC compiles
./asjs into ./js/out.  Then we run COMPC again to pack the ./js folder
into the SWC.  Someday the COMPJSC probably need to be able to pack the js
directly into the SWC so we don’t have to run COMPC twice, or maybe we
should skip the first run of COMPC.

Thanks,
-Alex


On 6/24/15, 1:35 PM, "Michael Schmalle" <teotigraphix...@gmail.com> wrote:

>On Wed, Jun 24, 2015 at 4:33 PM, Frédéric THOMAS <webdoubl...@hotmail.com>
>wrote:
>
>> So, now, I guess those Core/js classes have been generated but how ?
>> what's the process ?
>>
>>
>
>What are you talking about? As far as I know all the Core/js were and
>written and need to be back ported to AS now. anything in an out directory
>was generated.
>
>Mike
>
>
>
>>
>> Frédéric THOMAS
>>
>>
>> ----------------------------------------
>> > From: webdoubl...@hotmail.com
>> > To: dev@flex.apache.org
>> > Subject: RE: [FalconJX FlexJS] JQuery up and running, a nightmare but
>>we
>> now have 1.9 in AS
>> > Date: Wed, 24 Jun 2015 21:21:46 +0100
>> >
>> > Ok, sorry, I got it !!
>> >
>> > Frédéric THOMAS
>> >
>> >
>> > ----------------------------------------
>> >> From: webdoubl...@hotmail.com
>> >> To: dev@flex.apache.org
>> >> Subject: RE: [FalconJX FlexJS] JQuery up and running, a nightmare but
>> we now have 1.9 in AS
>> >> Date: Wed, 24 Jun 2015 21:03:17 +0100
>> >>
>> >>> Try the -keep-asdoc flag on MXMLJSC.
>> >>
>> >> Actually, it is what I did, I tried to compile the asjs project
>>Core/as
>> to js hoping to get the same result than what I can see in Core/js
>> >>
>> >> What it doesn't compiler the same ?
>> >>
>> >> Frédéric THOMAS
>> >>
>> >>
>> >> ----------------------------------------
>> >>> From: aha...@adobe.com
>> >>> To: dev@flex.apache.org
>> >>> Subject: Re: [FalconJX FlexJS] JQuery up and running, a nightmare
>>but
>> we now have 1.9 in AS
>> >>> Date: Wed, 24 Jun 2015 17:53:56 +0000
>> >>>
>> >>> Try the -keep-asdoc flag on MXMLJSC. But the deal is that none of
>>these
>> >>> .as or .js files factor into the final app since they are all
>>externs
>> so
>> >>> <inject_html> won’t be seen.
>> >>>
>> >>> So yes, folks can use conditional compile to add stuff, but
>>requiring a
>> >>> base class may be easier for the developers. Anyway, we’ll find out
>> when
>> >>> more people use it.
>> >>>
>> >>> -Alex
>> >>>
>> >>> On 6/24/15, 10:12 AM, "Frédéric THOMAS" <webdoubl...@hotmail.com>
>> wrote:
>> >>>
>> >>>>> I’m not opposed to it. IMO, injecting Jquery’s scripts should be
>> >>>>> automatic. It is in the FlexJS Jquery.swc because you subclass
>> >>>>> org.apache.flex.jquery.Application and that automatically results
>>in
>> the
>> >>>>> script being added to the head.
>> >>>>>
>> >>>>> This externs-based swc concept is too new to know what is right or
>> >>>>>wrong.
>> >>>>> Just keep on coding and we’ll see repeating patterns emerge and
>> >>>>> encapsulate them. Folks will try it and like it or not. No need to
>> guess
>> >>>>> up front. Thanks for figuring it out.
>> >>>>
>> >>>>
>> >>>>This is true it is a bit edge case, only for externs based
>>applications
>> >>>>at the moment, it could become less true if want to use conditional
>> >>>>compilation for framework components too IMO and let the creator
>>build
>> it
>> >>>>in one shot, in 2 shots, he could still modify the generated JS to
>> >>>>include the <inject_html> though.
>> >>>>
>> >>>>Btw,
>> >>>> I had a look at the Closure Compiler Externs Extractor [1] but the
>> >>>>result of the extracted lib [2] doesn't show any type annotations, I
>> >>>>guess this is normal but I wonder how those google externs like this
>> one
>> >>>>[3] have been built ?
>> >>>>
>> >>>>Another thing, why when I cross compile IStand, I don't have the
>> comments
>> >>>>generated like:
>> >>>>
>> >>>>/**
>> >>>> * addBead()
>> >>>> *
>> >>>> * @expose
>> >>>> * @param {org_apache_flex_core_IBead} bead The bead to add.
>> >>>> */
>> >>>>
>> >>>>I've got that only:
>> >>>>
>> >>>>/**
>> >>>> * org.apache.flex.core.IStrand
>> >>>> *
>> >>>> * @fileoverview
>> >>>> *
>> >>>> * @suppress {checkTypes}
>> >>>> */
>> >>>>
>> >>>>goog.provide('org_apache_flex_core_IStrand');
>> >>>>
>> >>>>/**
>> >>>> * @interface
>> >>>> */
>> >>>>org_apache_flex_core_IStrand = function() {
>> >>>>};
>> >>>>org_apache_flex_core_IStrand.prototype.addBead = function(bead) {
>> >>>>};
>> >>>>org_apache_flex_core_IStrand.prototype.getBeadByType =
>> >>>>function(classOrInterface) {
>> >>>>};
>> >>>>org_apache_flex_core_IStrand.prototype.removeBead = function(bead) {
>> >>>>};
>> >>>>
>> >>>>
>> >>>>/**
>> >>>> * Metadata
>> >>>> *
>> >>>> * @type {Object.<string, Array.<Object>>}
>> >>>> */
>> >>>>org_apache_flex_core_IStrand.prototype.FLEXJS_CLASS_INFO = { names:
>>[{
>> >>>>name: 'IStrand', qName: 'org_apache_flex_core_IStrand'}] };
>> >>>>
>> >>>>Thanks
>> >>>>Frédéric THOMAS
>> >>>>
>> >>>>[1] http://www.dotnetwise.com/Code/Externs/
>> >>>>[2] http://code.jquery.com/jquery-2.1.4.js
>> >>>>[3]
>> >>>>
>> 
>>https://raw.githubusercontent.com/google/closure-compiler/master/contrib/
>>e
>> >>>>xterns/angular-1.3.js
>> >>>>
>> >>>>
>> >>>>----------------------------------------
>> >>>>> From: aha...@adobe.com
>> >>>>> To: dev@flex.apache.org
>> >>>>> Subject: Re: [FalconJX FlexJS] JQuery up and running, a nightmare
>>but
>> >>>>>we now have 1.9 in AS
>> >>>>> Date: Wed, 24 Jun 2015 05:59:45 +0000
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> On 6/23/15, 10:03 PM, "Frédéric THOMAS" <webdoubl...@hotmail.com>
>> wrote:
>> >>>>>
>> >>>>>>Yes, it's cool, it simplified my life as well as being able to
>>modify
>> >>>>>>the
>> >>>>>>html head from AS, for example here with the dynamic loading of
>>the
>> >>>>>>jQuery lib but it seems I'm the only one happy with that :-)
>> >>>>>>
>> >>>>>>No interests to add such feature to the framework though ?
>> >>>>>
>> >>>>> I’m not opposed to it. IMO, injecting Jquery’s scripts should be
>> >>>>> automatic. It is in the FlexJS Jquery.swc because you subclass
>> >>>>> org.apache.flex.jquery.Application and that automatically results
>>in
>> the
>> >>>>> script being added to the head.
>> >>>>>
>> >>>>> This externs-based swc concept is too new to know what is right or
>> >>>>>wrong.
>> >>>>> Just keep on coding and we’ll see repeating patterns emerge and
>> >>>>> encapsulate them. Folks will try it and like it or not. No need to
>> guess
>> >>>>> up front. Thanks for figuring it out.
>> >>>>>
>> >>>>> -Alex
>> >>>>>
>> >>>>
>> >>>
>> >>
>> >
>>
>>

Reply via email to