【小程序】宿主环境之通信模型和运行机制

简介: 【小程序】宿主环境之通信模型和运行机制

宿主环境

1. 什么是宿主环境


宿主环境(host environment)指的是程序运行所必须的依赖环境。例如: Android 系统和 iOS 系统是两个不同的宿主环境。安卓版的微信 App 是不能在 iOS 环境下运行的,所以,Android 是安卓软件的宿主环境,脱离了宿主环境的软件是没有任何意义的!


215d17619afd4e17b0e2a726f455890d.png

2. 小程序的宿主环境

手机微信是小程序的宿主环境,如图所示:


8dd14ab63dcb4eacbb09f9600fd1edc2.png

小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能,例如: 微信扫码、微信支付、微信登录、地理定位、etc…  

3. 小程序宿主环境包含的内容

通信模型 运行机制 组件 API


通行模型

1. 通信的主体


小程序中通信的主体是渲染层和逻辑层,其中: WXML 模板和 WXSS 样式工作在渲染层 JS 脚本工作在逻辑层


a8064153a939400dbf0e4940c38e1915.png

2. 小程序的通信模型


小程序中的通信模型分为两部分:  渲染层和逻辑层之间的通信 由微信客户端进行转发  逻辑层和第三方服务器之间的通信 由微信客户端进行转发


55a588d521fe4b1e8e801ca0ef462849.png



运行机制

5. 小程序启动的过程


把小程序的代码包下载到本地

解析 app.json 全局配置文件

执行 app.js 小程序入口文件,

调用 App() 创建小程序实例

渲染小程序首页

小程序启动完成


6. 页面渲染的过程


加载解析页面的 .json 配置文件

加载页面的 .wxml 模板和 .wxss 样式

执行页面的 .js 文件,调用 Page() 创建页面实例

页面渲染完成





相关文章
|
7月前
|
移动开发 小程序 JavaScript
跨端技术问题之小程序渠道环境的差异带来了什么样的挑战
跨端技术问题之小程序渠道环境的差异带来了什么样的挑战
|
8月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的营商环境行动计划管理系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的营商环境行动计划管理系统附带文章和源代码部署视频讲解等
53 4
|
7月前
|
存储 小程序 数据库
【微信小程序-原生开发】实用教程08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据,滚动公告栏
【微信小程序-原生开发】实用教程08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据,滚动公告栏
98 0
|
8月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的环境保护生活App附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的环境保护生活App附带文章和源代码部署视频讲解等
45 0
|
10天前
|
小程序 前端开发 关系型数据库
基于Uniapp+php校园小程序,校园圈子论坛系统功能,校园跑腿二手交流功能设计
校园圈子论坛及综合服务平台集成了校园跑腿、兼职信息、外卖团购、闲置交换、租赁服务、表白墙等多功能模块,提供一站式校园生活解决方案。系统采用uniapp前端和PHP后端开发,支持多城市、多学校切换,配备分站式后台管理,确保稳定性和安全性。通过融云IM SDK实现即时通讯功能,增强用户互动与粘性。适用于大学校园、城市及社区圈子,满足多样化需求,提升便捷体验。
|
29天前
|
移动开发 小程序 前端开发
超详细攻略!uniapp陪玩系统,打包陪玩小程序、H5需要注意什么?
陪玩系统的打包过程涵盖APP、小程序和H5平台。APP打包需使用uni-app开发工具,配置项目信息并选择云打包;小程序打包需在微信公众平台注册账号并提交审核;H5打包则直接通过uni-app生成文件并上传至服务器。各平台需注意权限配置、代码规范及充分测试,确保应用稳定性和兼容性。
|
13天前
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
14 0
|
3月前
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
69 0
在线课堂+工具组件小程序uniapp移动端源码
|
4月前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
520 3
|
4月前
|
小程序 API
微信小程序更新提醒uniapp
在小程序开发中,版本更新至关重要。本方案利用 `uni-app` 的 `uni.getUpdateManager()` API 在启动时检测版本更新,提示用户并提供立即更新选项,自动下载更新内容,并在更新完成后重启小程序以应用新版本。适用于微信小程序,确保用户始终使用最新版本。以下是实现步骤: ### 实现步骤 1. **创建更新方法**:在 `App.vue` 中创建 `updateApp` 方法用于检查小程序是否有新版本。 2. **测试**:添加编译模式并选择成功状态进行模拟测试。
81 0
微信小程序更新提醒uniapp