*Click here to view the Russian translation.
I have great news for you. The Qt Project just released Qt 5.0 beta. Qt 5.0 beta offers you a good sneak preview of what will be available in the next major version of Qt. The release is available for all Qt users and we encourage you to take it out for a spin. In this post, I will go through our thoughts about Qt 5 as well as what this beta release includes. You may also want to check the blog post by Lars on the same topic here.
What is Qt 5 made of?
As a major new version, Qt 5.0 is a significant release. It is intended to provide the means for Qt to stay on the forefront during years to come. It is not a rewrite – Qt 5 contains almost everything from Qt 4, most of the former Qt Mobility modules, some items from the Qt Labs, as well as some new things. With the modularization in place it is easier than ever before to use only the specific parts you need – if you are tight for space.
Qt 5.0 is the first major release in seven years and a lot of effort has been put into it. Many items are available for the first time in the Qt 5.0 and can be leveraged in products as soon as we have the final 5.0.0 release out. Based on the 5.0 we expect to get feedback from the users developing on it, and leverage this to set the direction for our future development activities. Going forward there will be continuous improvements and new items available in the Qt 5.x minor releases.
Considering all the new functionality in Qt 5, I think one of the most impressive things about it, is its compatibility with Qt 4. Yes, we will continue to develop Qt 4.8 making new patch releases and further continue to support the Qt 4 version for some time to come,. but in the long run, it is important to know that migrating to Qt 5 is easy. Let’s get back to this after we have a look into what the 5.0 beta has to offer.
Qt 5.0 Beta – What’s in it?
Main new features in Qt 5.0 beta compared to 4.8 are:
- Graphics features & performance, easy to develop and deploy – OpenGL, integrated 3D support, particles & shader effects
- Cross-platform with Qt Platform Abstraction in full use
- More modular structure than in Qt with new features or major improvements in almost every module
We want Qt Commercial 5 to support the platforms that are important to many of our customers. We have asked about your plans regarding different platforms in our customer survey and will actively work on providing the functionality provided through the input.
For the Qt Commercial 5.0 beta the following platforms are already working quite nicely:
- Mac OS X
- Embedded Linux
- Windows Embedded
This is most likely also the set that we have available for the 5.0.0 final release, possibly with some additions. We are working with our RTOS partners to enable support for these in Qt 5. We are also working towards providing full support for Android and iOS platform in Qt 5. Going forward, more platforms will be supported based on our customer feedback and validation.
Migrating to Qt 5
Qt 5 includes the best from Qt 4 plus additional new features. It means that Qt 5 is also highly compatible with Qt 4, which is a great thing. It is possible for developers of Qt 4 applications to seamlessly move on to Qt 5 with their current functionality, and when the time is right for the individual applications, gradually develop new things leveraging all the great items Qt 5 makes possible.
Due to the changes in module structure, your project configuration needs to be slightly modified to support Qt 5. It is possible to create the code in such way that it builds nicely for both Qt 4 and Qt 5. There is also a helpful script fixqt4headers.pl provided in qtbase/bin. It automates the change needed in #include<> directives to take the module names into account.
After you have successfully migrated your existing project to Qt 5, it will be possible to gradually leverage the new things it offers. One of the main items in this list is naturally Qt Quick 2 and the new, natively hardware-accelerated drawing pipeline. If your application benefits from a dynamic and interactive UI, it will be much simpler to create it with Qt Quick than with C++ and widgets. As it has been said already, widgets are fully supported in Qt 5 and so is C++. Qt Quick, is a great way to make interactive dynamic user interfaces required by 21st century applications. The application logic can be developed in C++, leveraging full Qt capabilities just as before.
New Visual Studio Add-In available
We have also created a new version of the Visual Studio Add-in for Qt 5. It is also still in beta, but can already be used to try out Qt 5 with Visual Studio. It is created based on the existing Visual Studio Add-in, modified to support new Qt5 module structure. Qt5 Essential and Add-on modules are now listed in the Qt Project Settings and in Project Wizards.Users can set the modules on and off as before. There is some logic added to disable Add-on modules, if not present in the system. Creating new Qt 4 based projects is not supported – at least in the beta version. Existing Qt4 projects can be compiled and linked. Beta release supports Visual Studio 2008 and 2010. Visual Studio 2005 is no longer supported.. We will look into supporting 2012 in the future releases of the VS Add-in.
For the beta we have included all available modules into one bundle available as a standalone installer from the Qt Commercial Customer Portal. For the final release, we will enable selecting the needed modules based on the modularized structure, as well as installation though the SDK.
We plan to enable the use of Qt Commercial 4.8 and 5.0 with the same SDK, which we hope will be the most convenient way for the SDK users. It will also bring additional benefits such as aligning additional components. One example of this is the improvements we are making to our embedded Linux tool-chain, which will benefit both 4.8 and 5.0 users, see here for information. After beta, the intention is to provide all Qt 5 releases through our online SDK, which makes it easier to manage and keep them up-to-date.
We will run a small survey for all those who have downloaded the Qt Commercial 5.0 beta. So go ahead, give it a spin – and let us know what you think!
Get Qt 5.0 Beta
If you are a Qt Commercial customer, you can download the 5.0 Beta as well as the new Visual Studio Add-In from the Qt Commercial Customer Portal. If you are not yet a Qt Commercial Customer, please download the 30-day free trial from our download area.
If you want to download the LGPL version, please visit Qt Project.