In association with heise online

Qt 5.0...

Qt 4.x is a reliable platform, but suffers from the fact that its basic development was undertaken when user interface design was still in its infancy and was limited to combining predefined operating-system-specific widgets. The rapid development of ever more powerful mobile computers means that this is an area requiring further attention – slower processors and more powerful graphics chips demand new ways of thinking when it comes to developing animated GUIs.

The QML scripting language introduced in Qt 4.7 is part of the process of catching up with these developments. It allows for the easy creation of GUIs in a mark-up language that resembles a mixture of JavaScript and HTML.

Qt 5.0 will see a major restructuring of the language hierarchy. While Qt Quick displays design elements as part of a QWidget infrastructure, Qt 5.0 renders directly via the GPU. The result is significantly better performance at runtime.

Digia has accelerated JavaScript parsing by replacing the previous engine from QWebkit with Google's V8 virtual machine, which should significantly improve performance when executing business logic coded in JavaScript. In addition, a module by the name of Qt3D facilitates the generation of 3D effects in GUI applications.

In summary, it appears that what was previously perceived as a pure C++ framework will now give equal billing to JavaScript. To what extent Qt 5.0 will use traditional widgets is not currently clear – it depends who you ask. Currently, the official position is that widgets on the desktop are "first class citizens", but do not necessarily need to be available in mobile and embedded applications.


To make porting the platform easier, Digia has further subdivided individual packages. Rather than simply dividing Qt into modules, components are now divided into multiple classes. Modules designated Qt Essentials are available and supported as well as is possible on all platforms. This means that an application which limits itself to these elements should be able to be ported with a minimum of effort.

Qt Tools is home to development tools such as qMake. The minimum requirement for these is that they are viable on all desktop platforms. Qt Addons encompasses all other libraries maintained and administered by the Qt project. These often involve platform-specific code, so that it is more than possible that an add-on will not be available for all operating systems.

...and on the beta test bench

Zoom Lars Knoll giving his keynote speech
Source: KDAB
To underline Digia's support for the conference, Lars Knoll's keynote included an announcement of the availability of the second beta version of Qt 5.0. According to Digia, it achieves extremely good backwards compatibility, with, in contrast to the leap from Qt 3 to Qt 4, no significant binary incompatibility.

The new Qt3D module is not currently included in the beta version. Users who wish to try it out will have to download it separately. The source code is available and easily compiled.


Qt appears to have dealt with the separation from Nokia well. The event was sold out, despite not having been aggressively marketed, with no tickets available at the door.

The transitioning of development to Digia has proven to be a good move for multi-platform support. With heightened competition in the mobile market thanks to new players such as Windows Phone 8, Tizen and Firefox OS, this should allow Qt to remain relevant. The advantage of easier porting between desktop and mobile systems is just the icing on a highly promising cake.

QtStudios has posted one of the keynote speechs and the Digia demos on its YouTube channel. More videos will be posted on the official Qt blog.

Tam Hanna has been involved in programming and using handheld computers since the days of the Palm IIIc. He develops programs for a range of platforms, runs online news services on the subject, and is available for questions, training courses and presentations.

Print Version | Permalink:
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit