Skip Links

Network World

Mark Murphy

Too Qt for Words

Musings on Meego/Symbian's and Android's UI Toolkits

By Mark Murphy on Wed, 02/24/10 - 8:41am.

As noted last week, two other open source smartphone platforms are Symbian and Meego, the latter a merger of Intel's Moblin and Nokia's Maemo. What is interesting about that merger is that Meego will be using Nokia's Qt UI toolkit, which also is the direction that Symbian is going. Hence, two of the bigger open competitors to Android will share, in theory, a common way of developing UIs.

Qt (pronounced “cute”) has been around in one form or fashion for a very long time. It is the foundation of Linux's KDE window manager and is used in products from Skype to Opera to Google Earth. As UI toolkits go, it is fairly traditional, with widgets and containers and whatnot, not that dissimilar from Android's model. Of course, Qt is designed with C++ developers in mind and runs in native code, whereas Android's Java-based UI toolkit runs on Dalvik VM bytecode.

However, what makes Qt interesting is not so much the features and functions of the toolkit but the fact that two open alternatives to Android will be using it. Can Qt be a calling card to help woo developers who might otherwise have considered Android?

Some things weigh in Qt's favor, but only if the Symbian and Meego environments adopt them. For example, Qt offers many more programming language bindings than does Android...but that only matters if you can, say, install Ruby on a Symbian phone, or if a Meego device bundles the Python interpreter. There are many more developers familiar with Qt development outside of mobile than there familiar with Android's UI toolkit, and sticking with Qt for mobile would be a natural progression for such developers. And, Qt has the potential to offer faster UI operations, if the Dalvik VM proves to be a bottleneck.

However, bear in mind that mobile development is not purely a matter of UI code. Android has smooth integration with all sorts of capabilities beyond the UI, from the Internet to local databases to the camera. Over time, we will see how Symbian and Meego fare, and in particular whether developers are effectively stuck with C++ because, while other languages are available for the UI, they do not cover everything else. Qt also has a myriad of different flavors, accrued over the years, complicating documentation and potentially confusing developers. And, of course, there is an underlying assumption that if Symbian uses Qt and Meego uses Qt that developing for one would be similar for developing for the other, and that has yet to be determined.

Qt, backed by Symbian and Meego, aims to be another pillar of mobile application development. It certainly has the bloodlines for it. Time will tell how solid a foundation it will be in practice, and what Qt's impacts will be on other mobile platforms, Android included.

About Android Angle
Mark Murphy is the founder of CommonsWare and the author of The Busy Coder's Guide to Android Development. A three-time entrepreneur, his experience ranges from consulting on open source and collaborative development for the Fortune 500 to application development on just about anything smaller than a mainframe. A polished speaker, Murphy has delivered conference presentations and training sessions on a wide array of topics internationally. Outside of CommonsWare, Murphy has an avid interest in how the Internet will play a role in citizen involvement with politics and government.
 

Most Discussed Posts