1 运行环境
微信小程序分为逻辑层和渲染层,分别运行在各自的线程中。两个线程之间的通信经由微信客户端(Native)
做中转,逻辑层发送网络请求也经由Native
转发。
渲染层使用WebView
进行渲染,逻辑层采用JSCore运行JS脚本。因为一个小程序可能存在多个界面,所以渲染层也可能有多个WebView线程。
小游戏则是在小程序的基础上提供了WebGL接口的封装,使渲染能力和性能有大幅提升。
在普通网页开发中,开发者需要面对各式各样的环境,PC端有Chrome、IE、QQ浏览器等,移动端有Safari、Chrome以及系统中的各种WebView。而小程序帮助开发者抹平了这些差异,只要专注于微信环境就可以了。
小程序通过把复杂的各式环境封装起来,给上层开发者提供了简单、统一的接口,换句话说,就是小程序框架把麻烦的各种平台适配工作都做完了。
小程序在各个平台采用的脚本执行和渲染环境也各不相同,如下。
运行环境 | 逻辑层 | 渲染层 |
iOS | JavaScriptCore | WKWebView |
Android | V8 | XWeb(腾讯自研,基于Mobile Chrome内核 |