views:

477

answers:

7

I'd like to start creating Android apps but I don't like Java. I read that scala can be used to do it. Are there another option?(Clojure?)

I'm a Python/Django developer so it would be great to learn a pretty different language.

+7  A: 

At this point Scala is the one that is most mature..I wanted to try groovy myself but its not even out of alpha..

Plus Scala on android has docs..:)

Fred Grott
http://github.com/jberkel/android-plugin <- I recommend this if you wonder how you might start developing scala for android. It requires simple-build-tool, it provides you with a solution to compile, test, proguard-optimize and install (in the emulator or device) android applications with scala or java. Even automatically on code change (~install-emulator).
Radtoo
+2  A: 

Appcelerator Titanium is an awesome environment for using web-ish skills (like HTML, CSS, and JavaScript) to build native apps for Android (and iPhone, and desktops, etc.). For example, the gang at Intridea have made several popular Android & iPhone apps with Titanium Mobile, including the OilReporter app that has been used for gathering data on the extent of the Gulf oil spill.

ewall
+1  A: 

If you use Python, maybe SL4A (Scripting Layer for Android) is a good choice.

You could write python script that runs on Android and use Android API, but it also has a drawback that you need install Python/SL4A runtime library on your Android device.

Brian Hsu
A: 

Another immature implementation is JRuby/Ruboto: http://blog.danieljackoway.com/first-ruboto-release.html

Leif
A: 

In addition to the other solutions listed here previously, you have:

  • PhoneGap
  • Rhodes
  • AIR (pre-release)
  • AppInventor
  • Clojure
CommonsWare
+3  A: 

for clojure development a useful tutorial: http://riddell.us/ClojureAndAndroidWithEmacsOnUbuntu.html

Clojure gets a LOT of benefit from android-2.2's JIT compiler and has not really been widely adopted on previous versions.

Arthur Ulfeldt
+2  A: 

It's not hard to do with Mirah. Mirah is a very young language that compiles to bytecode that's basically indistinguishable from Java, but adds some great new features like closures, type inference, and ruby-like syntax. It's particularly well-suited for Android because it has no runtime outside the JDK, whereas basically all other JVM languages bring along a lot of baggage, especially languages that weren't designed to target the JVM (like Ruby and Python).

http://github.com/technomancy/Garrett

Much nicer than writing Java! (Mirah used to be called Duby.)

technomancy