Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm a Qt/C++ developer for Windows and Linux. Now I need to switch to Android OS and program for this operating system. I'm wondering whether it is reasonable to stay with Qt and use Necessitas project for Android Application Development or switch to Java?

share|improve this question

closed as not a real question by gnat, Walter, Yusubov, ChrisF Dec 2 '12 at 11:18

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

Can you comment a bit on the specifics of your application and the team developing it? The answer very much depends on such things as requirement for portability, performance, team capabilities etc. –  miraculixx Dec 1 '12 at 14:53

1 Answer 1

up vote 4 down vote accepted

While Qt is a fantastic programming environment and Necessitas does a wonderful job porting to Android, you should develop Android application in Java. No C++, no Ruby (Ruboto and the similar), no Python.

This for two reasons:

  1. Every meaningful piece of code for Android is written in Java. Using a different language you would be forced to rewrite every single gist/pastebin code by yourself. This is just an awful waste of time. It does not add anything to your final product and does not add anything positive to your programming experience

  2. Having a layer of software between you and the platform means that you have to wait for upgrades (or develop upgrades yourself) every time a new feature is added and every time a bug is fixed. Considering the size and complexity of Android (that is a whole Linux distro, even if a tiny one) this is not the kind of task I would commit myself.

share|improve this answer
Not sure your reasons really favor Java. First of all, not every feature of the platform requires Java to exploit. Frameworks such as Phonegap or Titanium provide a common interface to common functionality across a multitude of platforms. If you are looking for easier portability, such frameworks offer a viable alternative to Java. Second, having a layer between the software and the platform can also shield the developer from the complexities of lower levels, and may thus provide a more stable interface to write your own code to, even if there are changes in the lower levels. That's a plus. –  miraculixx Dec 1 '12 at 14:58

Not the answer you're looking for? Browse other questions tagged or ask your own question.