除了Java(如jruby、jython、clojure)之外,我能否使用其他JVM语言编写Android程序,还是仅限于Java?
一年多以前也有类似的问题,但我不确定最近是否有任何变化。
请查看以下链接:
然而,我不知道是否有使用这些语言编写的重要应用程序。 我看到的例子更多地属于“概念验证”类别。虽然酷炫因素很高,但我仍然认为这些语言不是严肃的Android开发人员的可行工具。但我很想看到有人证明我是错误的!
目前似乎Scala最接近实现。
我不确定其他JVM语言的表现如何,但我真的认为Scala是可以用于严肃的Android项目的语言。
当然它也有一些问题(例如Google Maps Android API在没有一些解决方法的情况下无法使用),但它与默认的Android SDK非常兼容。
我个人使用Scala开发我的Android应用程序(Maidroid Reminder),根据Android Market的统计数据,它已经被下载了约5000次。
它当然不是一个“知名”的应用程序,但它使用了许多Android SDK的功能,如ContentProvider/Broadcast Receiver/MediaPlayer等等,并且它的工作效果非常好,我感到比用Java编码更加有趣。
使用Scala开发Android应用程序的最好之处在于用户不需要安装任何运行时环境,就像Android Scripting Environment需要的那样!
只需发布您的APK文件,用户就可以使用Android Market或ADB安装您的应用程序。
如果有人对使用Scala编写的Android应用程序感兴趣,可以在GitHub上浏览源代码。
目前,大多数动态语言在Android Dalvic JVM上的性能表现不佳。它们可以运行,但可能会使用更多的CPU和内存,这可能不是您想要的。我听说他们正在努力改进这一点。