It is quiet some time ago, since we announced here on the blog that three brave Trolls are on their way of porting Qt to the Windows Embedded World. We think it is time to provide you some updates on this topic.
We have just released our preview release “Kicker”. Compared to the last blog entry (QtCore/QtGui/ActiveQt), we have added QtNetwork, QtXml, QtSvg and the biggest step: We migrated to Qt 4.3 as a basis for our work.
Using 4.3 gained us a lot, especially performance-wise. We gained around a 110% speedup in the anti-aliased painting. That is a huge improvement as mobile devices usually have a slower hardware configuration than a desktop machine. Also the changes to the fileengine (using native handles on Windows) helped a lot to improve the general I/O performance and stability.
You might recognize the style from previous blog entries 🙂
The networking part took some effort. As some of you might know, Windows CE uses only a subset of the native win32 API and network wise it lacks most of the asynchronous functionality. As Trolltech provides the same quality and efficiency for each platform we support, the decision was clear to make everything also working for the Qt/CE port. So take a look at the following screenshot showing the ftp example on a Windows CE 5 emulator(x86).
Although OpenSSL is not officially supported for Windows Mobile 5, it is possible to build the libraries on your own and in that case you can use OpenSSL inside of Qt/CE. It is fully supported!
It always differs from developer to developer, what he actually uses of Qt. The remaining parts just stay untouched. While on a desktop this usually does not matter, on mobile devices it does. Space is always a big criteria during development and because of that we have decided to apply the Qfeatures system for Qt/CE. This allows you to build up your custom configuration of which classes should be build inside the separate Qt modules.
Developers, who are familiar with Windows CE, might have recognized a lot of issues when they want to communicate with the device outside of Visual Studio. Especially starting an application remotely or having file I/O inside of the terminal. We fell over this situation and decided to have some additions to the Qtest library. Internally we use a small application which is responsible for deployment, execution and result display of auto-tests.
For those of you, who are already using Windows CE 6 or Windows Mobile 6, we can just say, feel free to. We do support all these platforms also. Just take a look here:
This looks pretty much like the same screenshot we had posted before, right? But it is Windows CE 6 on ARM, believe us 🙂
Did we mention, that you can use Qt/CE also on Windows Vista? Well now we did.
Writing some words on Windows Vista. Currently we do have some minor issues as ActiveSync (the application behind the Remote API for Windows CE) is not supported anymore for Vista. Microsoft exchanged it with the “Windows Mobile Device Center”, which has the same options for regular users, but does less for developers. We are investigating on this and will find a solution for the auto test system.
I hope, we could get you up to date and you’re even more interested on our Qt/CE port. In case you cannot wait until the first tech preview is out and you want to try out the “Kicker” preview package right now, feel free to contact us at firstname.lastname@example.org to join the preview program.