views:

533

answers:

3

Is there any reason to favor Python or Java over the other for developing on Android phones, other than the usual Python v. Java issues?

+1  A: 

With Java you have access to the full OS API.

Python on Android, last time I checked, was kind of a hack. You couldn't create a GUI app, for example.

There seems to some progress on the Python front on the last few months.

voyager
I haven't seen much since the June roll-out mentioned in that link. Any more recent info or more detail?
foosion
+7  A: 

Java is "more native" on the Android platform; Python is coming after and striving to get parity but not quite there yet AFAIK. Roughly the reverse situation wrt App Engine, where Python's been around for a year longer than Java and so is still more mature and complete (even though Java's catching up).

So, in any situation where you'd be at all undecided between Java and Python if the deployment was due to happen on some general purpose platform such as Linux, I think the maturity and completeness arguments could sway you towards Python for deployment on App Engine, and towards Java for deployment on Android.

Alex Martelli
Would you expect Python to catch up (or get reasonably close or be good enough) in the not too distant future?
foosion
@foosion, sure, I would expect it, but in the past I've been known to be wrong in such expectations, being an optimist by nature. E.g., I expected Python for the Nokia S60 series to be usable in a year or two after the first release... in point of fact, it took more like 5 years!-) I expected Google Chrome for Mac and Linux to be ready around Christmas last year, it's still pre-beta today:-(. Ah well, being an optimist has its compensations!-)
Alex Martelli
+2  A: 

On the mobile platform performance and memory usage are much more critical than desktop or server. The JVM that runs on Android is highly optimized for the mobile platform. Based on the links I have seen about Python on Android none of them seem to have an optimized VM for mobile platform.

Teef