Thanks for waiting with this commit till after I land the
'goog.events' branch :-(

EdB



On Fri, May 3, 2013 at 11:48 PM, Carlos Rovira
<carlos.rov...@codeoscopic.com> wrote:
> Hi Alex,
>
> fixed in my latest commit, not JS and SWF works ok. Things look better at
> daylight ;).
> Only JS side need to improve applicationModel to be getter/setter.
>
> I change SimpleBinding fix to try catch as you suggested.
>
> Best,
>
> Carlos
>
>
> 2013/5/3 Alex Harui <aha...@adobe.com>
>
>> Hi Carlos,
>>
>> I don't think the change to ViewBase.as was correct.  The applicationModel
>> property should be a getter.  It looks like you reverted to a var.
>>
>> See if that fixes the SWF situation.
>>
>> -Alex
>>
>> On 5/2/13 6:17 PM, "Carlos Rovira" <carlos.rov...@codeoscopic.com> wrote:
>>
>> > Alex,
>> >
>> > I shared a branch with some changes "feature/applicationModel_refactor".
>> >
>> > applicationModel is the variable that makes createjs sample fail with the
>> > change in simplebinding. I refactor to the way you show (hopefuly).
>> >
>> > In the JS version all is working right. But now SWF compilations fails in
>> > runtime for both, _again and createjs sample (in different ways).
>> >
>> > Could you take a look and see if this refactor is in the way you
>> > commented?. I'll take a look tomorrow and see why SWFs are failing.
>> >
>> >
>> >
>> > 2013/5/3 Carlos Rovira <carlos.rov...@codeoscopic.com>
>> >
>> >> Hi Alex,
>> >>
>> >> now I understand the problem. I was not aware of @expose and what you
>> >> comment here. Very important information. Tomorrow I'll go back to the
>> >> sample and see if I can change the sample to get working with that style
>> >> and remove this fix since I think it's better to force people to make
>> >> things in the good way.
>> >>
>> >>
>> >>
>> >> 2013/5/2 Alex Harui <aha...@adobe.com>
>> >>
>> >>> Hi Carlos,
>> >>>
>> >>> I saw the changes.
>> >>>
>> >>> I think it is a good fix, but you might want to add a comment that the
>> >>> non-getter approach is likely to fail for non-public variables when
>> >>> minified.
>> >>>
>> >>> Right now, binding in FlexJS only works for public properties and your
>> fix
>> >>> makes it work for public variables.  Note that in some cases, the
>> backing
>> >>> variable for a public get/set is the same name because in JS the
>> pattern
>> >>> looks like:
>> >>>
>> >>>     /** @private */
>> >>>     var foo;
>> >>>
>> >>>     /** @expose */
>> >>>     function get_foo()
>> >>>     {
>> >>>         return this.foo;
>> >>>     }
>> >>>
>> >>> The question is, what did the AS look like?  If it looked like
>> >>>
>> >>>     private var _foo;
>> >>>     public function get foo()
>> >>>     {
>> >>>         return this._foo;
>> >>>     }
>> >>>
>> >>> Then the JS code for your failure case should be changed to look like
>> the
>> >>> recommended pattern and then you don't need the [this.sourceID] code
>> path
>> >>> as
>> >>> there will be a get_ function.
>> >>>
>> >>> If the AS looked like:
>> >>>
>> >>>     public var foo;
>> >>>
>> >>> Then the JS should be
>> >>>
>> >>> /** @expose */
>> >>> Someclass.prototype.foo;
>> >>>
>> >>> If they forget to use @expose then it will likely fail when minified.
>> >>>
>> >>> One more minor thing:  Do you happen to know if try/catch is more
>> >>> efficient
>> >>> than doing a property lookup to see if it is undefined before making a
>> >>> call?
>> >>>
>> >>> Anyway, thanks for contributing.  We can use all the help we can get.
>> >>>
>> >>>
>> >>> On 5/2/13 2:35 PM, "Carlos Rovira" <carlos.rov...@codeoscopic.com>
>> wrote:
>> >>>
>> >>>> Hi Alex,
>> >>>>
>> >>>> I commit a solution that fixes the problem, but I don't know if is
>> >>>> compliant with the motivation you make this change (minified version).
>> >>>>
>> >>>> I think binding should work even if we don't have a getter/setter
>> setup,
>> >>>> but I'm to new to this new framework that maybe this is not what you
>> >>> have
>> >>>> in mind.
>> >>>>
>> >>>> So it's up to you to change if you see some problem with this fix.
>> >>>>
>> >>>>
>> >>>> 2013/5/2 Alex Harui <aha...@adobe.com>
>> >>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> On 5/1/13 3:40 PM, "Carlos Rovira" <carlos.rov...@codeoscopic.com>
>> >>> wrote:
>> >>>>>
>> >>>>>> Hi Alex
>> >>>>>>
>> >>>>>> this latest change in SimpleBinding:
>> >>>>>>
>> >>>>>> -    this.source = this.document[this.sourceID];
>> >>>>>> +    this.source = this.document['get_' + this.sourceID]();
>> >>>>>>
>> >>>>>>
>> >>>>>> Makes the createjs sample to not generate controls far beyond a
>> >>>>>> SimpleBinding.
>> >>>>>>
>> >>>>>> I need to change the sample code or it's a bug?
>> >>>>> Well, using getters is correct.  Are you binding to something that
>> >>> isn't a
>> >>>>> getter in AS?  Maybe the JS version of that property should have
>> been a
>> >>>>> get/set pair.
>> >>>>>
>> >>>>> But if you want, you can also try to make SimpleBinding tolerant and
>> >>> find
>> >>>>> things that aren't getters.
>> >>>>>>
>> >>>>>> Thanks
>> >>>>>
>> >>>>> --
>> >>>>> Alex Harui
>> >>>>> Flex SDK Team
>> >>>>> Adobe Systems, Inc.
>> >>>>> http://blogs.adobe.com/aharui
>> >>>>>
>> >>>>>
>> >>>>
>> >>>
>> >>> --
>> >>> Alex Harui
>> >>> Flex SDK Team
>> >>> Adobe Systems, Inc.
>> >>> http://blogs.adobe.com/aharui
>> >>>
>> >>>
>> >>
>> >>
>> >> --
>> >> Carlos Rovira
>> >> Director de TecnologĂ­a
>> >> M: +34 607 22 60 05
>> >> F:  +34 912 94 80 80
>> >> http://www.codeoscopic.com
>> >> http://www.directwriter.es
>> >> http://www.avant2.es
>> >>
>> >
>> >
>>
>> --
>> Alex Harui
>> Flex SDK Team
>> Adobe Systems, Inc.
>> http://blogs.adobe.com/aharui
>>
>>
>
>
> --
> Carlos Rovira
> Director de TecnologĂ­a
> M: +34 607 22 60 05
> F:  +34 912 94 80 80
> http://www.codeoscopic.com
> http://www.directwriter.es
> http://www.avant2.es



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Reply via email to