我不会在这里向您提供清单。我主要想分享一下小程序运行环境对兼容性的一些影响。
首先我们来看看小程序支持哪些平台。微信小程序主要运行在三个终端:IOS(/iPad)、用于小程序开发调试的开发者工具。
必须明确的是,这三个终端的小程序代码执行环境和用于渲染的非原生组件的环境是不同的。根据官网文档,它们如下:
- 在 iOS 上
小程序逻辑层的代码运行在 ,视图层由 渲染。环境包括iOS8和iOS9;
- 在
老版本中,小程序逻辑层的代码运行在X5中,视图层由基于57核心的X5渲染;
新版本中,小程序逻辑层的代码运行在V8中,视图层由基于67核心的自研XWeb引擎渲染
- 关于开发工具
小程序逻辑层的代码运行在NW.js中,视图层由60渲染。

从上面来看,环境还是类似的,但是还是有一些区别:
- 语法和API支持不一致:语法上,开发者可以通过开启ES6转ES5功能来规避这一点;另外,小程序基础库内置了必要的功能来弥补API的差异。
- WXSS渲染性能不一致:虽然开启样式补全可以避免大部分问题,但建议开发者分别检查小程序在iOS和设备上的实际表现。
这意味着在实际的小程序测试中,需要根据小程序所使用的技术语言版本、基础库等因素来决定如何进行小程序的兼容性测试。
小程序的基础库可以参考官方文档:#项目设置
开发者可以在这里选择任何基础库版本来进行开发和调试与旧版本的兼容性问题。
JS API的差异化支持请参考官方文档:
操作限制是基于安全考虑。小程序中不支持动态执行JS代码,即:
- 不支持使用eval执行JS代码
- 不支持使用new创建函数

有关渲染问题,请参阅:#
综上所述,在规划小程序兼容性测试时,必须考察以下几项:
- 运行环境(ios及相应版本)
- 版本,支持不同平台的API
- 小程序基础库版本
- 设备dpi,影响布局显示
- 微信版本(不同版本对小程序的支持不同,个人版微信、企业版微信、汽车版微信?等)
- 商业
- 其他