阅读(4573) (11)

QQ小程序 小程序的运行环境

2020-07-03 15:48:45 更新

QQ小程序运行在三端:iOS(iPhone/iPad)、Android 和 用于调试的开发者工具。 三端的脚本执行环境以及用于渲染非原生组件的环境是各不相同的:

  • 在 iOS 上,小程序逻辑层的 javascript 代码运行在 JavaScriptCore 中,视图层是由 WKWebView 来渲染的,环境有 iOS8、iOS9、iOS10;
  • 在 Android 上,
    • 小程序逻辑层的 javascript 代码运行中 X5 JSCore 中,视图层是由 X5 基于 Mobile Chrome 57 内核来渲染的;
  • 在 开发工具上,小程序逻辑层的 javascript 代码是运行在 NW.js 中,视图层是由 Chromium 60 Webview 来渲染的。

运行限制

基于安全考虑,小程序中不支持动态执行 JS 代码,即: 不支持使用 eval 执行 JS 代码 不支持使用 new Function 创建函数

平台差异

尽管三端的环境是十分相似的,但是还是有些许区别: JavaScript 语法和 API 支持不一致:语法上开发者可以通过开启 ES6 转 ES5 的功能来规避;此外,小程序基础库内置了必要的Polyfill,来弥补API的差异。 QSS 渲染表现不一致:尽管可以通过开启样式补全来规避大部分的问题,还是建议开发者需要在 iOS 和 Android 上分别检查小程序的真实表现。