【问题标题】:Javascript app in AndroidAndroid 中的 Javascript 应用程序
【发布时间】:2010-12-09 19:06:18
【问题描述】:

我是 Android 编程新手,正在寻找一些常识。我正在考虑用 javascript 编写我的应用程序的逻辑,以便可以在 web 应用程序和桌面应用程序中执行相同的代码。是否有可能让它在Android上也能运行?我知道:

  • SL4A 被标记为 alpha 质量,用户需要安装它才能使这样的应用程序正常工作。它仍然提供对 Android API 的访问。据我所知,SL4A 脚本也无法进入 Android Market。
  • 简单的 web 应用无法访问大多数 Android API。

是否可以编写一个简单的 Java 应用程序,将 HTML 小部件与 javascript 代码嵌入并提供一些包装器来访问必要的 API?

我不是在寻找一个完全可移植的东西——我打算手动使 UI 适应每个环境。我只是想让所有端口都有内部逻辑。

【问题讨论】:

    标签: javascript android


    【解决方案1】:

    PhoneGap 允许您编写基于 HTML 的应用程序,该应用程序不仅适用于 Android,还适用于 iPhone、Windows Phone 7、WebOS 等。 The API 是标准化的,因此您可以在所有平台上使用相同的页面。

    支持大多数平台上最常见的原生功能。 (每个平台上的Here's a chart of the features supported)此外,如果您发现有一个功能无法仅使用他们的 API 复制,您可以在本机平台语言中write a plugin(因此,对于 Android 来说,那将是 Java),然后从您的 HTML/Javascript 页面调用该插件。

    【讨论】:

    • 太棒了!是否也可以使用本机 UI? Android 上的意图?
    • @liori:您可以随意将 HTML 活动与标准 Android 活动混合,因此您可以将 HTML 与原生 UI 混合,是的。可以使用标准的 Android 方式来监听意图。可以通过插件 (example) 发送意图。
    • 如果您只对 PhoneGap 的免费和开源部分感兴趣,请查看由 Adob​​e 为 ASF 提供的 Apache Cordova(info)
    【解决方案2】:

    如果您想使用 javascript 并访问本机 api,那么您应该尝试 Appcelerator.com。那些人正在提供这个。

    【讨论】:

    • 非常有趣。我一直在寻找更接近 Android 本身的东西,但这也可能符合要求。
    【解决方案3】:

    Rhino,这是一个用Java编写的Javascript引擎。它在 Android 中工作,并且在这里的另一个答案中提到的 Appcelerator 的 Titanium 使用它。

    用户界面和 Android 特定的 API 然后可以用 Java 编写和包装,然后由用 Javascript 编写的逻辑代码调用并由 Rhino 运行。

    【讨论】:

      【解决方案4】:

      考虑 GWT,一个 Java 到 javaScript 的编译器。你可以用普通的 Java 编写你的逻辑和许多其他代码(有一些事情(例如反射)你不能像反射一样做,但你也不能在 javaScipt 中做)像谷歌这样的应用程序收件箱正在使用 GWT 来重用他们在 javaScript 中的大量代码。他们也不只是重用逻辑。您可以重用依赖注入、架构、AJAX 调用等。此外,GWT 在浏览器和 JVM 中都比 javaScript 快。 GWT 可能遇到的最大问题是它更复杂的 javaScript。常规 Java 已经更复杂了。让它同时在 JVM 和浏览器上工作只会让事情变得更复杂。此外,GWT 专为极其复杂的 Web 应用程序而设计。

      【讨论】:

      • 问题是关于评估基于 JavaScript 的解决方案的选择,而不是基于 Java 的解决方案。因此,GWT 在这里不是一个有效的答案。
      猜你喜欢
      • 2013-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-10
      相关资源
      最近更新 更多