Dev Days 2011 - Qt 4.8, Qt 5.0 and Raspberry Pi
I spent the first half of last week in a hotel in the outskirts of Munich for Nokia’s Qt Developer Days 2011. This is an annual gathering of the Qt-enlightened, designed to help attendees refresh their skills, upgrade to new ones and hear the gospel from the people who actually write the toolkit. But it’s also a chance to catchup on all the latest Qt gossip.
Nokia is still committed to Qt, despite this year’s event taking place while Nokia’s new Windows phones were being announced in London. Looking at my notes, Marco Argenti, Nokia SVP Developer Experience and Marketplace, said Qt was “a strategic investment for us - today and in the future” in his keynote, as well as throwing a load of statistics at the audience - the framework is on track to achieve 2,000,000 downloads by the end of the year and there’s a 20x increase in Qt application revenue this year, apparently.
And the proof can be seen in the last 12 months of frenzied activity. There have been dozens of additions and improvements. Furthermore, the recent launch of their Open Governance initiative is something that should help to ensure both its survival and its continued growth, and something like this has been a long time coming to the Qt project - it certainly didn’t happen with Trolltech! Almost every decision is now in the open, and that includes the mailing lists used by the developers. Anyone can get involved - whether that’s submitting a patch or helping on the wiki. As Lars Knoll put it, the motivation is to make the Qt Project “Fair, transparent, inclusive and meritorcratic.“ On the Tuesday morning of the keynote, there had been 270 new accounts created since the previous Friday with 53 external contributions - 33 of which had been merged.
Lars gave the best keynote, mainly because he talked about the roadmap for the next couple of releases - Qt 4.8 and Qt 5.0. 4.8 will be out very soon, and features QtQuick 1.1, performance improvements, HTML5 features in Qt Webkit and better portability. The bad news is that 4.8 will be the final version for Symbian (at least officially), which is a shame because many of the improvements are going to have a big impact on mobiles and smart phones.
Version 5, due out in 1st half of 2012 with a beta available in March, does look exciting. The upgrade won’t break source compatibility with 4.x (Lars was keen to point out they’d learnt from their mistakes with 2.x -> 3.x -> 4/x), and here are my notes on what it’s going to include:
- fluid touch based UIs
- old widgets may be replaced with QtQuick ones
- add a new way to create applications - QtQuick becomes the first point of entry
- Qt becomes modular so you won’t need to include the libraries you don’t use
- small footprint - smaller components, shared libraries
- 4.x compatibility (QWidgets fully supported)
- complete overhaul and restructure of the source code
- Qt 5 supports two rendering paradigms - QPainter and OpenGLES (used by QtQuick 2)
- QML OpenGL acceleration currently gives 100 fps with one test, but expect 250 fps in v2
- DirectFB backend also created
- Feature freeze early 2012
- Two feature releases a year
- Full desktop support in QtQuick
- Integrated software OpenGL renderer
- Evolve WebKit2 based Qt WebKit
QtQuick 2.0 has 10 major new features, including:
- all new graphics stack FPS
- new structure
- all platforms now share more code
- plugins for every windowing system
- Qt mobility is no more - Qt is now a single package
- Linux X11 and Linux Wayland backends as core platforms
Lars also said that Andriod and iOS ports are being actively worked on, but I don’t think these will ever be official.
Finally, down on the exhibitor’s floor, ICS were showing off a Raspberry Pi unit running their Qt 5 stack. It ran brilliantly, complete with OpenGL 2 ES hardware acceleration and full 1080p output onto a massive screen. It was responsive, powerful and full of potential (it booted to the command prompt in about 2 seconds), and I’m really looking forward to getting hold of one. For the price they’re aiming for, the Raspberry Pi really does look set to become the Arduino of the embedded Linux world.
Qt Dev Days are being repeated in San Fransisco at the end of the month, so if you’re interested in Qt development, I’d highly recommend trying to get along.