Qooxdoo 7.0

Tobias Oetiker
Qooxdoo News
Published in
3 min readFeb 25, 2022

--

The full service JavaScript application framework

After one year of development, the qooxdoo association is proud to announce the immediate availability of the major new qooxdoo 7.0 release.

While many offerings in the NPM universe focus on a single aspect of coding, packaging, delivering, designing or organizing a JavaScript web application, qooxdoo provides a one-stop solution for writing complete applications running in the browser, on mobiles, and on the server.

The new qooxdoo 7 release further aligns the framework with current JavaScript best practices. The JavaScript-native qooxdoo compiler, introduced with the qx6 release, is now fully integrated into the core qooxdoo framework. The classic python based qooxdoo generator, deprecated in qooxdoo 6, has been removed from the framework.

As the new compiler has full support for all the latest JavaScript features, the qooxdoo framework itself is also being transitioned to using modern JavaScript features. This has no effect on our APIs, but it makes the framework source code more readable and faster in situations where new language features provide the basis for simpler implementations of core features.

The framework source code has been fully reformatted with prettier, introducing a number of ES6 syntax features. We have also integrated code reformatting with prettier into the qooxdoo compiler. Try the new es6ify feature on your own projects.

Calling methods or static functions from a qooxdoo parent class has now become much simpler using the super keyword. It can be used to call the super class constructor as well as methods from the super class. Note that the qooxdoo super is slightly more user-friendly than the regular ES6 super, as you can access this even before calling super.

Many qooxdoo components were enhanced to support the WAI-ARIA recommendations for making rich Internet applications accessible, leading to much improved keyboard control in qooxdoo applications.

The qooxdoo communication classes under qx.io have been restructured. Everything under qx.io.remote has been removed from the standard framework and is now available as a deprecated add-on. A new production quality JSON-RPC implementation is available under qx.io.jsonrpc. We have also added an experimental GraphQL client (qx.io.graphql.Client). Let us know what you think.

When migrating your applications to this major release, please note that there are a number of breaking changes (hence the new major version number). Details are in the release notes.

Getting started with qooxdoo 7 is as simple as ever:

$ mkdir myapp
$ cd myapp
$ npm init
$ npm install --save-dev @qooxdoo/framework
$ npx qx create myapp --type desktop --noninteractive --out=.
$ npx qx serve

Now connect with your browser to http://localhost:8080 and give your first qooxdoo application a whirl. The source code is in the source/class folder. The compiler will automatically recompile the app as soon as you change a file. Hit reload in the browser to see the effects of your changes.

Learn more about writing beautiful full page web applications with qooxdoo on our website: www.qooxdoo.org.

--

--