小程序2——MINA框架、运行机制
一、MINA框架
1. 介绍
- View视图层:搭建视图结构和展现样式。
- App Service逻辑层:处理事物逻辑的地方,是MINA数据交互的服务中心。
- Native系统层:接入了微信客户端的原生能力。
2.view与App Service是双线程通信
在逻辑层发生数据变更的时候,需要通过App Service提供的setData() 方法,把数据从逻辑层传到视图层。view视图层会把接受到的数据进行前后差异的对比 ,这个差异是通过Diff算法计算的,然后把有差异的部分应用在节点树上,正确渲染出来。
AAST(抽象语法树)https://segmentfault.com/a/1190000016231512
wxs文件与wxml、wxss 一起在UI线程中运行的,平时我们从服务器中请求到数据时通常会做一个转换或者通过filter()函数处理,而微信把这些处理放进UI线程中操作,当App Service线程遇到阻塞的时候,UI线程可以正常处理和渲染视图 ,避免了跨线程通信的消耗。(小程序优化其中一个点)