Tuesday, March 10th, 2009
Andreas Ecker from the Qooxdoo team wrote to us about the recent 0.8.2 release, which includes a bunch of good stuff, including:
* Inspector, a cross-browser debugging tool a la Firebug
* Tons of improvements and bugfixes over the previous version
* Tested for all common browsers, including betas like IE8
* Optimized packaging and loading of qooxdoo applications
* CSS3 selector engine and a jQuery-like low-level API
* Preview of the upcoming data binding layer
* Preview of the new infrastructure for virtual widgets
There are quite a few of these features we’d like to highlight. First, let’s talk about the Inspector.
While the Inspector appeared as a third-party contribution in the 0.7 release, this release marks the first time that it has been included as a core part of the Qooxdoo framework (and it has been a bit of work to port the 0.7 version to 0.8.2). The Inspector solves a problem that many GUI toolkits have. DOM inspectors are handy for semantic mark-up, but often they aren’t as useful as they could be for exploring component hierarchies–because in such environments, the DOM elements that compose a component are low-level building blocks, not the higher-level semantic constructs that compose the GUI.
The Qooxdoo Inspector provides a solution to this problem by providing a higher-level inspector that groks Qooxdoo components and can therefore provide a useful, higher-level view of the hierarchy.
In addition to the component hierarchy viewer, it also provides a VB-like property pane for changing properties of components on-the-fly.
Finally, the Inspector provides a sort of live heap viewer for those objects managed by the Qooxdoo framework:
This object view is something I’m personally quite happy to see; over in the Mozilla Developer Tools Lab we’re trying to do something more general for Firefox–and something like this is long overdue.
This release also includes a few features designed to give Qooxdoo users the same DOM goodness that jQuery users enjoy. This is accomplished through the
qx.bom.Collection class. Here’s how to create an instance of that class:
- var coll = new qx.bom.Collection(li);
They’ve also implemented Sizzle, so the same jQuery-supported selectors can be used with the Collection class:
- var headers = qx.bom.Collection.query("h2,h3");
Qooxdoo is moving towards support for “virtual widgets“, by which I think they mean components that virtualize the display of data, such that, for example, a table that contains 20,000 rows will only render the set of those rows that are visible. The following screencast discusses the plans for this virtual component framework:
Posted by Ben Galbraith at 6:00 am