【问题标题】:Can I program for android using any JVM language?我可以使用任何 JVM 语言为 android 编程吗?
【发布时间】:2011-03-01 11:04:54
【问题描述】:

我可以使用除 Java 之外的其他 JVM 语言(例如 jruby、jython、clojure)来为 android 编程,还是只能使用 java?

There was a similar question asked over a year ago 但我不确定从那以后是否有任何变化。

【问题讨论】:

标签: android clojure jvm jruby jython


【解决方案1】:

查看这些链接:

但是,我不知道有任何著名的应用程序使用这些语言中的任何一种进行编码。我看到的示例更多地属于“概念证明”类别。虽然很酷的因素很高,但我仍然不认为这些语言对于认真的 Android 开发人员来说是一个可行的工具。不过,我很想看到有人证明我错了!

现在看来,Scala 是最接近目标的。

【讨论】:

  • 期待 Scala 链接,这里的所有其他链接都已失效
【解决方案2】:

我不确定其他 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 浏览源代码。

【讨论】:

  • 我相信它比使用 java 更有趣(我喜欢 scala),但是我很好奇你是否也觉得自己更有效率?
  • @dbyrne 我相信是的。模式匹配、隐式转换和类型推断使我免于大量输入,而高阶函数、闭包和特征让我编写代码时无需考虑我应该怎么做,它只是告诉我想要什么并且它可以正常工作(例如。过滤掉一些东西或做一些转换)! ;)
【解决方案3】:

经过一番搜索,Android 平台似乎已经存在 JRuby 脚本环境。

【讨论】:

    【解决方案4】:

    目前大多数动态语言在 Android Dalv JVM 上的性能都很差。它们会运行,但 CPU 和内存使用量可能超出您的预期。我听说他们正在努力改进这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 2021-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多