Android Dalvik上可以使用哪些编程语言?
理论上,Dalvik执行任何虚拟机字节码,例如用编译器创build
- AspectJ的
- ColdFusion的
- Clojure的
- Groovy的
- JavaFX脚本
- JRuby的
- Jython的
- 犀牛
- 斯卡拉
Dalvik的字节码编译器是否已经可以用于除Java以外的其他语言?
-
在推出时,
Java
是唯一官方支持的用于构build可分配的第三方Android软件的编程语言。 -
Android本地开发工具包(Android NDK),它将允许开发人员使用
C
和C++
构buildAndroid软件组件。 -
除了提供对本地代码的支持外,Google还将Android扩展到支持stream行的dynamic脚本语言 。 本月早些时候,Google推出了Android脚本环境(ASE) ,允许第三方开发者使用
perl
,JRuby
,Python
,LUA
和BeanShell
构build简单的Android应用程序。 有了ASE的想法和使用,请参考这个例子链接 。 -
斯卡拉也支持。 有关Scala的示例,请参阅这些示例链接-1 , 示例链接-2 , 示例链接-3 。
-
刚才我提到了一篇文章,在这里我发现了一些有用的信息如下:
- 编程语言是Java,但存在其他语言的桥梁
(C# .net - Mono, etc)
。 - 可以运行像
LUA
,Perl
,Python
,BeanShell
等脚本语言
- 编程语言是Java,但存在其他语言的桥梁
-
我已经阅读了Google发布的“简单”Android编程语言的第二篇文章。 例如, 请参考这个 。
-
刚才(2010年8月2日)我已经阅读了一篇描述关于“ Frink编程语言和Android计算工具 ”的文章,请参阅链接Link-1 , Link-2
-
2010年8月4日,我发现关于
RenderScript
。 基本上,它被认为是一个C语言的高性能graphics编程,它可以帮助您轻松地在Android应用程序中编写高效的视觉效果和animation。 它还没有发布,因为它没有完成。
斯卡拉工作得很好。
我正在使用Scala编写我的Android应用程序项目( 网站用中文写的一些屏幕截图 , 源代码@ GitHub ),并且安装evnviroment(没有IDE,使用SBT作为构build工具)非常容易。
它可以访问Android SDK中的每个API,所以你可以在Java中做任何事情,你也可以在Scala中做到这一点。
您可以查看此博客条目 ,了解如何使用Scala和SBT构buildAndroid应用程序。
卡瓦是一个可爱的但鲜为人知的变种,已经安静地存在了很多年,并且在原生的JVM和Dalvik上运行 。 因此,它的输出不包含额外的虚拟机,只包含显式导入的库。 对于最终的程序员来说,这意味着Kawa的性能和可执行文件大小几乎与标准的Java相同(不需要ProGuard)。
Kawa还包含许多macros(包括一些特定于Android API的macros),这些macros使用了一个很好的干净的语法(假设不违反括号),并且在Scheme的基础上增加了一些好吃的东西,比如“promises”(懒惰的eval和futures在一个)。 该语言相当强大,文档丰富,自Java早期以来一直在积极维护和发展。
Java Advent日历通过一些有用的例子和链接总结了Kawa的优点。
我还没有玩过,但我知道斯卡拉的作品。
另一个适用于Android的JVM语言是来自Jetbrains的 Kotlin和Anko 。
Mercury也可以在Android上使用它的Java后端。 我已经写了一个简单的应用程序 ,可以帮助别人开始使用(还有其他几个例子),而且水银android-helper也是用于这个目的的(尽pipe在这个时候,它只是简短的几个提交,而且都没有使用ProGuard但是, .apk
大小令人震惊。)
虽然这里的其他post对于Scala-on-Android很开心,但是Scala论坛的海报更关注于Scala打破Dalvik的一些限制的能力,而那些使用它的人说,他们会保留它用于非生产代码。 (这里有一些关于Scala问题的讨论。)
我还不能说,如果水星在Dalvik有自己的问题,但我暂时从Scala切换到它。
dynamictypes的语言将不可能,直到Dalvik支持JIT(Just In Time)编译。 我相信有一个实验性的Eclair分支有JIT支持,但是它还没有在Android上正式提供/支持。
现在有一个免费的Pascal编译器,可以为Android平台创build可执行文件。
- 简短摘要: 使用Pascal和Eclipse开发Android
- 博客文章分步指南: 使用Pascal和Eclipse开发Android
有了这个解决scheme,开发人员几乎可以访问整个Eclipse和Android工具集。 这不仅包括完整的Android小部件集和用于布局它们的graphicsdevise器,还包括访问完整的Android运行时。 Eclipse IDE也将构build可执行文件并启动Android模拟器(使用Run As | Android应用程序)。