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
>



-- 
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

Reply via email to