Android vs. Qt: Platform Tradeoffs, Page 2
Android vs. Qt: Platform Tradeoffs
Because Android was developed as a platform for mobile phones, access to system resources such as the touch screen, camera, and so on comes naturally to its API. Qt on the other hand is a cross-platform application framework that first targeted desktops before expanding to mobile platforms with the Qt Mobility pack and its APIs. As a result, its mechanism to access system resources is significantly different. Table 1 shows some major Android features and their Qt counterparts.
|Android||Qt Mobile Platform|
|Android enables personal information management (Contacts, Calendar) through APIs such as ContactsContract and CalendarContract.||Qt Mobility provides APIs such as the Contacts API and Organizer API and Versit API for personal information management.|
|Android provides access to Telephony APIs for monitoring basic phone information such as the network type and connection state, as well as utilities for manipulating phone number strings.||Qt Mobility provides APIs to Android's telephony counterpart through Bearer Management API.|
|Messaging in Android is accessed through the Message API.||Qt Mobility provides its own Messaging API.|
|Image capture settings, start/stop preview, snapping pictures, and retrieving frames for video encoding can all be accessed through the Camera API.||Qt Mobility provides a Multimedia API to handle camera hardware and other added functionalities.|
|In Android, the developer can load an application UI from an XML description file or layout designer in an IDE (e.g. Eclipse).||Qt for Symbian provides two ways to design your application: Form Designer in Qt Creator and the QML of Qt Quick for layout design.|
|Android is based on Java and the Dalvik VM, all powered by the Linux-based Android OS.||Qt, based mainly on C++, is a cross-platform application framework powered by OSes such as Symbian, MeeGo, and MeeGo.|
|Android applications are restricted to the Android platform, which is designed primarily for smartphones, tablets and other hand-held devices.||Qt is a cross-platform framework designed primarily for desktop development that was later ported to a mobile platform. A properly designed Qt application can be executed on Symbian, Maemo, and MeeGo mobile devices, as well as on Windows, Linux, and Mac OS desktop platforms without any significant changes.|
The bottom line for every development project is the productivity and marketability of the product. Android, powered by its OS, has certainly proven its marketability as major manufacturers begin manufacturing Android-powered smartphones, tablet computers, e-readers and other hand-held devices. devices. In fact, what seemed a disadvantage (Android applications being restricted to the Android platform) has become a blessing for the Android platform.
Qt on the other hand provides a highly productive development environment through the Qt Creator IDE. Since Qt is not devised for a particular OS, the marketability of Qt applications in the smartphone arena are heavily dependent on operating systems such as Symbian, MeeGo, and Maemo. However, Qt applications can be ported to Android devices, though it may take some time to attain technical maturity.
About the Author
Manoj Debnath is a Java programmer with more than seven years of software development experience.
Originally published on http://www.developer.com.
Page 2 of 2