Qt 5.0 Alpha released
Nokia's Qt Labs has released Qt 5.0 Alpha, calling it the first major release of the C++ cross-platform application framework since the more open development community, the Qt Project, started. The last major release of Qt, 4.0, was nearly seven years ago, in June 2005, with regular minor releases since then adding many features and culminating in the most recent, Qt 4.8, which introduced Qt Platform Abstraction (QPA) and various other improvements.
With Qt 5.0, the developers say they want to offer all the power of native Qt using C++ but move to a model where C++ is predominantly used to implement backend modules that are used by Qt Quick. According to Lars Knoll, director of Qt R&D at Nokia, the model works nicely on embedded Qt with full screen applications, but it will probably take until Qt 5.1 or 5.2 for the model to work well with desktop applications.
Developers will find a number of new features in Qt 5.0. In the Qt Core, a new class offers standard pathnames for media and documents, and a JSON parser and "speed optimised binary format for JSON" are now integrated as is Mimetype recognition support based on extensions and file content. Other improvements include compile-time checking of signal/slot connections, a new Perl-compatible regular expression engine and rewritten data structures for better performance.
The internal architecture of Qt 5.0 sees all ports of Qt based on the QPA, introduced in Qt 4.8, which will make it easier to port Qt to other platforms and windowing systems. It also sees the graphics stack for Qt rebuilt around OpenGL ES 2.0 to improve performance, a reworking the internal modularisation of the components and the separating out of all the QWidgets and their related functions into their own library.
Details of all the changes are available in a Qt 5 Features document, which also covers the changes to Qt Network, Qt 3D, Qt Location and mouse support. According to the wiki, all features of Qt 5.0 are in place and the project is looking for developers to test and give feedback on the source-only release. The developers hope to spend the coming months stabilising the code, increasing performance and producing documentation, and hope to produce a final release in time for June's Qt Contributors Summit in Berlin.
Source code for the release is available to download. As well as the source code for the Qt Essentials and Qt Add-on modules, the developers also produced a number of demonstrations of Qt 5's capabilities such as the video below, which shows QML being edited in realtime to change the processing of a video being played.