Qt for PhoneGap

Qt meets PhoneGap! Or at least this is the goal of a community project that ICS has started with the ambition of attracting both PhoneGap and Qt developers. The plan is to get Qt as a target of the PhoneGap SDK (or Apache Cordova, as it is being renamed) following roughly the Qt 5 development schedule and keeping an eye to a Qt 4 backport. The result would allow PhoneGap developers to add Qt based platforms to their targets with little or no extra effort. Needless to say contributors are welcome! Both PhoneGap and Qt are free software developed openly.

Some background

As explained at phonegap.com:

PhoneGap is an HTML5 app platform that allows you to author native applications with web technologies and get access to APIs and app stores. PhoneGap leverages web technologies developers already know best... HTML and JavaScript.

With the PhoneGap SDK you can take a generic HTML5 app, connect it to native platform APIs and generate native packages ready to be published for the platforms targeted. As of today PhoneGap fully supports iOS, Android and Windows Phone, and has partial coverage for Blackberry OS, Web OS, Bada and Symbian (through WebKit).

PhoneGap is being mainly used to develop apps deeply connected to websites, catalog-like apps, basic games... This is not only about handsets, the usage for tablets is growing as well. Check their list of featured apps. Take for instance the case of the Wikipedia app, which I have followed as an occasional Wikimedia volunteer. The Wikimedia Foundation started working on an app for iOS. When they finally addressed a version for Android they decided to avoid entirely the development of another app written from scratch and they went for a PhoneGap. This will be now their basis for any mobile platform.

From a Qt perspective the PhoneGap approach sounds as familiar as provocative. As we know, one of the things that makes Qt great is the potential for cross-platform compatibility. In the past years we have also seen how Qt has grown in the orthogonal axis of platform integration: from the imperative C++ to the declarative and javascriptish Qt Quick, with a full fledged and competitive QtWebKit module serving as gateway to the pure Web languages. Other approaches have been added by the community, like for instance the Python bindings. In a way PhoneGap is an alternative technology, but on the other hand they can be combined in very interesting ways. We like experiments so here goes one more.

Bringing Qt closer to mainstream mobile developers

PhoneGap has grown mainly thanks to customers willing to pay or develop one single app running on iOS and Android. Now the Windows Phone target is getting at the same level of support, meaning that developers checking an extra box will get an extra package ready for WP devices. Wouldn't it be nice to add a box or more for Qt enabled platforms? Offer a straight path to convert that HTML5 generic code in a native Qt app packaged and ready to be published?

Which Qt platforms, how well supported and how soon depends on many factors, being the most relevant *you*. Being a user of Nokia devices I would like to see PhoneGap apps populating the Nokia Store and apps.formeego.org of course. But for instance, being also an Ubuntu user I would be also extremely happy seeing that flow nurturing also their Software Centre. And... (what would you like to see?)  :)

Blog Topics: