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