Below is a post written by our fellow Saija Eteläniemi, Qt ambassador and passionate Qt enthusiast. Saija is also active member of Mobile Ninja Techies and Qt Community, jointly represented by Devaamo, Tampere Open-Source developers organisation. It would hard to find anyone better suited to share impressions about “Qt development on Android” than Saija! Read-up what actually has happened.

As a Qt developer I noticed a unique chance to hear about Qt development on Android in my home town Tampere and decided to go for it. The occasion was free afternoon seminar, Android Seminar Tampere, jointly organized by COSS, New Factory and Android Aalto. The seminar was an enjoyable mix of technology, business and fun. There was definitely something for everyone. The most interesting session for me was to hear about Qt’s current situation on Android. That session was: Targeting Android with Qt by Espen Riskedal, former employee of TrollTech and Nokia, co-founder of Cutehacks.

During the session I got quite extensive overall look of the current situation of Necessitas. For those who are not yet familiar with Necessitas, I’ll give you a small introduction: Necessitas SDK is the community Qt Android port, mostly developed by BogDan Vatra. The SDK is based on Qt Lighthouse project which enables easy porting of Qt Framework to any platform. Necessitas offers a full enviroment for creating Qt applications for Android with a tightly integrated IDE called QtCreator. The SDK has reached Alpha 3 release which is almost feature complete.

QtCreator IDE with Android integration
QtCreator IDE with Android integration

Previously Qt has targeted many platforms including Symbian, MeeGo and Windows Mobile. In the Targeting Android with Qt session, Espen points out that as popularity of Symbian has decreased, at the same time, popularity of Android has been changing in a similar, but increasing trend. Currently most of the Qt functionality has been implemented for Android version 2.1 (API level 7) and above. At the time of writing this blog post, according to Google statistics, only 2,1% of the devices are using version below 2.1, which makes Qt cover 97,9% of the currently sold Android devices, which is pretty impressive.

Distribution of Android platform versions by Google
Distribution of Android platform versions by Google

Qt applications can be developed either on Windows, Linux or Mac platforms. It’s easy to select your own favorite distribution for development. The Necessitas SDK provides the whole development chain starting from writing your code to deploy and debug your application either on Android Virtual Device, or in your own device. With help of Ministro installer and the application signing support in the Necessitas QtCreator, it is possible to submit your Qt application to Android store, and download Qt applications created by other developers from the store. Upcoming Alpha 4 version is planned to add support for Android native theming and menu integration.

I think Qt is a nice option on side of native Android application programming. In the session material Espen had made very easy to follow instructions starting from developing your application and finishing by submitting it to the Android app store. When easiness of Qt programming is combined to easy looking process of submitting to Android app store, it makes me want to try out a submission myself.

Big thanks to the organizers of the event in behalf of mine, and the whole Devaamo community. We look forward to collaborate with Android community. The overall experience of the seminar gave me a nice picture of Android environment and friendliness of the community which makes me happy to bring my Qt software on Android platform :)

P.S. Kudos to Saija for the post! Also, please see Android Aalto community organiser Marcos Tong presentation on his experience with the community below (after Espen’s slides).


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>