小程序-工作原理

2019-07-09  本文已影响0人  壹直卝注你

小程序的核心思想:数据驱动+通信模型

通信模型:小程序的渲染层和逻辑层分别由2个线程管理:渲染层的界面使用了WebView 进行渲染;逻辑层采用JsCore线程运行JS脚本。一个小程序存在多个界面,所以渲染层存在多个WebView线程,这两个线程的通信会经由微信客户端(下文中也会采用Native来代指微信客户端)做中转,逻辑层发送网络请求也经由Native转发,小程序的通信模型如图所示。

通信模型.png

数据驱动:WXML可以先转成JS对象,然后再渲染出真正的Dom树;通过setData把msg数据从“Hello World”变成“Goodbye”,产生的JS对象对应的节点就会发生变化,此时可以对比前后两个JS对象得到变化的部分,然后把这个差异应用到原来的Dom树上,从而达到更新UI的目的,这就是“数据驱动”的原理,如图所示。

数据驱动.png
上一篇下一篇

猜你喜欢

热点阅读