Thursday, April 28, 2011

Creating Android apps without Java

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.

From stackoverflow
  • 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..:)

    Radtoo : 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).
  • 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.

  • 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.

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

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

    • PhoneGap
    • Rhodes
    • AIR (pre-release)
    • AppInventor
    • Clojure
  • 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.

  • 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.)

0 comments:

Post a Comment