课件和 Demo 地址

https://github.com/geektime-geekbang/geektime-WeChat-Applets
image.png

微信小程序的双线程运行机制

image.png
逻辑层、视图层。两者通过微信底层的 jsBridge 进行通讯。

  • setdata 在底层对应执行 evaluateJavascript 这个函数
  • 当视图层的交互事件触发了,由视图层向逻辑层传递事件信息时,也是通过 evaluateJavascript 这个函数完成的。

这个函数的参数是文本,,每一次运行都是原始类型到文本再到原始类型的转化,并且他还是单通道的,不存在向golang、C++那样的并发线程特征。所以他的效果是缓慢的。有时候看见小程序页面卡顿了,其实不是页面卡顿了很多情况是底层的evaluateJavascript 这个函数,他忙不过来了。

理解这个双线程的通讯机制,对于我们优化小程序的性能很有帮助。

小程序的特点

小程序的开发能力

image.png

小程序开发流程

image.png

小程序运行机制

冷启动和热启动。
image.png

image.png

image.png