Java 我可以在Android Dalvik上使用哪些编程语言?

Java 我可以在Android Dalvik上使用哪些编程语言?,java,python,android,scala,dalvik,Java,Python,Android,Scala,Dalvik,理论上,Dalvik执行任何虚拟机字节码,例如使用 AspectJ 冷饮 Clojure 棒极了 JavaFX脚本 JRuby 杰顿 犀牛 斯卡拉 Dalvik的字节码编译器是否已经可以用于Java以外的其他语言了?我还没有玩过它,但我知道Scala可以工作 Scala工作得很好 我正在用Scala(,)编程我的Android应用程序项目,并且设置evnviroment非常容易(没有IDE,使用SBT作为构建工具) 它可以访问androidsdk中的每个API,所以您可以在Java中执行任何

理论上,Dalvik执行任何虚拟机字节码,例如使用

  • AspectJ
  • 冷饮
  • Clojure
  • 棒极了
  • JavaFX脚本
  • JRuby
  • 杰顿
  • 犀牛
  • 斯卡拉

Dalvik的字节码编译器是否已经可以用于Java以外的其他语言了?

我还没有玩过它,但我知道Scala可以工作

Scala工作得很好

我正在用Scala(,)编程我的Android应用程序项目,并且设置evnviroment非常容易(没有IDE,使用SBT作为构建工具)

它可以访问androidsdk中的每个API,所以您可以在Java中执行任何操作,也可以在Scala中执行


您可以查看此项以了解如何使用Scala和SBT构建Android应用程序。

在Dalvik支持JIT(即时)编译之前,动态类型语言是不可能的。我相信在一个实验性的Eclair分支中有JIT支持,但它在Android中还没有正式提供/支持。

  • 在发布时,
    Java
    是唯一官方支持的用于构建可分发的第三方Android软件的编程语言

  • Android原生开发工具包(Android NDK),允许开发者使用
    C
    C++
    构建Android软件组件

  • 除了提供对本机代码的支持外,谷歌还扩展了Android以支持流行的动态脚本语言。本月早些时候,谷歌推出了,允许第三方开发者使用
    perl
    JRuby
    Python
    LUA
    BeanShell
    构建简单的Android应用程序。有关ASE的概念和用法,请参阅此

  • 也支持。有关Scala的示例,请参考这些

  • 刚才我提到了一个,在其中我发现了一些有用的信息,如下所示:

  • 编程语言是Java,但存在着来自其他语言的桥梁
    (C#.net-Mono等)
  • 可以运行脚本语言,如
    LUA
    Perl
    Python
    BeanShell
    等。

  • 我已经在上读了第二篇文章。比如这个

  • 刚才(2010年8月2日)我读了一篇文章,其中描述了“Frink编程语言和Android计算工具””,请参考以下链接

  • 2010年8月4日,我发现了关于
    RenderScript
    。基本上,据说它是一种用于高性能图形编程的类C语言,可以帮助您在Android应用程序中轻松编写高效的视觉效果和动画。它还没有发布,因为它还没有完成

    • 也可以在Android上使用Java后端。我已经写了一个可以帮助别人开始的例子(还有一些其他的例子),也正是出于这个目的(虽然在这个时候,提交的时间很短。而且他们都还没有使用ProGuard,所以
      .apk
      的大小令人震惊。)

      虽然这里的其他帖子对Android上的Scala很满意,但Scala论坛上的海报更关注Scala突破Dalvik某些限制的能力,使用它的人说他们将其保留用于非生产代码。(关于Scala问题的一些讨论。)

      我还不能说Mercury是否也有Dalvik的问题,但我现在已经从Scala转向了它。

      是Scheme的一个可爱但鲜为人知的变体,它已经安静地存在了很多年,并在JVM和Dalvik上运行,本机运行。因此,它的输出不包含额外的VM,只包含显式导入的库。对于终端程序员来说,这意味着Kawa的性能和可执行文件大小与标准Java几乎相同(ProGuard不需要)

      Kawa还包括许多宏(包括一些特定于Android API的宏),这些宏有助于生成一个干净的语法(假设您不反对括号),并在Scheme的顶部添加了一些好吃的东西,如“承诺”(lazy eval和futures in one)。该语言非常健壮,文档丰富,自Java早期以来一直在积极维护和发展


      通过一些信息丰富的示例和链接总结了Kawa的优点。

      另一种适用于Android的JVM语言是with,这两种语言都来自

      1)Angular+nativeScript


      2) Reactnative

      不,即使使用Android Froyo的JIT,大多数动态语言也无法工作。Dalvik执行一种从Java源代码编译的字节码并不意味着它与JVM兼容,甚至“理论上”也是如此。请注意,“Rhino”是“JavaScript”的实现,“Jython”是“Python”的实现。此外,在Android上的
      WebView
      中也可以使用HTML和JavaScript语言,甚至还有JavaScript框架和SDK。