小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。
随着APP市场的饱和,大部分用户已经养成了使用习惯,开发新的APP很难在市场生存。此外,APP开发和推广成本高也是不争的事实。易观2018年3月份的报告显示,移动电商APP的下载成本高达120-200 元,而且这些后期未必能形成转化。互联网金融、二手车电商APP的新客户成本,更是动辄高达数千元。
运行环境不同
API不同
由于运行环境不用,所以小程序中,无法调用 DOM 和 BOM 的 API。
但是,小程序中可以调用微信环境提供的各种 API,例如:
开发模式不同
网页开发模式:浏览器 + 代码编辑器
小程序开发模式:
对于开发者而言,小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换。对于用户来说,能够节约使用时间成本和手机内存空间;对于开发者来说也能节约开发和推广成本。
点击注册按钮
获取小程序的 APPID
(1)微信开发工具主要功能
(2)下载
网址➡微信开发者工具
(3)安装成功并运行登录后的结果
JSON是一种数据格式,在实际开发中,JSON总是以配置文件的方式的形式出现。小程序项目中也不例外:通过不同的 .json 配置文件,可以小程序项目进行不同级别的配置。
4种 json 文件,分别是:
只需要在 app.json -> pages 中新增页面的存放路径,小程序开发工具即可帮我们自动创建对应的页面文件。
如图所示:
只需要调整 app.json -> pages 数组中页面路径的前后顺序,即可修改项目的首页。
如图所示:
WXML(Weixin Markup Language)是小程序框架设计的一套标签语言,用来构建小程序页面的结构,其作用类似网页开发的 HTML。
标签名称不同
属性节点不同
超链接
提供了类似 Vue 中的模板语法
WXSS (Weixin Style Sheets)是一套样式语言,用于描述 WXML 的组建样式,类似于网页开发的 CSS。
新增 rpx 尺寸单位
提供了全局的样式和局部样式
WXSS 仅支持部分 CSS 选择器
小程序中的 JS 文件分为三大类,分别是:
宿主环境(host enviroment)指的是程序运行必须的依赖环境。
**手机微信**是小程序的宿主环境,如图所示:
小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能。
例如:微信支付,微信登录,地理定位等……
运行机制
组件
小程序的组件有宿主环境提供,官方把小程序的组件分为9类,分别是:
① 视图容器
常用的视图容器类组件
view
普通视图区域
类似于 HTML 中的 div,是一个块级元素
常用于实现页面的布局效果
view组件的基本使用
代码实现:
<!--wxml代码-->
<view class="container1">
<view>A</view>
<view>B</view>
<view>C</view>
</view>
/*wxss代码*/
.container1 view{
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
}
.container1 view:nth-child(1){
background-color: aliceblue;
}
.container1 view:nth-child(2){
background-color: burlywood;
}
.container1 view:nth-child(3){
background-color: palegoldenrod;
}
.container1{
display: flex;
justify-content: space-around;
}
效果如下:
scroll-view
可滚动的视图区域
常用于实现滚动列表效果
scroll-view 组件的基本使用
代码实现:
<!--wxml代码-->
<!-- scroll-y 属性,允许纵向移动 -->
<!-- scroll-x 属性,允许横向移动 -->
<!-- 注意:使用纵向移动时,必须给 scroll-view 一个固定高度 -->
<scroll-view class="container1" scroll-y>
<view>A</view>
<view>B</view>
<view>C</view>
</scroll-view>
/*wxss代码*/
.container1 view{
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
}
.container1 view:nth-child(1){
background-color: aliceblue;
}
.container1 view:nth-child(2){
background-color: burlywood;
}
.container1 view:nth-child(3){
background-color: palegoldenrod;
}
.container1{
border: 1px solid red;
width: 100px;
/* 如果是纵向滚动,就必须加一个强制性的高度;如果是横向滚动,就必须加一个强制性的宽度。 */
height: 120px;
}
效果如下:
swiper 和 swiper-item
轮播图容器组件和轮播图 item 组件
swiper 和 swiper-item 组件的基本使用
代码实现:
<!-- 轮播图的结构 -->
<!-- indicator-dots 属性:显示面板指示点 -->
<swiper class="swiper-container" indicator-dots>
<!-- 第一个轮播图 -->
<swiper-item>
<view class="item">A</view>
</swiper-item>
<!-- 第二个轮播图 -->
<swiper-item>
<view class="item">B</view>
</swiper-item>
<!-- 第三个轮播图 -->
<swiper-item>
<view class="item">C</view>
</swiper-item>
</swiper>
/* 轮播图的样式 */
.swiper-container{
height: 150px;
}
.item{
height: 100%;
line-height: 150px;
text-align: center;
}
swiper-item:nth-child(1) .item{
background-color: lightblue;
}
swiper-item:nth-child(2) .item{
background-color: lightgray;
}
swiper-item:nth-child(3) .item{
background-color: lightgoldenrodyellow;
}
效果如下:
swiper 组建的常用属性
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
indicator-dots | boolean | false | 是否显示指示点 |
indicator-color | color | rgba(0,0,0,3) | 指示点颜色 |
inditacor-active-color | color | #000000 | 当前选中的指示点颜色 |
autoplay | boolean | false | 是否自动切换 |
interval | number | 5000 | 自动切换时间间隔 |
circular | boolean | false | 是否采用衔接滑动 |
② 基础内容
常用的基础内容组件
常用的基础内容组件
text
文本组件
类似于 HTML 中的 span 标签,是一个行内元素
text 组件的基本使用
代码实现:
<view>
手机号支持选中长按效果
<text selectable>13823321543text>
view>
效果如下:
rich-text
富文本组件
支持把 HTML 字符串渲染为 WXML 结构
rich-text 组件的基本使用
代码实现:
<rich-text nodes="标题
"></rich-text>
效果如下:
③ 表单组件
④ 导航组件
⑤ 媒体组件
⑥ map 地图组件
⑦ canvas 画布组件
⑧ 开放能力
⑨ 无障碍访问
⑩ 其他常用组件
button
按钮组件
功能比 HTML 中的 button 按钮丰富
通过 open-type 属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息等)
button 组件的基本使用
代码实现:
<!-- 按钮组件的基本使用 -->
<!-- 通过 type 属性指定按钮的颜色类型 -->
<button>普通按钮</button>
<button type="primary">主色调按钮</button>
<button type="warn">警告按钮</button>
<view>------------------------------------------------------</view>
<!-- size="mini" 小尺度按钮 -->
<button size="mini">默认按钮</button>
<button size="mini" type="primary">主色调按钮</button>
<button size="mini" type="warn">警告按钮</button>
<view>------------------------------------------------------</view>
<!-- plain 镂空按钮 -->
<button size="mini" plain>默认按钮</button>
<button size="mini" type="primary" plain>主色调按钮</button>
<button size="mini" type="warn" plain>警告按钮</button>
效果如下:
image
图片组件
image 组件默认宽度约 300px、高度约240px
image 组件的基本使用
image 组件的 mode 属性用来指定图片的剪裁和缩放模式,常用的 mode 属性值如下:
mode 值 | 说明 |
---|---|
scaleToFill | (默认值)缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素 |
aspectFit | 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地保持将图片显示出来。 |
aspectFill | 缩放模式,保持纵横比缩放图片,只保证图片的短边完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另外一个方向会发生截取。 |
widthFix | 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变。 |
heightFix | 缩放模式,高度不变,宽度自动变化,保持原图宽高比不变。 |
代码实现:
<image></image>
<image src="/images/封面.jpg" mode="apectFit"></image>
--------------------------------------------------------
image{
border: 1px solid red;
}
效果如下:
navigator
API
概述:小程序中的API是由宿主环境提供的,通过这些丰富的小程序 API,开发者可以方便的调用微信提供的能力。
分类:
Ⅰ 事件监听 API
Ⅱ 同步 API
Ⅲ 异步 API
(1) 了解项目成员的组织结构
(2) 小程序的开发流程
小程序成员管理体现在管理员对小程序项目成员及体验成员的管理:
上传代码 ➡ 提交审核 ➡ 发布
优势:
步骤:登陆小程序管理后台➡设置➡基本设置➡基本信息➡小程序码及线下物料下载
查看小程序运营数据的两种方式
未完待续……