大多数情况下,Android应用程序是用Java编写的.但我听说它也可以使用Scala或其他语言.我还读到可以包含本机C/C++代码.
是否有可用的参考/列表显示可以使用哪种语言?
可以使用哪些编程语言来开发Android应用程序?
是否有计划在未来扩展Android支持的编程语言数量?
我相信我在某些时候读过,由于在Dalvik VM上运行Android,JVM(Clojure,Jython,JRuby等)的动态语言很难在Dalvik上获得良好的性能(因此在Android上).如果我没记错的话,理由是在引擎盖下,为了实现动态类型,对java字节码进行了相当多的调整,并且字节码 - > dalvik转换不会轻易地解决这个问题.
如果我想为Android开发,我应该避免使用动态JVM语言吗?
编辑:我想我应该提供更多的上下文.我正在考虑使用Clojure为Android开发应用程序.我考虑使用Clojure有几个原因:
我想学习FP
我真的不在乎学习Java
Clojure似乎有一些非常有趣的语言概念(例如STM).
但是,当我尝试在Clojure中为Android编写应用程序时,我发现存在一个令人无法接受的性能问题.但是我发现一篇博文说,动态类型语言(例如Clojure)会因为获得动态类型所需的字节码操作而出现问题.所以我有点寻找独立的确认,这是真的,或者不是.我应该知道的最好是假设在这个特定的问题中,所有动态类型的JVM语言都可以被视为相同.我想我确实提出了一个相当广泛的问题所以我想我不应该对人们不太了解我的要求感到惊讶.