https://developers.weixin.qq.com/ebook?action=get_post_info&token=935589521&volumn=1&lang=zh_CN&book=miniprogram&docid=0000286f908988db00866b85f5640a

小程序的特点

快速的加载
更强大的能力
原生的体验
易用且安全的微信数据开放
高效和简单的开发

小程序与网页的区别

  • 小程序没有Dom和Bom,小程序的逻辑层和渲染层是分开的
  • 小程序拥有脚本线程和渲染线程,分别运行在不同的线程中
  • 开发方式不同,需要申请账号和开发者工具
  • 小程序的执行环境

image.png

双线程模型

  • JsCore线程:执行JavaScript(在iOS下是用内置的 JavaScriptCore框架,在安卓则是用腾讯x5内核提供的JsCore环境)
  • WebView线程:界面渲染

一个小程序存在多个界面,所以渲染层存在多个WebView线程,这两个线程的通信会经由微信客户端(下文中也会采用Native来代指微信客户端)做中转,逻辑层发送网络请求也经由Native转发。

数据驱动
image.png

image.png

image.png