(一)

1. 小程序的优势

相比于APP

(1)启动快

(2)占用内存小

(3)审核时间短(正常两天之内就可以审核完成,而APP可能需要三四天)

(4)不用下载,开箱即用

(5)学习开发成本低,上手快

2. 微信小程序双线程运行机制

一个逻辑层: 提供各种api来处理逻辑

一个视图层:主要提供各类组件渲染界面

两者通过微信底层的 WeiXinJSBridge 进行通讯,包括数据事件的交换

(一)

视图的数据更新是如何实现的?

主要是通过 setData 来实现的,调用底层的 window.evaluateJavaScript() 

使用setData会遇到哪些问题?

因为运行在两个线程,有时候视图渲染会卡顿,数据更新上有瓶颈

微信为什么要打造WXS语言?

WXS(WeiXinScript)不依赖运行时的基础库版本,可以在所有版本的小程序运行

WXS 代码与JS代码是隔离的,不能调用JS 代码

(一)

使用虚拟DOM提高渲染效率 

(一) 

3. 小程序的特点

(1)相比于网页,小程序是依赖微信码和微信,而网页依赖url

(2)以js语言为主,HTML、CSS和前端比相差不大

(3)小程序依托于微信环境存在,不想h5那么灵活,但是可以实现H5实现不了的功能,比如订阅、发送消息通知等

4. 小程序开发流程

(1)注册

(2)小程序信息完善

(3)开发小程序

(4)提交审核、发布

5. 小程序启动机制:冷启动、热启动

(1)热启动:如果用户启动过该小程序,在一定时间内又启动该小程序,这时候不需要重新启动,只是将后台的小程序切换到前台,这就叫热启动

(2)冷启动:用户之前没有打开过该小程序,首次打开;或者是将小程序销毁关闭后,重新打开;这时候小程序需要重新加载启动

什么时候可以应用新的版本呢?

小程序冷启动时,检测云端新版本,如果发现有新的版本,就会异步下载新版本的代码包,同时用本地客户端的代码打开本次启动,等到下一次冷启动时,就会展示出新版本的代码

如果要立即打开新版本的代码怎么做呢?可以使用wx.getUpdataManager这个接口处理