小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如题,网络上能够搜索到大量个人和培训机构绘制的架构图,有些是过于简单浮于表面,有些不够专业,想请问是否有官方的架构图能够参考?
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
请参考
https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/framework.html
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
小程序双线程的模型:渲染层(Webview)+逻辑层(JSCore)
其中渲染层用了Webview进行渲染,开发者的JS逻辑运行在一个独立的JSCore线程。
渲染层提供了带有数据绑定语法的WXML,逻辑层提供了setData等等API,开发者需要进行界面变化时,只需要通过setData把变化的数据传进去,小程序框架就会进行Dom Diff等流程最后把正确的结果更新在Dom树上。
可以看到在开发者的逻辑下层,还需要有一层小程序框架的支持(数据通信、API、VD算法等等),我们把它称为基础库。
我们在两个线程各自注入了一份基础库,渲染层的基础库含有VD的处理以及底层组件系统的机制,对上层提供一些内置组件,例如video、image等等。逻辑层的基础库主要会提供给上层一些API,例如大家经常用到的wx.login、wx.getSystemInfo等等。
解决了渲染问题,我们还要看一下用户在和界面交互时的问题。
用户在屏幕点击某个按钮,开发者的逻辑层要处理一些事情,然后再通过setData引起界面变化,整个过程需要四次通信。对于一些强交互(例如拖动视频进度条)的场景,这样的处理流程会导致用户的操作很卡。
对于这种强交互的场景,我们引入了原生组件,这样用户和原生组件的交互可以节省两次通信。
正如上图所示,原生组件和Webview不是在同一层级进行渲染,原生组件其实是叠在Webview之上,想必大家都遇到过这个问题,video、input、map等等原生组件总是盖在其他组件之上,这就是这个设计带来的问题。
我们也很重视这个问题,经过了一段时间的努力,我们攻克了这个难题,把原生组件渲染到Webview里,从而实现同层渲染。目前video组件已经完成同层渲染的全量发布,详细可以看我们之前的公告:同层渲染公测。
为了让开发者可以更好的开发小程序,我们在后来还引入了自定义组件和插件的概念,我们后续会有相关的文章再介绍这两块的设计,希望大家关注我们社区的文章板块。
以上就是小程序架构设计的历史。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
请参考
https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/framework.html
小程序双线程的模型:渲染层(Webview)+逻辑层(JSCore)
其中渲染层用了Webview进行渲染,开发者的JS逻辑运行在一个独立的JSCore线程。
渲染层提供了带有数据绑定语法的WXML,逻辑层提供了setData等等API,开发者需要进行界面变化时,只需要通过setData把变化的数据传进去,小程序框架就会进行Dom Diff等流程最后把正确的结果更新在Dom树上。
可以看到在开发者的逻辑下层,还需要有一层小程序框架的支持(数据通信、API、VD算法等等),我们把它称为基础库。
我们在两个线程各自注入了一份基础库,渲染层的基础库含有VD的处理以及底层组件系统的机制,对上层提供一些内置组件,例如video、image等等。逻辑层的基础库主要会提供给上层一些API,例如大家经常用到的wx.login、wx.getSystemInfo等等。
解决了渲染问题,我们还要看一下用户在和界面交互时的问题。
用户在屏幕点击某个按钮,开发者的逻辑层要处理一些事情,然后再通过setData引起界面变化,整个过程需要四次通信。对于一些强交互(例如拖动视频进度条)的场景,这样的处理流程会导致用户的操作很卡。
对于这种强交互的场景,我们引入了原生组件,这样用户和原生组件的交互可以节省两次通信。
正如上图所示,原生组件和Webview不是在同一层级进行渲染,原生组件其实是叠在Webview之上,想必大家都遇到过这个问题,video、input、map等等原生组件总是盖在其他组件之上,这就是这个设计带来的问题。
我们也很重视这个问题,经过了一段时间的努力,我们攻克了这个难题,把原生组件渲染到Webview里,从而实现同层渲染。目前video组件已经完成同层渲染的全量发布,详细可以看我们之前的公告:同层渲染公测。
为了让开发者可以更好的开发小程序,我们在后来还引入了自定义组件和插件的概念,我们后续会有相关的文章再介绍这两块的设计,希望大家关注我们社区的文章板块。
以上就是小程序架构设计的历史。
https://developers.weixin.qq.com/ebook?action=get_post_info&volumn=1&lang=zh_CN&book=miniprogram&docid=000668c6910b784b00860870a5ac0a