转载:渲染层和逻辑层

渲染层和逻辑层介绍

小程序的运行环境分成渲染层和逻辑层,其中 WXML 模板和 WXSS 样式工作在渲染层,JS 脚本工作在逻辑层。

小程序的渲染层和逻辑层分别由 2 个线程管理:

渲染层的界面使用了 WebView 进行渲染;一个小程序存在多个界面,所以渲染层存在多个 WebView 线程。

逻辑层采用 JsCore 线程运行 JS 脚本。

Native 中转: 这两个线程的通信会经由微信客户端(下文中也会采用 Native 来代指微信客户端)做中转,逻辑层发送网络请求也经由 Native 转发,

小程序的通信模型下图所示。

渲染层和逻辑层通信

逻辑层: 将数据进行处理后发送给视图层,同时接受视图层的事件反馈。

渲染层: 将逻辑层的数据反应成视图,同时将视图层的事件发送给逻辑层。

小程序提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者能够专注于数据与逻辑。

框架的核心是一个响应的数据绑定系统,可以让数据与视图非常简单地保持同步。当做数据修改的时候,只需要在逻辑层修改数据,视图层就会做相应的更新。

通过这个简单的例子来看

    1. 开发者通过框架将逻辑层数据中的 name 与视图层的 name 进行了绑定,所以在页面一打开的时候会显示 Hello WeChat!;
    2. 当点击按钮的时候,视图层会发送 changeName 的事件给逻辑层,逻辑层找到并执行对应的事件处理函数;
    3. 回调函数触发后,逻辑层执行 setData 的操作,将 data 中的 name 从 WeChat 变为 MINA,因为该数据和视图层已经绑定了,从而视图层会自动改变为 Hello MINA!
    如下图所示:


原文链接:https://blog.csdn.net/weixin_43849099/article/details/102792271

原文地址:https://www.cnblogs.com/liweikuan/p/15073000.html