【问题标题】:Which programming languages can be used to develop in Android? [duplicate]在Android中可以使用哪些编程语言进行开发? [复制]
【发布时间】:2010-07-23 09:09:51
【问题描述】:

可能重复:
Which programming languages can I use on Android Dalvik?

大多数情况下,Android 应用程序都是用 Java 编写的。但我听说它也可以使用 Scala 或其他一些语言。而且我还读到可以包含本机 C/C++ 代码。

是否有显示可以使用哪些语言的参考/列表?

【问题讨论】:

  • 见:developer.android.com/sdk/ndk/index.html#overview>
  • @mjustin - 这是相关的,但不是重复的。它指代dalvik VM,而不是用C++/C进行原生开发
  • 那么那边没有人提到 ASE(Android 脚本环境)...我也不明白票数接近。

标签: java android scala programming-languages scripting


【解决方案1】:
  • 在发布时,Java 是唯一官方支持的用于构建可分发的第三方 Android 软件的编程语言。

  • Android 原生开发工具包 (Android NDK),允许开发人员使用 CC++ 构建 Android 软件组件。

  • 除了提供对本机代码的支持外,Google 还在扩展 Android 以支持流行的动态脚本语言。本月早些时候,谷歌推出了Android Scripting Environment (ASE) ,允许第三方开发者使用perlJRubyPythonLUABeanShell构建简单的Android应用程序。有关 ASE 的想法和用法,请参阅Example link

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

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

    1. 编程语言是 Java,但存在与其他语言的桥梁(C# .net - Mono, etc)
    2. 可以运行LUAPerlPythonBeanShell等脚本语言。

  • 我在Google Releases 'Simple' Android Programming Language 阅读了第二篇文章。例如,refer this

  • 刚刚(2010 年 8 月 2 日)我读到了一篇关于“Frink 编程语言和 Android 计算工具”的文章,请参阅此链接 Link-1 Link-2

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

【讨论】:

  • checkout..我为 scala 添加了新的示例链接
  • 结帐..我添加了“frink Prog. for Android”详细信息
  • 关于“Android 脚本环境”的视频......请参考此链接:slideshare.net/gasolin/…
  • 2010 年 8 月 4 日,我添加了有关“RenderScript for Android”的详细信息
【解决方案2】:

以下是可用于在 android 上开发的语言列表:

  • Java - 主要的 android 开发语言

  • Kotlin,来自 JetBrains 的语言,得到了 Google 的第一方支持,在 Google I/O 2017 上宣布

  • C++ - NDK 用于库,而不是应用程序

  • Python、bash 等。人。 - 通过Scripting Environment

  • Corona- 一种是使用 Corona SDK 。 Corona 是一个基于 Lua 编程语言的高级 SDK。 Lua 比 Java 更容易学习,并且 SDK 消除了开发 Android 应用程序的许多痛苦。

  • Cordova - 使用 HTML5、JavaScript、CSS,可以用 Java 扩展

  • Xamarin technology - 使用 c# 并且其中使用了单声道。 MonoTouch 和 Mono for Android 是通用语言基础架构 (CLI) 和通用语言规范的跨平台实现。

至于您的第二个问题:android 高度依赖于它的 java 架构,我发现短期内不太可能有其他主要的开发语言可用。然而,没有什么特别的原因可以说明为什么有人不能用 Java 实现另一种语言(类似于 Jython)并使用它。但是,这肯定不会像用 Java 编写代码那样简单或高效。

【讨论】:

  • 另一个信息丢失只是为了记录,如果有人不需要硬件访问,他们可以做快速的 HTML/CSS/JavaScript 应用程序来为小型应用程序节省一些时间。例如:youtube.com/watch?v=dc5xxN-awuE
  • "...与 Java 一样高效..." 很遗憾看到这句话(在这种情况下是正确的)存在
  • @Mark - “在设计用于运行在 DalvikVM 中运行的 Java 代码的设备上,其性能与在 DalvikVM 中运行的 Java 代码一样。” ... 此评论并非旨在支持 Java 作为一种编程语言,或对所述语言的性能或可读性做出一般性声明。 :)
  • Jetbrains 的 Kotlin:github.com/JetBrains/kotlin
  • 你忘记了 Chrome Progressive Web Apps developers.google.com/web/progressive-web-apps/desktop
【解决方案3】:

Scala 是supported。见example

其他语言的支持是problematic:

7) 可以将 dx 工具之类的东西强制安装到手机中,以便 Java 代码原则上可以继续生成字节码,但可以将它们转换为 VM 可运行的形式。但是,目前,Java 代码不能即时生成。这意味着 Dalvik 无法运行动态语言(JRuby、Jython、Groovy)。然而。 (也许 dex 格式需要一个可以从字节码轻松生成的失谐变体。)

【讨论】:

【解决方案4】:

如上所述,许多语言都可用于在 Android 中进行开发。 Java、C、Scala、C++、多种脚本语言等。感谢 Mono,您还可以使用 C# 和 .Net 框架进行开发。这里有一些速度对比:http://www.youtube.com/watch?v=It8xPqkKxis

【讨论】:

  • 请记住,这些比较是使用 Android 1.5 进行的。 Android 2.2 包含一个 JIT 编译器,声称可以将 Dalwin 的性能提高 2-5 倍。
  • 该视频是私人视频:-\
【解决方案5】:

Clojure可以用,但是很慢。

另请参阅:Clojure fork for Androidtutorial

【讨论】:

    【解决方案6】:

    我使用 Scala 获得了很好的体验。

    我使用简单的构建工具 (sbt: http://code.google.com/p/simple-build-tool/) 和 Android-Plugin (http://github.com/jberkel/android-plugin)

    【讨论】:

      【解决方案7】:

      Java 和 C:

      • C 用于低级功能和设备连接
      • 用于框架和应用程序级别的 Java

      您可以在 Android 开发者网站上找到更多信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-31
        • 2011-03-14
        • 1970-01-01
        • 1970-01-01
        • 2014-05-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多