What is it?
Now owned by Nokia following the takeover of Trolltech earlier this year, Qt is a cross-platform application framework for desktop and embedded applications, with a strong history in Gui development. It is particularly associated with C++ development for Linux, but the Qt API and tools are consistent across all supported platforms, and applications can be ported without rewriting.
As well as Nokia, it is used by Motorola in its user interface, by the OpenMoko Linux-for-mobile-phones project, by Adobe in Photoshop, by Skype, and by Google in applications such as Google Earth. IBM and Hewlett-Packard are among vendors which use and/or distribute Qt. It is used widely by CAD and other graphics products suppliers.
The Qt Embedded Application Framework for C++ development is available for both http://en.wikipedia.org/wiki/Embedded_Linux Embedded Linux and Windows CE, and is the key to the "Qt Everywhere" strategy. Trolltech recently added integration with the WebKit open source web browser engine, enabling native desktop applications developed with Qt to be extended to or combined with web applications.
Qt claims some impressive increases in developer productivity and time-to-market, in addition to the time saved in moving applications to other platforms.
Where did it originate?
In 1994 Trolltech co-founders Haavard Nord and "chief troll" Eirik Chambe-Eng were designing software for ultrasound equipment when they encountered the poor quality of cross-platform C++ development tools, and set out to create something that would reduce the time -up to half- that developers spent simply porting C++ applications to other platforms.
What is it for?
QT has C++ application frameworks for Linux (and Solaris, HP-UX, AIX and other Unix variants), Windows (with Visual Studio.Net integration), and Mac OSX. It is the basis of the KDE desktop environment. The C++ library has more than 400 C++ classes covering most of the infrastructure requirements of application development. Qt Jambi, Qt's application framework for Java, keeps pace with other Qt releases (both are at 4.4) but also has features specific to Java development. Qt can also be used with C#, C, Python, Ruby, PHP and Perl.
What makes it special?
Integration with WebKit opens up platforms which use it, such as Apple's Safari browser (used in the iPhone), Nokia's Series 60 browser, Google's Android platform, and the Adobe Integrated Runtime.
How difficult is it to master?
Once they have learned the Qt API, developers can produce applications which will run unchanged on all the current major operating systems. But you will need a working knowledge of C++ (and Gui) development.
Where is it used?
Trolltech claims 5,000 user companies, including Lockheed Martin, Chevron Texaco, Deutsche Telekom and Siemens, the European Space Agency and NASA, Lucasfilms and Walt Disney Feature Animation. Qt is also used in the interactive version of the standard reference work, Birds of the Western Palearctic, and in many graphical design, product design, games, and mathematical, scientific and medical visualisation applications. See http://trolltech.com/company/customers/coolapps.
Rates of pay
Embedded C++ with Linux up to £50k.
The Trolltech-endorsed C++ GUI Programming with Qt 4 is published by Prentice Hall. Trolltech's global range means that courses are offered in the UK at long intervals. The forthcoming Programming with Qt in London in December will cost 2600 euros for five days. Other courses are also available.
This was first published in July 2008