Hi Alex,

all I’m currently concerned about is that it will be painfull for our users. 
And for us, because as soon as no-brain-developers will start using FlexJS, we 
will probably be swamped with support requests. And I remember myself being 
quite confused about it even now … so I usually try to build and if there’s 
errors I’ll add the second option an try again.

I would definitely not enjoy having to deal with three SWCs per library. 
Ideally we would have only one (That would actually make me 
super-duper-ultra-happy). It would ease up explaining things, it would make the 
Maven plugin a lot simpler and I guess it would reduce frustration with early 
adopters.

If there’s anything I can do to make this happen, just tell me what to do.
        
Chris



Am 02.02.17, 17:38 schrieb "Alex Harui" <aha...@adobe.com>:

    There are already two lib folders (actually three).  Today we have:
    
    Frameworks/libs:  XXX.SWC contains:
        -Flash-based Class Definitions
        -JS files for JS compiles
    Frameworks/js/FlexJS/libs:  XXXJS.SWC contains:
        -JS.swc-based Class Definitions
    Js/libs:  SWC contains
        -JS.swc-based Class Definitinons from flex-typedefs
        -JS files for externs
    
    Before I consider this "dual" thing done, I was going to change things so
    there is a copy of the JS files in the XXXJS.swc.  AIUI, Maven has two
    categories of SWCs: externs and regular, so you can see by packing JS
    files in the XXXJS.swc it will have the same sort of contents.
    
    I have not worked with ANEs, but AIUI, there is one API definition and
    multiple platform object codes.  For FlexJS SWCs there are different API
    definitions per platform.  IMO, by packing JS files in the SWC we are
    doing something like what ANE packaging does.  The JS is effectively the
    platform object code.  But all existing IDEs expect only a single
    library.swf for the API definitions.  We can change that, but then every
    IDE would have to change.  IMO, backward-compatibility is still important,
    not just for FB.  We could still have two SWCs per library and still
    package a js-library.swf into the SWF SWC if that makes VSCode work
    better.  We could also make the compiler guess that if there is a XXX.SWC
    to first look for a XXXJS.SWC in another folder.  That would be far
    simpler, IMO.
    
    Could we create a third SWC with only the definitions in common?
    Probably, but IMO, not critical right now (or at least, that's not what I
    want to do with my time).   The dual compile will effectively show you
    what is common, and I hope we can add documentation to mark what is common.
    
    I think there are two pieces here:
    -Will it be to painful to require third parties to ship two SWCs per
    library?
    -Can we make it so that if you specify XXX.SWC on the library path, you
    don't also have to specify XXXJS.SWC in the config?
    
    I think we can make the compilers make some assumptions so that if there
    are two SWCs per library the consumer only has to think about one.  But
    for backward compatibility, I'd say we still need two SWCs per library.
    
    Thoughts?
    -Alex
    
    
    
    On 2/2/17, 3:10 AM, "carlos.rov...@gmail.com on behalf of Carlos Rovira"
    <carlos.rov...@gmail.com on behalf of carlos.rov...@codeoscopic.com> wrote:
    
    >I think self contain is better too. For example Adobe AIR does the same
    >with Multiplatform ANEs. If the ANE is implemented for iOS, Android, and
    >more,...all goes in the same .ane and I think that's really good, since
    >the
    >library is in fact Multiplatform and ready to use for anyone in anyplace
    >:)
    >
    >2017-02-02 10:46 GMT+01:00 Christofer Dutz <christofer.d...@c-ware.de>:
    >
    >> Would it be somehow possible to make the swcs self-contained?
    >> Right now they contain catalog.xml and library.swf … couldn’t this
    >>contain
    >> something like a “catalog-js.xml” and a “library-js.swf” … this way we
    >> could just add a dependency to a SWC and the compiler could internally
    >>grab
    >> what he needs. This would the the option which I would prefer most …
    >>sort
    >> of 1000000000+ ;-)
    >>
    >> Chris
    >>
    >> Am 02.02.17, 10:27 schrieb "Harbs" <harbs.li...@gmail.com>:
    >>
    >>     So there would be two different lib folders? One for swf compilation
    >> and another for js compilation? Maybe a third lib folder for “dual”
    >> compilation?
    >>
    >>     Here’s a thought: Would it be possible to create a “dual” swc which
    >> would contain the definitions for both JS and SWF? And have falcon
    >> understand how to read the correct one depending on the output?
    >>
    >>     > On Feb 2, 2017, at 12:05 AM, Alex Harui <aha...@adobe.com> wrote:
    >>     >
    >>     >
    >>     >
    >>     > On 2/1/17, 1:41 PM, "Harbs" <harbs.li...@gmail.com> wrote:
    >>     >
    >>     >> One question: How do you envision swc for third party libraries
    >>if
    >> both
    >>     >> JS and SWF swcs are being used?
    >>     >>
    >>     >> Is this strictly an SDK thing or would there be some mechanism
    >>for
    >> having
    >>     >> split swcs for libs as well?
    >>     >
    >>     > I think third-parties will also have to distribute two SWCs if
    >>there
    >> are
    >>     > differences in the API surfaces.  If you have a high-level library
    >> that
    >>     > just talks to downstream libraries and has no COMPILE:: blocks you
    >>     > probably only need the one SWC.
    >>     >
    >>     > Is this an ok thing to do to our customers?
    >>     >
    >>     > -Alex
    >>     >
    >>
    >>
    >>
    >>
    >
    >
    >-- 
    >
    >Carlos Rovira
    >Director General
    >M: +34 607 22 60 05
    >http://www.codeoscopic.com
    >http://www.avant2.es
    >
    >Este mensaje se dirige exclusivamente a su destinatario y puede contener
    >información privilegiada o confidencial. Si ha recibido este mensaje por
    >error, le rogamos que nos lo comunique inmediatamente por esta misma vía y
    >proceda a su destrucción.
    >
    >De la vigente Ley Orgánica de Protección de Datos (15/1999), le
    >comunicamos
    >que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC
    >S.A. La finalidad de dicho tratamiento es facilitar la prestación del
    >servicio o información solicitados, teniendo usted derecho de acceso,
    >rectificación, cancelación y oposición de sus datos dirigiéndose a
    >nuestras
    >oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación
    >necesaria.
    
    

Reply via email to