| Trolltech ports Qt to Windows CE |
Oct. 03, 2007
Trolltech has unleashed a Windows CE version of Qt, its cross-platform application development framework. Qt/WinCE, made available today as a downloadable technology preview, is scheduled to see its final release "late in Q1 2008," the company said.
Qt is an application development framework aimed at enabling developers to compile binaries for Windows, Mac, and Linux OSes from a single code base. Qt's API (application programming interface) comprises some 400 C++ class libraries, Trolltech says.
Trolltech claims its Qt API and development tools are "consistent across all supported platforms, enabling developers to learn one API and perform truly platform-independent application development and deployment." It allows development teams to create native applications for all major operating systems, from any of the supported platforms, the company adds.
Prior to today's release, Qt versions already existed for Windows desktops ("Qt/Windows"), OS X ("Qt/Mac"), Java ("QT/Jambi"), desktop Linux ("Qt/X11"), and embedded Linux ("Qtopia"). Trolltech says QT/WinCE is a near-complete port of its API and developer tools to Microsoft's device-oriented Windows CE operating system.
More specifically, Qt/WinCE runs on Windows CE 5.0 and 6.0, and Windows Mobile 5.0 and 6.0. The only modules not included in the ported API are QtOpenGL and Qt3Support, according to the company. Trolltech also notes that developers wishing to access Windows Mobile-specific APIs, such as those for the PIM (personal information management) suite or telephony, must access these operating system features directly, bypassing Qt.
 Qtopia Core architecture for Linux is shown here; in the WinCE version, dubbed Qt/WinCE instead of Qtopia Core, "embedded WinCE" supplants "embedded Linux"
Trolltech says Qt/WinCE, which in its technology preview version is based on Qt 4.3, currently includes the following features:- Complete port of relevant modules in the Qt 4.3 API, including QtCore, QtGUI, QtNetwork, QtSQL, QtSVG, QtScript, QtXML, and Active Qt
- Qt development tools, including Qt Designer, Qt Linguist, and Qt Assistant
- qmake, extended to create Visual Studio Project Files (.vcproj), "simplifying deployment to Windows CE embedded devices and emulators"
- Complete Qt/WinCE source code, released under a dual-license model, one of which is the GNU GPL (General Public License)
- Documentation, demos, and examples
 Qt's text editor running on Windows Mobile (Click to enlarge) |  Qt's Tetrix application in landscape mode (Click to enlarge) |
According to Espen Riskedal, Trolltech's team lead for the company's Qt/WinCE development project, applications developed using Qt/WinCE will look like any others on the targeted OS platform, including integration into the standard menu bars for Windows CE or Windows Mobile. Qt/WinCE also supports switching from portrait to landscape mode, Riskedal added.
In order to save space on devices, Qt/WinCE implements a Qfeatures system, allowing developers to configure which classes should be built inside the separate Qt modules, Riskedal says. As for networking, Qt/WinCE implements asynchronous functionality that Windows CE lacks natively, he added.
Future developments?
In today's announcement, Trolltech officials positioned Qt/WinCE as being merely a vehicle for creating cross-platform applications. In contrast, the version of Qt that targets Linux devices -- known as "Qtopia" -- has become much more, serving as the basis for Linux-based "feature phones" and VoIP phones. Feature phones are mid- to low-end devices that occupy a fierce battleground between embedded Windows, Linux, and a number of other OS alternatives (see phone market segment chart).
Based on Qt and previously known as Qt/Embedded, Qtopia Core is a comprehensive standalone application framework that includes a windowing environment, user interface components, font system, and support for 3D graphics. Targeting "single-purpose devices powered by embedded Linux," it has been used for Motorola's Linux-based phones and a host of other devices.
 Qtopia Platform architecture Qtopia Platform (illustrated above), meanwhile, adds platform-level functions and software components to Qtopia Core, and is aimed at "Linux-based devices with a rich multi-application user experience." According to Trolltech, these added features include:- Multitasking, and its own windowing system
- SQL database
- Server/launcher that launches applications and controls inter-process communication
- A customizable user interface with multitasking and vector graphics, according to the company
- Java integration
- A plug-in framework that allows adding fonts, input methods, modem drivers, media codecs, and other facilities
 Qtopia Phone Edition (QPE) architecture A further integrated version of Qtopia, also currently offered exclusively for Linux-based devices, is the Qtopia Phone Edition (illustrated above). This version builds on Qtopia Platform, adding communications features and applications specifically required by mobile phones and VoIP phones.
CEO Haavard Nord told WindowsForDevices that there are no current plans to port anything beyond the functions implemented by Qtopia Core to Windows CE and Windows Mobile, but he did not rule out doing that in the future. Nord stressed that the initial thrust of the port of Qt to Windows CE is the enablement of multi-platform applications that run equally well on Windows and Windows CE/Mobile, as opposed to developing a mobile phone software platform.
Trolltech's strategy contrasts with that of Intrinsyc, which has developed and is currently marketing a mobile phone stack for Windows CE, known as Soleus.
Availability
The first technology preview of Qt/WinCE is currently for download from Trolltech's website, here. It is dual-licensed, with one being the GNU GPL.
 Click image to view a 5-minute demonstration video on Qt/WinCE
Related Stories:
(Click here for further information)
|
|
|