简述微信小程序原理

简介: 简述微信小程序原理

一、本质的区别


首先,小程序的逻辑层和渲染层是分开的,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象。


       所以就没有相关的DOM API和BOM API,这一区别导致了前端开发非常熟悉的一些库,例如 jQuery、 Zepto 等,在小程序中是无法运行的。


       同时 JSCore 的环境同 NodeJS 环境也是不尽相同,所以一些 NPM 的包在小程序中也是无法运行的。


总之,js是单线程的,小程序是双线程,逻辑层和视图层(渲染层)是分开的,同时运行的。


二、通信的区别

     

又因为小程序是双线程的,任何逻辑层和视图层的数据传递都是线程之间的通信,所以具有一定的延时,所以页面的更新就成了异步操作。


异步会使得各部分的运行时序变得复杂一些,比如在渲染首屏的时候,逻辑层与渲染层会同时开始初始化工作,但是渲染层需要有逻辑层的数据才能把界面渲染出来。


如果渲染层初始化工作较快完成,就要等逻辑层的指令才能进行下一步工作。


三、运行机制


小程序启动运行两种情况:


1.冷启动:用户首次打开或者小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动,即为冷启动。


2.热启动:用户已经打开过小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需要将后台态的小程序切换到前台,这个过程就是热启动。

相关文章
|
6天前
|
缓存 小程序 JavaScript
支付宝小程序性能优化原理及手段
支付宝小程序性能优化原理及手段
106 0
|
6月前
|
JavaScript 前端开发 API
04 微信公众号开发原理
04 微信公众号开发原理
60 0
04 微信公众号开发原理
|
8月前
|
网络协议 开发工具 数据安全/隐私保护
ESP8266固件SDK开发之微信配网(AIRKISS)原理(一)
ESP8266固件SDK开发之微信配网(AIRKISS)原理(一)
204 0
|
10月前
|
XML 移动开发 小程序
微信小程序原理
微信小程序原理
|
11月前
|
前端开发 小程序 数据安全/隐私保护
|
11月前
|
缓存 移动开发 JSON
微信小程序底层框架实现原理|万字长文(三)
微信小程序底层框架实现原理|万字长文
391 0
|
11月前
|
JavaScript 小程序 前端开发
微信小程序底层框架实现原理|万字长文(二)
微信小程序底层框架实现原理|万字长文
177 0
|
11月前
|
缓存 JSON 小程序
微信小程序底层框架实现原理|万字长文(一)
微信小程序底层框架实现原理|万字长文
316 0
|
XML 存储 定位技术
如何使用 PHP 和微信公众号 API 实现获取用户的地理位置消息?底层原理是什么?
如何使用 PHP 和微信公众号 API 实现获取用户的地理位置消息?底层原理是什么?
315 0
|
缓存 小程序 JavaScript
解析小程序原理
实际学习过程中,有些同学常常会对小程序和 Web 应用之间的差别产生疑惑,它们之间到底有什么不同, Web 应用不能作为小程序吗?本期文章将会带你比较小程序和 Web 应用之间的差异,并解析小程序的原理。
564 0
解析小程序原理

热门文章

最新文章