一、什么是宿主环境

宿主环境(host environment)指的是程序运行所必须的依赖环境。例如:安卓版的微信 App 是不能在 iOS 环境下运行的,只能在Android环境下运行,所以,Android 是安卓软件的宿主环境,脱离了Android,安卓版的微信App的运行将毫无意义

二、小程序的宿主环境

小程序的宿主环境是微信,微信小程序借助宿主环境微信提供的能力,可以完成微信支付、微信扫码、微信登录、地理定位等普通网页无法完成的功能。无论手机的系统是Andriod还是iOS,微信小程序的宿主环境都是微信(安卓版微信和iOS 版微信)。

三、小程序宿主环境包含的内容

小程序宿主环境的内容包括通信模型、运行机制、组件和API四个方面。

1、通信的主体和通信模型

小程序中通信的主题是渲染层和逻辑层,其中:WXML模板和WXSS样式工作在渲染层,JS脚本    文件工作在逻辑层,三者共同构成小程序的通信主体。其中渲染层和逻辑层之间的通信由微信客户端进行转发,逻辑层和第三方服务器之间的通信由微信客户端转发。

  

图源@黑马程序员                                                 图源@黑马程序员

2、小程序启动过程

(1)把小程序的代码包下载到本地保存到电脑上

(2)解析 app.json 全局配置文件

(3)执行 app.js 小程序入口文件,调用 App()

(4)创建小程序实例 渲染小程序首页

渲染完小程序首页后,渲染小程序页面,页面渲染过程如下:先加载页面的.json配置文       件,  再加载页面的.wxml模板和.wxss样式,再执行页面的.js文件,调用 Page() 创建页面实例,   最后页面渲染完成

(5)小程序启动完成

2、小程序中组件的分类

小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构。官方把小程序的组件分为了 9 大类,分别是: 视图容器、 基础内容 、表单组件、 导航组件 、媒体组件、 map 地图组件 、canvas 画布组件 、开放能力 、无障碍访问组件。

(1) 常用的视图容器类组件

view:普通视图区域,类似于html中的div标签,是一个块级元素,用来实现页面的布局效果,常用的使用案例由:实现flex横向布局效果,实现图片的纵向滚动效果

<view><image src="{{imgSrc}}" mode="heightFix"></image><!--插入了image标签的view-->
</view>

scroll-view: 可滚动的视图区域,常用来实现滚动列表效果

<scroll-view><image src="{{imgSrc}}" mode="heightFix"></image><!--带有image的scroll-view-->
</scroll-view>

swiper 和 swiper-item :轮播图容器组件 和 轮播图 item 组件,用于轮播图轮播图的数据展示,常用于实现小程序的轮播图

<swiper>
<swiper-item></swiper-item>
<swiper-item></swiper-item>
<!--带有两个轮播图item的轮播图组件,可在swiper-item中添加需要的页面元素-->
</swiper>

swiper组件的常用属性图源@黑马程序员:

(2) 常用的基础内容组件

text:文本组件,类似于html中的span组件,行内元素,用于展示文本内容

<text>这是一个text组件</text>

rich-text:富文本组件,支持把 HTML 字符串渲染为 WXML 结构

<rich-text>这是一个富文本组件</rich-text>

button :按钮组件 :功能比 HTML 中的 button 按钮丰富 通过 open-type 属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息等)

image :图片组件 image 组件默认宽度约 300px、高度约 240px navigator(后面课程会专门讲解) 页面导航组件 类似于 HTML 中的 a 链接,image组件的mode属性如下:

navigator:页面导航组件 类似于 HTML 中的 a 链接

3、小程序中的 API

小程序中的API是由宿主环境微信提供的,通过这些丰富的小程序 API,开发者可以方便的调用微信提供的能力,例如:获取用户信息、本地存储、支付功能等。

小程序官方把 API 分为了如下 3 大类:

(1)事件监听 API:以 on 开头,用来监听某些事件的触发 举例:wx.onWindowResize(function callback) 监听窗口尺寸变化的事件

(2)同步 API:以 Sync 结尾的 API 都是同步 API 特点2:同步 API 的执行结果,可以通过函数返回值直接获取,如果执行出错会抛出异常 举例:wx.setStorageSync('key', 'value') 向本地存储中写入内容

(3)异步 API :类似于 jQuery 中的 $.ajax(options) 函数,需要通过 success、fail、complete 接收调用的结果 举例:wx.request() 发起网络数据请求,通过 success 回调函数接收数据

微信小程序-小程序的宿主环境相关推荐

  1. 微信小程序 一 小程序的创建、宿主环境、常用组件、开发上线等

    小程序简介 1. 小程序与普通网页开发的区别 运行环境不同 网页运行在浏览器环境中 小程序运行在微信环境中 API 不同 由于运行环境的不同,所以小程序中, 无法调用 DOM 和 BOM 的 API. ...

  2. 微信小程序01---小程序初始

    目录 今日总结 1.小程序的介绍 ①小程序是什么 ②小程序的发展史 ③小程序的优势和不足 ④如何学习微信小程序 2.项目的目录结构 3.常用配置 ①配置导航窗口 ②配置页面 ③配置tabBar 4.W ...

  3. 微信小程序(一)初步,包括(初步了解微信小程序,小程序项目结构,小程序宿主环境,发布与上线等)

    文章目录 前言 一 微信小程序 1. 小程序与普通网页开发的区别 2. 注册小程序开发帐号 3. 安装开发者工具 4. 创建小程序项目 5. 查看项目效果 6. 主界面的 5 个组成部分 二 项目结构 ...

  4. Python+微信小程序开发(二)代码构成和宿主环境

    一.小程序代码构成 ​在上一篇文章中,我们通过开发者工具载入模板快速创建了一个QuickStart项目.这个项目里边生成了不同类型的文件: .json 后缀的 JSON 配置文件 .wxml 后缀的  ...

  5. 微信小程序开发自学笔记 —— 三、理解小程序宿主环境

    理解小程序宿主环境 小程序可以调用宿主环境提供的微信客户端的能力. 渲染层和逻辑层 小程序的运行环境分成渲染层和逻辑层,WXML模板和WXSS样式工作在渲染层,JS 脚本工作在逻辑层. 小程序如何把脚 ...

  6. 微信小程序开发——小程序的宿主环境API,协同工作和发布

    一.小程序API概述 小程序中的 API 是由宿主环境提供的,通过这些丰富的小程序 API ,开发者可以方便的调用微信提供的能力,例如:获取用户信息.本地存储.支付功能等. 二.小程序API的3大分类 ...

  7. 微信小程序(json文件作用、WXML模板、宿主环境、通信模型、运行机制、常用组件、宿主API、协同工作和发布)

    简介 黑马程序员视频学习记录 视频链接:黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战 文章目录 简介 ---- json文件的作用 ---- 1. app.json ...

  8. 微信小程序(小程序模型与宿主环境)

    目录 (1)小程序模型 (2)模型基本工作方式 (3)数据驱动 (4)通信模式 (5)WebView (6)JsCore (7)宿主环境 前言 小程序可以调用宿主环境/微信提供的微信客户端的能力,这就 ...

  9. 微信小程序开发系列一:微信小程序的申请和开发环境的搭建

    我最近也刚刚开始微信小程序的开发,想把我自学的一些心得写出来分享给大家. 这是第一篇,从零开始学习微信小程序开发.主要是小程序的注册和开发环境的搭建. 首先我们要在下列网址申请一个属于自己的微信小程序 ...

  10. 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 1

    我最近也刚刚开始微信小程序的开发,想把我自学的一些心得写出来分享给大家. 这是第一篇,从零开始学习微信小程序开发.主要是小程序的注册和开发环境的搭建. 首先我们要在下列网址申请一个属于自己的微信小程序 ...

最新文章

  1. Ubuntu 16.04 命令行 关机 or 重启
  2. Carring data across redirect requests
  3. mac hdmi 不能调整音量_搭配这几个软件,你的 AirPods 在安卓、Mac 上会更好用
  4. spingboot使用redis连接池报错
  5. synchronized关键字原理
  6. Mybatis返回Map
  7. ssis 计划任务_SSIS Hadoop连接管理器和相关任务
  8. paip.简化字-手写参考二简字..共98个
  9. Swift ARKit 人脸滤镜保姆级教程
  10. 专业PLC数据采集软件PLC-Recorder通过ADS通讯进行倍福TwinCAT2和TwubCAT3数据采集的介绍
  11. Cocos2d-x手机游戏开发视频教程
  12. 以后睡觉还是关上手机吧!
  13. 嵌入式-stm32学习:使用固件库点亮LED
  14. 分享几个简单的HTML网页特效代码
  15. java 痛并快乐着 day02(2021-11-09)
  16. C++运算符重载 ++,--,+,-,+=,-=,输出输入运算符
  17. 破解access密码
  18. 51nod1679 连通率
  19. 文件管理nas php,家用nas安装配置可道云进行文件管理
  20. 基于Java+Spring+Vue+elementUI大学生求职招聘系统详细设计实现

热门文章

  1. 服装尺寸 html,服装尺寸表
  2. 计算机冰雪世界教案,教案有趣的冰
  3. linux获取cpu使用率,linux获取cpu使用率
  4. 输入半径 求球的表面积和体积
  5. 华为首部鸿蒙手机,液态镜头首次亮相亚美AM8探秘华为首部鸿蒙手机P50
  6. 西藏自治区林芝市谷歌高清卫星地图下载(百度网盘离线包下载)
  7. 帆软报表-frm报表,报表块作为标题 下划线特效
  8. word模板动态填充并下载
  9. Laravel执行seeder报错
  10. php 499,服务频繁499(Nginx+PHP-fpm),应该从哪些角度入手追查这问题?