>> For the future, I see a few possibilities to make it more
>> "JavaScript-ish".
> 
> Well, whatever that could mean. ES5 might even bring some more options.
> But at least qooxdoo is 100% JS, thus doesn't need any form of
> pre-processing [...]

Yes. Good design choice.

>> I also wonder if some of the getXXX() methods of the Qooxdoo API could
>> not be turned into (possibly read-only) properties, then. 
> 
> As you said, only within the possibilities of the ES5 implementations,
> if at all. A consistent, universal programming model seems to be key
> here as well, and as such does exist already (and can keep exist).

Right. A hybrid solution seems possible in the future, for backward 
compatibility: There would be both getXXX() and a getter method. If those 
methods reside in the prototype, the memory overhead might not be too bad. In 
any case, Qooxdoo is prepared for the future, because there are no hard-coded 
getters and setters.

>> Cocoa API listings look very clean, because they often use properties
>> (I don’t program Cocoa, but it looks like all of their binding stuff
>> is based on them).
> 
> Many people find Cocoa or rather Objective-C not very appealing. ;-) In
> any case, we'd strive to keep being a 100% JS framework (or eventually
> ES5 if you will). If you're hooked on Objective-C, I'd recommend to look
> into Cappuccino, http://cappuccino.org , which uses a Objective-J. 

I only meant the API listing, with a separate section for properties. Qooxdoo 
also has this section and could move more methods to it. Objective-C itself 
does seem a bit clumsy (header files...), but I actually like the 
Smalltalk-style method invocations (which many people hate).

>> - Invoking super methods: Currently, you need "arguments" to go to
>> super. In the upcoming strict mode, arguments.callee will be
>> forbidden, which makes the current qxoo solution impossible. How about
>> the Prototype.js solution of introducing an additional parameter
>> $super (only) if you want to call super (which I have stolen in [1])?
> 
> Yeah, we know from the standardization process. Devs of other JS
> frameworks also weren't happy about removing that without offering an
> equivalent. Anyway, eventually there might be a (tooling-assisted) way
> of handling that in a future qooxdoo.

Keep Prototype’s $super in mind. I think its very easy to use (the least 
confusing super-call implementation I’ve seen for JavaScript) and also 
implicitly declares a method as overriding another one (comparable to Java’s 
@Override). Thus, it can be used to statically detect typos.

Greetings,

Axel

-- 
Dr. Axel Rauschmayer
[email protected]
Home: http://rauschma.de
Blog: http://2ality.com




------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to