我们已经创建了一个 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/