Java 我可以在Android Dalvik上使用哪些编程语言?
理论上,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中执行任何
- 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中还没有正式提供/支持。
- 在发布时,
是唯一官方支持的用于构建可分发的第三方Android软件的编程语言Java
- Android原生开发工具包(Android NDK),允许开发者使用
和C
构建Android软件组件C++
- 除了提供对本机代码的支持外,谷歌还扩展了Android以支持流行的动态脚本语言。本月早些时候,谷歌推出了,允许第三方开发者使用
、perl
、JRuby
、Python
和LUA
构建简单的Android应用程序。有关ASE的概念和用法,请参阅此BeanShell
- 也支持。有关Scala的示例,请参考这些
- 刚才我提到了一个,在其中我发现了一些有用的信息,如下所示:
- 编程语言是Java,但存在着来自其他语言的桥梁
(C#.net-Mono等)
- 可以运行脚本语言,如
、LUA
、Perl
、Python
等。BeanShell
- 我已经在上读了第二篇文章。比如这个
- 刚才(2010年8月2日)我读了一篇文章,其中描述了“Frink编程语言和Android计算工具””,请参考以下链接
- 2010年8月4日,我发现了关于
。基本上,据说它是一种用于高性能图形编程的类C语言,可以帮助您在Android应用程序中轻松编写高效的视觉效果和动画。它还没有发布,因为它还没有完成RenderScript
- 也可以在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。