首先声明:
- 以下所有内容仅是对微信小程序weapp的个人研究,仅有参考价值,不确保正确;
- 以下所有内容仅用于交流学习,不能做其他用途,欢迎大咖指点
其他
- 以下简称wa(weapp, 微信小程序)
一. wa的运行环境
根据微信官方的说明,wa的运行环境有3个平台,IOS的webkit(苹果开源的浏览器内核),Android的X5(QQ浏览器内核),开发时用的nw.js(C++实现的web转桌面应用);
二. 为什么wa不直接运行在浏览器(webview)中,而要绕过浏览器直接调用内核呢?
因为运行在浏览器中的webapp是做不了监控的,而wa的表现是半native app,半web app,而native app与web app和一个很重要的区别就是native app有自己的生命周期,在这之中,我们可以根据生命周期的不同时间段做出不同的调整,比如常驻内存,防止被系统杀掉,系统后台保存活度等等,而web app就没有这回事了,仅仅能够根据事件做出不同的调整,跟原生app比起来,体验就差了一些。基于此,wa当然不会像web app一样了,他需要有自己的生命周期。
本质上来说,wa还是运行在浏览器模式中,而承载wa的系统就是