flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: [FlexJS] Handling interfaces
Date Thu, 31 Oct 2013 13:33:44 GMT
Not sure what you're asking.  There isn't any Adobe code in there.  The
zip contains binaries so it can't go in the repo.  The sh/bat files in the
zip are not in the repo because I keep hoping they will go away someday
and be replaced by an installer.

-Alex

On 10/31/13 6:30 AM, "Erik de Bruin" <erik@ixsoftware.nl> wrote:

>Ok... is that proprietary code, or just not in the repo yet?
>
>EdB
>
>
>
>On Thu, Oct 31, 2013 at 2:26 PM, Alex Harui <aharui@adobe.com> wrote:
>> By using the FlexJSOverlay.zip on my people.a.o folder.  Instructions
>>are
>> available at
>> 
>>https://cwiki.apache.org/confluence/display/FLEX/Using+FlexJS+with+Adobe+
>>Fl
>> ash+Builder
>>
>> -Alex
>>
>> On 10/31/13 6:20 AM, "Erik de Bruin" <erik@ixsoftware.nl> wrote:
>>
>>>And how does one 'overlay' an SDK?
>>>
>>>EdB
>>>
>>>
>>>
>>>On Thu, Oct 31, 2013 at 2:07 PM, Alex Harui <aharui@adobe.com> wrote:
>>>> I've been testing against DataBindingTest whose sources are up on my
>>>> people.a.o folder, so maybe this doesn't build anymore, but the
>>>>console
>>>> output looks like you are referencing a full Apache Flex SDK instead
>>>>of
>>>> one that is overlaid, which might cause the compiler to find CSS files
>>>>in
>>>> a whole bunch of SWCs that we don't currently handle.
>>>>
>>>> IOW, you can't just add FlexJSUI.swc to an existing SDK, it has to be
>>>> "overlaid" which neuters some things in an Apache Flex SDK.
>>>>
>>>> -Alex
>>>>
>>>> On 10/31/13 5:29 AM, "Erik de Bruin" <erik@ixsoftware.nl> wrote:
>>>>
>>>>>Hi,
>>>>>
>>>>>I'm busy building support for the "is" and "as" operators into FlexJS.
>>>>>Now, first I thought I'd try to compile the FlexJSTest_again example.
>>>>>To my suprise, I get an error:
>>>>>
>>>>>CSS codegen problem. Reason: 'Unable to find compilation unit for
>>>>>Embed(source="Assets.swf",symbol="mx.skins.cursor.BusyCursor")'
>>>>>
>>>>>The error seems to originate from FalconJx, it is thrown in
>>>>>JSCSSCompilationSession.java... Now, my sources are fresh, I've
>>>>>rebuild the SDK (super-clean main), all compiler projects (wipe main)
>>>>>and the FlexUI.swc. Am I missing something (command line arg) or is
>>>>>there some source not yet committed or something more obvious I'm
>>>>>overlooking?
>>>>>
>>>>>These are my arguments:
>>>>>
>>>>>+env.PLAYERGLOBAL_HOME=/Users/erik/Documents/ApacheFlex/dependencies/P
>>>>>la
>>>>>ye
>>>>>rGlobal/player
>>>>>+playerglobal.version=11.1
>>>>>-load-config="/Applications/Adobe Flash Builder
>>>>>4.7/sdks/4.10.0/frameworks/flex-config.xml"
>>>>>-library-path+=/Users/erik/Documents/ApacheFlex/git/flex-asjs/framewor
>>>>>ks
>>>>>/a
>>>>>s/libs/FlexJSUI.swc
>>>>>-js-output-type=FLEXJS
>>>>>-closure-lib=/Users/erik/Documents/ApacheFlex/dependencies/GoogleClosu
>>>>>re
>>>>>/l
>>>>>ibrary
>>>>>-sdk-js-lib=/Users/erik/Documents/ApacheFlex/git/flex-asjs/frameworks/
>>>>>js
>>>>>/F
>>>>>lexJS/src
>>>>>/Users/erik/Documents/ApacheFlex/git/flex-asjs/examples/FlexJSTest_aga
>>>>>in
>>>>>/s
>>>>>rc/FlexJSTest_again.mxml
>>>>>
>>>>>EdB
>>>>>
>>>>>
>>>>>On Thu, Oct 31, 2013 at 6:37 AM, Erik de Bruin <erik@ixsoftware.nl>
>>>>>wrote:
>>>>>> I'll have a look at it today.
>>>>>>
>>>>>> EdB
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wednesday, October 30, 2013, Peter Ent wrote:
>>>>>>>
>>>>>>> Thanks, Erik. Interesting read. FlexJS uses a lot of interfaces
so
>>>>>>>we'll
>>>>>>> have to find a reasonable solution for this. We've managed to
avoid
>>>>>>>the
>>>>>>> situation in JavaScript but it is coming up quickly.
>>>>>>>
>>>>>>> --peter
>>>>>>>
>>>>>>> On 10/30/13 3:10 PM, "Erik de Bruin" <erik@ixsoftware.nl>
wrote:
>>>>>>>
>>>>>>> >Some guidance can be found here [1] and here [2].
>>>>>>> >
>>>>>>> >EdB
>>>>>>> >
>>>>>>> >1:
>>>>>>>
>>>>>>> >
>>>>>>>>http://blogs.adobe.com/bparadie/2011/11/26/classes-inheritance-inte
>>>>>>>>rf
>>>>>>>>ac
>>>>>>>>es-
>>>>>>> >packages-and-namespaces/
>>>>>>> >2:
>>>>>>>
>>>>>>> >
>>>>>>>>https://cwiki.apache.org/confluence/display/FLEX/Simulating+AS3+lan
>>>>>>>>gu
>>>>>>>>ag
>>>>>>>>e+f
>>>>>>> >eatures+in+JavaScript+using+AMD+and+ES5
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> >On Wed, Oct 30, 2013 at 8:07 PM, Erik de Bruin
>>>>>>><erik@ixsoftware.nl>
>>>>>>> > wrote:
>>>>>>> >> "instanceof" doesn't check if an interface is implemented,
>>>>>>>neither
>>>>>>>in
>>>>>>> >> Flex nor using Closure inheritance in JavaScript. What
we need
>>>>>>>for
>>>>>>> >> runtime checking of interface implementation is an global
"is"
>>>>>>> >> function... I think I taught FalconJx to translate "ClassA
is
>>>>>>>ClassB"
>>>>>>> >> as "is(ClassA, ClassB)". All we need to do now is to
implement a
>>>>>>> >> global "is()" function and somehow teach the compiler
to keep
>>>>>>>track
>>>>>>>of
>>>>>>> >> which classes implement which interfaces - all the way
up the
>>>>>>>chain
>>>>>>> >> and sideways (interfaces can implement interfaces).
>>>>>>> >>
>>>>>>> >> EdB
>>>>>>> >>
>>>>>>> >>
>>>>>>> >>
>>>>>>> >> On Wed, Oct 30, 2013 at 6:34 PM, Alex Harui <aharui@adobe.com>
>>>>>>>wrote:
>>>>>>> >>> Reviving this thread...
>>>>>>> >>>
>>>>>>> >>> Peter says he wants to test to see if an object
implements an
>>>>>>> >>>interface at
>>>>>>> >>> runtime.  What mechanism do we want to use?
>>>>>>> >>>
>>>>>>> >>> I don't think we need to make instanceof work, just
have some
>>>>>>>test
>>>>>>>to
>>>>>>> >>>call.
>>>>>>> >>>
>>>>>>> >>> -Alex
>>>>>>> >>>
>>>>>>> >>> On 7/30/13 12:46 AM, "Erik de Bruin" <erik@ixsoftware.nl>
>>>>>>>wrote:
>>>>>>> >>>
>>>>>>> >>>>When using interfaces for type checking, there
are two 'kinds':
>>>>>>>at
>>>>>>> >>>>compilation and at runtime.
>>>>>>> >>>>
>>>>>>> >>>>The @interface and @implements annotations are
for compile time
>>>>>>> >>>>checking.
>>>>>>> >>>>
>>>>>>> >>>>For runtime checking comes in two flavours: 'instanceof'
and
>>>>>>>'is'.
>>>>>>> >>>>
>>>>>>> >>>>Our method of setting up inheritance (goog.inherits)
maintains
>>>>>>>the
>>>>>>> >>>>inheritance chain, so 'instanceof' works out
of the box.
>>>>>>> >>>>
>>>>>>> >>>>The work starts with 'is'. We want to story the
'extends' and
>>>>>>> >>>>'implements' metadata from AS in the JS classes
and create a
>>>>>>>method to
>>>>>>> >>>>test against that metadata set. I have a pretty
good idea on
>>>>>>>how
>>>>>>>to
>>>>>>> >>>>implement such a beast, but it will require some
(ha!)
>>>>>>>tinkering
>>>>>>>with
>>>>>>> >>>>the FlexJS JS framework and FalconJx. That will
take some
>>>>>>>time...
>>>>>>> >>>>
>>>>>>> >>>>EdB
>>>>>>> >>>>
>>>>>>> >>>>
>>>>>>> >>>>
>>>>>>> >>>>On Mon, Jul 29, 2013 at 9:17 PM, OmPrakash Muppirala
>>>>>>> >>>><bigosmallm@gmail.com> wrote:
>>>>>>> >>>>> On Mon, Jul 29, 2013 at 11:20 AM, Alex Harui
>>>>>>><aharui@adobe.com>
>>>>>>> >>>>>wrote:
>>>>>>> >>>>>
>>>>>>> >>>>>> I think FalconJS was going to generate
something like:
>>>>>>> >>>>>>
>>>>>>> >>>>>>         if (child != undefined &&
>>>>>>> >>>>>> child.$implements["org.apache.flex.core.IChrome"])
>>>>>>> >>>>>>
>>>>>>> >>>>>> Not sure what it was going to do for
classes, maybe chase
>>>>>>>the
>>>>>>> >>>>>>prototype
>>>>>>> >>>>>> chain?
>>>>>>> >>>>>>
>>>>>>> >>>>>> The other thing that occurred to me
about $implements or
>>>>>>> >>>>>>child.is(IChrome)
>>>>>>> >>>>>> is that all objects must then have these
properties or
>>>>>>>functions
>>>>>>> >>>>>>where
>>>>>>> >>>>>>the
>>>>>>> >>>>>> global function
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Ix Multimedia Software
>>>>>>
>>>>>> Jan Luykenstraat 27
>>>>>> 3521 VB Utrecht
>>>>>>
>>>>>> T. 06-51952295
>>>>>> I. www.ixsoftware.nl
>>>>>
>>>>>
>>>>>
>>>>>--
>>>>>Ix Multimedia Software
>>>>>
>>>>>Jan Luykenstraat 27
>>>>>3521 VB Utrecht
>>>>>
>>>>>T. 06-51952295
>>>>>I. www.ixsoftware.nl
>>>>
>>>
>>>
>>>
>>>--
>>>Ix Multimedia Software
>>>
>>>Jan Luykenstraat 27
>>>3521 VB Utrecht
>>>
>>>T. 06-51952295
>>>I. www.ixsoftware.nl
>>
>
>
>
>-- 
>Ix Multimedia Software
>
>Jan Luykenstraat 27
>3521 VB Utrecht
>
>T. 06-51952295
>I. www.ixsoftware.nl


Mime
View raw message