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