The development of Qt 5 has been progressing steadily for quite some time — 9 months — and now the Qt Project has finally announced the first release of the new major version of Qt. This release is special, not only because it is the first release of the upcoming Qt 5 version; but also since it is the first big release of Qt since it transferred from Nokia’s control to the community-controlled Qt Project.
There were a number of goals that had been outlined for this major release of Qt, and optimistic as they were, they would come without much sacrifice in backwards-compatibility. The goal was to keep the transition from Qt 4 to Qt 5 as painless as possible while still providing a better framework and a better starting point for new projects new developers.
Qt 5 should be the foundation for a new way of developing applications. While offering all of the power of native Qt using C , the focus should shift to a model, where C is mainly used to implement modular backend functionality for Qt Quick.
Four major architectural changes have been highlighted in this alpha release:
- Qt ports are now based on Qt Platform Abstraction layer (QPA): Qt is already quite portable, and can be used to create applications for Linux, Windows, Mac OSX and a number of mobile platforms. The new abstraction layer separates the platform-dependent code making it easier to port Qt to further platforms such as Android and even iOS.
- Re-architect graphics stack and increase performance of QtQuick: While retaining compatibility with Qt 4, Qt 5 introduces new classes that feature better performance. The new Qt Quick architecture uses hardware acceleration using OpenGL ES 2.0
- Modular repository structure: Qt repositories have are being modularized such that different parts of Qt can be developed at a different pace and the inclusion of third-party modules is easier.
- QWidget separated into own library: QWidget, the older way of creating Qt-based UIs has been separated into its own library, so while current applications that need it can still use it, new Qt Quick style applications do not need to include it.
Other than architectural changes, there are a number of new features in this release A JSON parser, support for Mimetype recognition, C 11 support, support for DNS lookups, etc. Qt Webkit has been updated to use a newer version of Webkit; Qt Location gives access to GPS. Qt Quick, now uses the V8 engine used in Google Chrome for better performance.
Qt 5, currently being in alpha, is now available in a binary version, but only in source form. You can download it from here .