Qt on Android: The top 5 markets
The power of Qt running on the ubiquity of Android is a potent combination that can be used to great effect in a number of different applications. But are there certain apps that really shine when they’re built using this dynamic duo?
Before I go any further, let me introduce myself. My name is Andy Gryc, and I’ve worked in the embedded industry for my entire career. I’ll be contributing a few guest blogs in anticipation of KDAB’s Qt on Android webinar, presented by BogDan Vatra with a little assistance from yours truly. I won’t be delving into the bits and bytes—I’ll leave that to BogDan as the world’s foremost “Qt on Android” expert. Instead, I want to ask some meta-questions.
My first question is obviously this: What types of apps rock Qt on Android?
- Medical – Real-time and reliable access/control of hardware (pure Qt embedded system with an amazing UI)
- Home Media – A set-top box that can leverage a standard development platform (Android) but allows precise control of the embedded hardware decoders/encoders (Qt/C++)
- Enterprise – Server/cloud applications that can be deployed on Windows, Mac, or Linux desktops (Qt) as easily as on phones (Qt + Android)
- Automotive – Easy access to low-level vehicle systems (C++) and high performance user interfaces (Qt) with an app framework (Android) for infotainment systems
- Gaming – Games written using a powerful C++ and graphical toolkit (Qt) that can be ported to multiple desktop, console, or mobile platforms (including Android)
Although these are my top five, there are certainly others. In fact, there is great potential for Qt on Android wherever a system has either of these two characteristics:
- Any app that needs low-level access from a high-level common environment—much like in-dash apps for the automotive market. For example, airline in-flight entertainment, heavy machinery, or white goods (sophisticated appliances)
- Anything that needs cross-platform deployment strategies between mobile and non-mobile (desktop or embedded)—like the enterprise market. Other apps that fit into this category are satellite radio receivers, universal remotes, network admin consoles, even educational/academic applications
I’m sure there are other industries and apps that I haven’t thought of. I’d love to hear if you are using Qt on Android for a different purpose or can think of other ideal applications.
Looking for more detail? Join BogDan and me on May 6 for “Qt on Android: Is it right for you?” We’ll be providing an overview of this technology marriage, and how you might be able to apply it to your project.
Want even more? In the month of June, BogDan will be extending his European Coffee and Code tour to several cities across the US. This will be a hands-on technical session: getting your development ramped up quickly, explaining how Qt and Android works, and for the really adventurous, getting into the nuts and bolts like JNI interfaces and Qt-to-Android surface control.
I would like to add educational applications to that list.
This can be a good way of involving elementary schools, high schools, college and universities.
We could get the next generation taught this way, too. 🙂
You’re right–education is another good use. It doesn’t fit my simplistic decomposition though, as educational uses could be both teaching or academic/research, and covering a lot of different ground. But good point!
The answer for me is anything that needs to connect to a webserver and give a single codebase across all the mobile platforms with a stylesheet to make it look native. This is something I’m currently investigating for a work project…
If I understand you right, you’re bringing your Qt app to Android for cross-platform then, which is use case #2. When you say stylesheet, are you meaning CSS, so that you have a partially HTML5-based UI?
Good list, Andy.
Unless I am reading it wrong, it basically states that you are good to go as long as you are fine with your stand-alone sandbox and don’t care much about integrating into the host OS ways (look&feel, access to OS-specific APIs such as Google+ login or built-in sharing dialogs/APIs).
That is certainly good enough for many app categories. It would, however, be great if on the seminar you could cover the options for those who into “just small apps” for which looking&functioning like native matters: todo lists, notepads, yet-another-instagram-client, etc.
To my understanding *technically* already right now it is possible to interact with Android Java APIs via JNI and those who want to look exactly 100% native can already construct UI using Android layouts (a’la via QWidget forms) and manipulate it further in QML. It would be good to hear expert opinion on this and also on the perspectives for it: there is often a long way between technical possibility and the primary recommended way.
Excellent point. BogDan and I will talk about this a little on the webinar, but he’ll be covering it great detail in his Coffee and Code hands-on sessions. I think “Native-looking” Qt may be a good subject to have another blog about.
Hi Andy, Thanks for the great articles on Qt on Android! I’ve been able to set up my development environment and get a simple app running thanks to them. I was trying to access the “Qt on Android: Is it right for you?” webinar link though and it seems like the webinar is no longer available. Would you have a link to where we can still access that? Would be greatly appreciated!