小程序技术实现

谁都会走 提交于 2019-12-05 07:08:11

小程序技术实现

 小程序的UI视图和逻辑处理是用多个webview实现的,逻辑处理的JS代码全部加载到一个Webview里面,称之为AppService,整个小程序只有一个,并且整个生命周期常驻内存,而所有的视图(wxmlwxss)都是单独的Webview来承载,称之为AppView。所以一个小程序打开至少就会有2webview进程,正是因为每个视图都是一个独立的webview进程。

 

AppService

 可以理解AppService即一个简单的页面,主要功能是负责逻辑处理部分的执行,底层提供一个WAService.js的文件来提供各种api接口,主要是以下几个部分:

 1、 消息通信封装为WeixinJSBridge

 2、日志组件Reporter封装

 3wx对象下面的api方法

 4、全局的App,Page,getApp,getCurrentPages等全局方法

 5、还有就是对AMD模块规范的实现

 

AppView

 这里可以理解为h5的页面,提供UI渲染,底层提供一个WAWebview.js来提供底层的功能,具体如下:

 1、消息通信封装为WeixinJSBridge

 2、日志组件Reporter封装

 3wx对象下的api

 4、小程序组件实现和注册

 5VirtualDOMDiffRender UI实现

 6、页面事件触发

 

ServiceView通信

 使用消息publishsubscribe机制实现两个Webview之间的通信,实现方式就是统一封装一个WeixinJSBridge对象,而不同的环境封装的接口不一样

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!