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

mjn*_*mjn 64 python java android scala dalvik

理论上,Dalvik执行任何虚拟机字节代码,例如使用编译器创建

  • AspectJ的
  • ColdFusion的
  • Clojure的
  • Groovy的
  • JavaFX脚本
  • JRuby的
  • Jython的
  • 犀牛
  • 斯卡拉

Dalvik的字节码编译器的工作版本是否可用于除Java之外的其他语言?

Par*_*ani 62

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

  • Android Native Development Kit(Android NDK)将允许开发人员使用C和构建Android软件组件C++.

  • 除了提供对本机代码的支持外,Google还扩展了Android以支持流行的动态脚本语言.本月初,谷歌推出了 Android的脚本环境(ASE) ,它允许第三方开发人员建立与简单的Android应用程序perl,JRuby,Python,LUABeanShell.有关ASE的想法和用法,请参阅此示例链接.

  • Scala也受支持.有关Scala的示例,请参阅这些示例link-1, 示例link-2,示例link-3.

  • 刚才我引用了一篇文章,其中我找到了一些有用的信息如下:

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

  • 我在Google Releases的'Simple'Android Programming Language上阅读了第2篇文章.例如,请参阅此.

  • 刚才(2010年8月2日)我读过一篇描述" Frink编程语言和Android计算工具 "的文章,请参阅此链接Link-1,Link-2

  • 2010年8月4日,我找到了关于RenderScript.基本上,它被认为是高性能图形编程的类C语言,可以帮助您轻松地在Android应用程序中编写高效的视觉效果和动画.由于尚未完成,尚未发布.


Bri*_*Hsu 24

Scala非常好用.

我正在使用Scala编写我的Android应用程序项目(网站用中文编写一些屏幕截图,源代码@ GitHub),并且很容易设置evnviroment(没有IDE,使用SBT作为构建工具).

它可以访问Android SDK中的每个API,所以你可以用Java做任何事情,你也可以在Scala中做到.

您可以查看此博客条目,了解如何使用Scala和SBT构建Android应用程序.


bug*_*bug 7

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

Kawa还包含许多宏(包括一些特定于Android API的),这些宏形成了一个很好的清晰语法(假设一个不反对括号),并在Scheme之上添加了一些好吃的东西,比如"promises"(懒惰的eval和期货)在一个).该语言非常强大且文档齐全,自Java早期以来一直在积极维护和发展.

Java Advent Calendar通过一些信息性的示例和链接总结了Kawa的优点.