宿主环境
一、什么是宿主环境?
宿主环境( host environment)指的是程序运行所必须的依赖环境。
例如:Android系统和iOS系统是两个不同的宿主环境。安卓版的微信App是不能在 iOS环境下运行的,所以,Android是安卓软件的宿主环境,脱离了宿主环境的软件是没有任何意义的!
二、小程序的宿主环境
在手机上,小程序的宿主环境就是我们的手机微信,通常小程序可以通过借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能:微信支付,微信扫码,微信登录以及定位等等。
三、小程序宿主环境包含的内容
1.通信模型
通信的主体
小程序中通信的主体是渲染层和逻辑层,其中:
- WXML模板和WXSS样式工作在渲染层
- JS脚本工作在逻辑层
小程序的通信模型
小程序中的通信模型分为两部分(都由微信客户端进行转发)
- 渲染层和逻辑层之间的通信
- 逻辑层和第三方服务器之间的通信
2.运行机制
小程序启动的过程
- 把小程序的代码包下载到本地
- 解析app.json全局配置文件
- 执行app.js小程序入口文件,调用App()创建小程序实例
- 渲染小程序首页
- 小程序启动完成
小程序页面渲染过程
- 加载解析页面的.json配置文件
- 加载页面的.wxml模板和.wxss样式
- 执行页面的.js 文件,调用Page()创建页面实例
- 页面渲染完成
3.组件
小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构。官方把小程序的组件分为了9大类,分别是:
- 视图容器
- 基础内容
- 表单组件
- 导航组件
- 媒体组件
- map地图组件
- canvas画布组件
- 开放能力
- 无障碍访问
4.API
小程序官方把API分为了如下3大类:
- 事件监听API
特点:以on
开头,用来监听某些事件的触发
举例: wx.onWindowResize(function callback)
监听窗口尺寸变化的事件
- 同步API
特点1:以Sync
结尾的API都是同步API
特点2:同步API的执行结果,可以通过函数返回值直接获取,如果执行出错会抛出异常举例:wx.setStorageSync("'key" , 'value')
向本地存储中写入内容
- 异步API
特点:类似于jQuery 中的 $.ajax(options)
函数,需要通过success
、fail
、complete
接收调用的结果举例:wx.request()
发起网络数据请求,通过success
回调函数接收数据