qooxdoo 1.6 released

We are happy to announce a regular full release of the qooxdoo framework. qooxdoo 1.6 is available for download. Checkout the detailed release notes and the manual.

The qooxdoo 1.6 release comes with many substantial improvements and exciting new features. In fact more than 300 bugfixes and enhancements made it into the release. Checkout some of the highlights:


Offline Feature

Offline usage is an increasingly important topic in modern apps, and is now supported by the framework. New technologies like local/session storage and offline events allow for such offline capabilities in all current browsers. To bring those features right into your apps, an offline event handler has been added and also a convenient offline data store to leverage qooxdoo’s powerful data binding.

To see the offline store in action, open the enhanced feedreader demo app, load some feeds and then switch your browser to offline mode. The app continues to work even in offline mode, thus after a reload of the feeds it will be able to show the previous content.

Animations and Transforms

Animations and Transforms are great new features introduced by CSS3. While both features are covered by CSS3 specs, they are not easy to use for developers working on cross-browser applications. For instance, vendors often support such features only via vendor-specific prefixes, so it becomes tedious and error-prone without proper framework support.

So with qooxdoo’s new wrappers for both feature sets, animations and transforms, amazing dynamic behavior can be brought to the elements of your website-oriented applications. For future releases it is planned to extend animation even to qooxdoo’s high-level widget set for targeting rich internet applications (RIAs).

Check out the following three demos to see what the differences are between the available feature sets: Animations, Transforms, 3D Animation.

Please make sure you use a browser capable of those recent CSS features, for instance a Webkit-based browser like the latest Safari or Chrome. For more details about the new animation layer you might want to read the corresponding blog post.

Website-oriented Apps

Creating and maintaining website-oriented applications can significantly benefit from existing features of the qooxdoo app framework. For instance, data binding for a clean MVC design of your app, or the comprehensive toolchain. Many improvements have been made for low-level applications that want to build upon technologies like HTML, CSS, DOM rather than the traditional qooxdoo GUI toolkit.

One milestone along that way was to create a website-oriented view on top of the existing feedreader demo app. A handy feature for creating such HTML snippets is to allow for a smart templating engine, so the popular mustache.js solution was adopted. With data binding being a key ingredient for any decent app design, a new list controller for templates was added to perfectly match the low-level requirements. Working on a DOM-oriented level, the new animation layer could also be used right away for some nice effects.

An additional low-level app was created to particularly feature the new offline data store: the todo app is a simple app to manage your tasks, leveraging offline storage and data binding. For more details about the todo app, read the corresponding blog post.

REST Layer

A sophisticated REST layer complements the state-of-the-art transport layer that was introduced with the last release. Guided by REST principles we will see an increasing number of well-designed, service-oriented apps in the future. As a first practical building block towards that vision the new REST wrapper comes with support for URI Templates, better handling of concurrent requests, auto-serialization of the request body based on the indicated content type and more flexible ways to define required parameters. In order to showcase some of the features of the REST wrapper a new Github demo app was added that accesses the Github REST API.

Mobile Widgets

The mobile framework has been improved further. In particular, the mobile widgets come with a number of enhancements: widgets can now also be put into a disabled state, and frequently requested mobile widgets were added: Popup, Blocker, Loading Indicator, Dialog (along with a manager), Atom (a combination of label and image). The toolchain of the mobile SDK helps in developing and deploying apps, e.g. CSS files are now optimized automatically. Click the “Toolbar” buttons in the mobile showcase to see the new features in action (requires Webkit-based browser). The qooxdoo mobile framework is still labeled experimental to allow for ongoing testing and advancement, so any feedback of yours when creating mobile apps with it is appreciated.

Extended Playground

The interactive Playground is one of qooxdoo’s most popular apps. Many features of the new framework release were employed to enhance it. For instance, the offline data store was used to replace the Gist feature in order to more reliably work with individual code samples. Custom samples can now be loaded and saved via local storage. The playground’s layout was adjusted to host a corresponding toolbar (see bottom left).
Another brand new feature to boost developer productivity is the ability to try out qooxdoo’s mobile widget set interactively. Just use a Webkit-based desktop browser (Safari or Chrome) to check out the new mobile samples in the playground!


At the same time, and following our release scheme, we are also making available qooxdoo 1.5.1. It is a regular patch release of the 1.5.x branch, thus only contains bugfixes, no feature enhancements. It can be used as a drop-in replacement for qooxdoo 1.5, and users of this previous version are encouraged to upgrade their apps at least to 1.5.1, i.e. if they don’t migrate them directly to 1.6.

Many thanks from the core developers to the community of contributors and users. Please help spreading the news, get people excited about the most advanced releases to date, and show them how to leverage qooxdoo as a truly universal JavaScript framework.

Enjoy! :-)

14 thoughts on “qooxdoo 1.6 released

  1. Congratulations core team! This is the most serious release ever jumping closer to ExtJS in general functionality but far better in specific existing functionality. This is also the fewest errors generated by our test machine running for 10 hours. Well done and very good work!

  2. – Just deployed on mission critical application with QX 1.5.1, no problems so far.

    – Migrated the same application to QX 1.6 (using the generator), no manual interaction
    required for me.

    – Migrated another application to QX 1.6, same procedure, same result.

    If it was New Year’s Eve, I’d just say “Same procedure as last year, Andreas?” and would get as answer “Same procedure as every year!”.

    Great job! Thanks everybody.

  3. Congrats guys!

    The new features sure look exciting. The new offline store and REST layer seems really useful, I’ll surely give both a try soon.

  4. That’s great.
    One thing that always bothered my with current UI-orientated javascript frameworks is their neglectence of the use case ‘Enhence this website with ….’. I don’t like this ‘sink or swim’ approach.
    But now qooxdoo deals with ‘Website orientated apps’ !
    Huray !

  5. Pingback: qooxdoo » News » The week in qooxdoo (2011-12-09)

  6. Pingback: Релиз JavaScript-фреймворка qooxdoo 1.6 и новая JavaScript-библиотека Ember.js

  7. Hi,
    I downloaded 1.6 and test the window widget. I disabled both max, min buttons and resizability. But I still can double click on the window tittle bar and it will maximize the window.
    Is this a known issue?

    Thanks, Doug

  8. Hey Doug,
    if you don’t want the window to be maximized, you have to disable that feature, which is independent of the maximize button itself. It’s named ‘allowMaximize’ and can also be disabled.

  9. Pingback: JavaScript Weekly #57 | island205

  10. Pingback: JsMag - the magazine for JavaScript developers

  11. Pingback: qooxdoo » News » Cross browser animations

Comments are closed.