- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
微信小程序及其架构的原理
发布于2017年初的微信小程序,诞生了一种全新的轻量级小
程序,通过基础库,提供了开发者丰富的接口,实现了用户不需
要下载安装即可使用的快捷体验。但是,用户不需要下载这一点,
是如何做到的呢?
一、微信小程序的结构
微信小程序的架构可以分为两个主要部分:客户端架构(前端)
和服务端架构(后端)。
1.客户端架构(前端)
a.渲染层:渲染层运用基于WXML(WeiXinMarkupLanguage)
渲染整个微信小程序页面的静态结构,和WXSS(WeiXinStyle
Sheets)来设置页面样式。该层只负责UI呈现,不涉及数据处理
和业务逻辑。
b.逻辑层:逻辑层通过JavaScript编写的逻辑代码实现业务逻辑
和数据处理。逻辑层通过基础库提供的API调用以及其他网络请
求和本地存储来获取数据,操作数据并实时监测数据变化,最后
传递对应的数据变化到视图层进行渲染呈现。
c.数据层:数据层主要负责小程序全局的数据共享和管理,使
得各个页面之间可以实时传递数据更新。可以把数据层类比为一
个存储了小程序全局数据和各个数据项的中心节点。
2.服务端架构(后端)
如图所示,微信小程序的服务端架构,应用服务器、微信服务
器、小程序开发所需的云服务等都在服务端进行。
a.应用服务器:应用服务器作为小程序的基础架构,主要是负
责小程序运行的Java或者Node.js服务,为小程序提供接口、逻辑
和验证等功能。同时,应用服务器将被用于小程序云服务的部署。
b.微信服务器:微信服务器包含了消息接收服务器和调用接口
服务器两个部分。通过开发者向微信服务器提供API以及消息接
收服务器,开发者可以将小程序和微信生态中的其他功能结合起
来,比如小程序中对微信公众号的操作、小程序中调用微信支付、
以及小程序的授权、用户信息推送等。
c.云服务:微信小程序提供了云开发能力,这意味着开发者可
以将小程序的后端服务和运行环境直接部署到小程序云服务端,
将开发过程转移到云端。云服务将小程序的开发流程简化到极致,
让开发者可以专注于业务逻辑的制定。
二、微信小程序的运行机制
微信小程序的运行机制分四个阶段。
第一阶段:启动阶段
局限于小程序启动时的代码及过程,包括渲染过程(解析
WXML-生成js对象-渲染dom),在渲染代码执行结束后,即
完成了小程序启动过程,等待后续交互过程中用户反应。
第二阶段:使用阶段
小程序启动后进入的正常运行阶段,包括用户与程序进行页面
交互的时间,此阶段中,程序必须与后端进行数据交互和处理,
在这个过程中,客户端会发起请求,服务端将对请求进行处理并
返回相应的数据,然后客户端根据数据更新节点(视图层)。
第三阶段:后台阶段
当小程序从前台(当前程序)退到后台(非当前程序)时,进
程将会停止所有的代码执行,进入后台阶段。
第四阶段:销毁阶段
小程序从微信端退出或者被手动清理时,进入销毁阶段。在这
个阶段,程序的资源将会被释放,并最终销毁。
三、微信小程序的优势
小程序的最大特点是轻量级,不需下载安装即可实现启动,并
且通过数据缓存和预加载技术可以实现秒开和无感知加载。同时,
小程序也提供了强大的API和专用模块,使得开发者可以快速开
发更为精致的小程序应用。因此,小程序有以下优势:
1.体验优秀:不需要安装即可快速启动,不需要占用手机的系
统空间。
2.制作成本低:与开发原生App相比,小程序制作成本极低,
因为只需要开发一套兼容iOS和Android的代码即可。
3.开发方便:微信小程序提供了一套完备的开发、构建和调试
的工具,使得开发效率和效果得到了显著提升。
4.自由宣传:不需要被限制在应用市场中,可以通过各大社交
媒体分享给朋友或者就在微信中搜索使用。
4.商业变现:小程序的友好商业环境和便利体验,使其可以进
行多种商业变现,例如小程序广告变现、小程序支付等。
综上,在实际运用中,微信小程序的灵活性和开发效率减少了
很多程序员的烦恼,与传统的WebApp相比,微信小程序具有着
更优秀的易用性、细节处理、流程交互和工业设计,具
文档评论(0)