Android 的 Javascript 引擎选项(非 WebKit)

标签 javascript android webkit opengl-es-2.0 spidermonkey

我们已经创建了一个 HTML5 + Javascript 应用程序,并希望将其移植到 Android。 我们已经知道 WebKit 无法运行 HTML5 应用程序,因为

  • 异构 Android 代码库严重支持最新的 HTML5 特性

  • 我们使用 WebGL

  • 复杂的 HTML5 用户界面在 Android WebKit 上呈现速度太慢

但是我们的核心应用程序逻辑仍然驻留在 Javascript 中。

现在正在想办法

  • 运行直接移植(复制)Javascript 的应用程序逻辑

  • 轻松绑定(bind)到 Android Java UI API

  • 围绕此 Javascript 逻辑构建原生 Android UI

  • 为 Android OpenGL ES 创建 WebGL 兼容绑定(bind)并从 Javascript 访问图形 API

  • 希望 JIT 或性能不错

对于 Android 上的自定义 JS 运行时,我们有哪些选择?我知道 Firefox Aurora 已经这样做了; Firefox 在很大程度上是基于 JS 的应用程序,现在他们在 Aurora 构建中从 XUL 切换到原生 Android UI。

生成的应用程序必须具有生产质量并且受制于 Android Market 分发。

最佳答案

如果您需要所有 HTML5(尤其是 WebGL),那么您还需要 DOM API,它们不是 SpiderMonkey 的一部分。 SpiderMonkey 只是核心 Javascript 语言解释器,不包含特定于浏览器的绑定(bind),如窗口/文档/元素对象。所以实际上,如果你想在 Android 上使用 HTML5+JS,你必须嵌入整个浏览器,这对于 Firefox Aurora 来说并不容易。

关于Android 的 Javascript 引擎选项(非 WebKit),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8827833/

相关文章:

javascript - 使用正则表达式将电子邮件与公司 URL 进行匹配

android - 我在 RelativeLayout 中的包含有什么问题?

android - 增加android中的网格间距

jquery - 使用 Mobile Safari 进行 OnSubmit

html - webkit-transform 添加到两个不同的复选框时不起作用

javascript - Voronoi 细胞使用 D3 (v4) 填充函数

javascript - 无法使用 D3.js 绘制图表

javascript - JSP/JS forEach 循环中仅打开第一个按钮

css - Android WebView 边界半径别名

html - 同一行上的左对齐、居中和右对齐文本