简单分析微信小程序元素-小程序开发

首页 2024-07-09 07:49:50

本文为您带来了微信applet的相关知识,主要简要介绍了微信applet的原理。applet的逻辑层和渲染层是分开的。逻辑层在jscore中运行,没有完整的浏览器对象。让我们看看。我希望这对你有帮助。

【相关学习推荐:小程序学习教程】

一、本质

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

????????因此,没有相关的DOM API和BOM API,这种差异导致了一些对前端开发非常熟悉的库,比如 jQuery、 Zepto 等等,不能在小程序中运行。

????????同时 JSCore 的环境同 NodeJS 环境也不一样,所以有些 NPM 包也不能在小程序中运行。

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

二、通信

????????因为小程序是双线程,所以任何逻辑层和视图层的数据传输都是线程之间的通信,因此,有一定的延迟,因此页面的更新已经成为异步操作。

异步会使各部分的运行顺序更加复杂。例如,在渲染第一个屏幕时,逻辑层和渲染层将同时开始初始化,但渲染层需要逻辑层的数据来渲染界面。

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

因此,小程序的生命周期起着以下作用

三、运行机制

小程序启动运行有两种情况:
1.冷启动(重新开始):当用户第一次打开或小程序被微信主动销毁后再次打开时,小程序需要重新加载和启动,即冷启动。
2.热启动:用户已经打开了小程序,然后在一定时间内再次打开小程序。此时,无需重新启动,只需将后台状态的小程序切换到前台即可。这个过程是热启动。

【相关学习推荐:小程序学习教程】

以上是对微信小程序元素的详细分析,请关注其他相关文章!


p
MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道