В последнее время на конференциях всё чаще обсуждается тема, как создавать приложения под Android на различных языках программирования, кроме Java.
Android — пусть и не идеальная, но для прагматического разработчика самая лучшая мобильная платформа для open source проектов. Но все приложения бегут под Dalvik VM, так что вам любом случае придётся иметь дело с окружением Java.
Что если вы не хотите иметь дело с Java, но при это писать мобильные приложения для Android? В этом случае возможны различные варианты:
- веб-приложение
Официальная документация Android по веб-приложениям
Mobile Boilerplate - кросс-платформенные средства разработки
PhoneGap (JavaScript, HTML5, CSS3)
Appcelerator Titanium
Rhomobile Rhodes - альтернативные языки
Ruboto (JRuby)
Mirah
Scala
Clojure
Kawa - нативные инструменты разработки (NDK)
- несвободные альтернативы
MonoDroid
Adobe AIR - Scripting Layer for Android (SL4A)
Официальная документация, поддерживаются языки Beanshell, JavaScript (Rhino), JRuby, Lua, Python, Perl, PHP, Shell, Tcl
У каждого из подходов есть свои преимущества и недостатки. Из всего перечисленного самыми реальными способами считаются веб-приложения, кросс-платформенные средства разработки, Scala и NDK.
В качестве дополнительного изучения можно порекомендовать подробную статью Python for Android, только что опубликованную в Linux Journal.