Qt comes to the Android platform
The recent concern about the future of Symbian and Qt in a post Nokia-Microsoft world seems to have had little effect on the open source community hacking away on the Qt framework, as a Qt developer has just released a suite of tools to help create / port Qt applications to Android.
Qt had a bright future in Nokia’s ecosystem, as it was a single open-source toolkit that could be used to create applications for a number of platforms: Windows, Linux, and Mac OSX, in addition to Nokia’s mobile platforms, Symbian, and MeeGo. Now since that future seems to be no more, and Qt has no place in Windows 7’s development process, there is obvious concern.
[RELATED_ARTICLE]The new community project to port Qt to Android was led by a developer named Bogdan Vatra, who recently declared that the current toolkit has finally reached alpha level, and can do with more community participation.
Getting Qt to work on Android is no small feat, as Qt is an entire C based toolkit while Android applications are based on Java. Google provides an NDK or Native Development Kit, that makes it easy to port existing code by allowing developers to compile libraries as native code modules that can then be used within the application. The application itself is written in Java, but with the native portions of the code in separate modules. This is also how Firefox 4 is possible for Android.
The new Qt toolkit for Android has been called Necessitas, and it includes not only the Qt SDK based on the in-development Qt 4.8, but it also includes the QtCreator IDE for developing Qt applications visually. QtCreator for Android is fully capable of testing and debugging Android applications if you have the Andorid SDK and NDK installed.
The applications themselves rely on a component called Ministro, which provides the Qt libraries for all Qt application on a device. If a Qt application created using this SDK is launched on a phone without Ministro installed, the user will automatically be directed to the Android market to install this requirement. The advantage of this approach is that only Ministro needs to be compiled for different Android versions / platforms and the same application will run based on the version installed on the phone.
This is quite good news for both Android and Qt developers. Android has just got a good quality new framework for building applications, while Qt, already being one of the most widely portable toolkits, has just become a little more portable.