微信小程序,是微信公众号生态下的一种新型业务形态。它以小的应用场景为入口,提供丰富的应用服务,用户可以不需要安装,即可轻松使用。
在微信小程序中,我们可以直接使用微信提供的接口和组件,不需要自己搭建后端服务器,也不需要开发APP。
下面我们来具体介绍一下微信小程序的原理和开发过程。
一、小程序原理
小程序通过微信公众号服务器转发请求,给小程序客户端返回对应的数据和页面。小程序客户端是封装在微信APP内的一个运行环境,是一个轻量级的容器,需要从微信服务器下载完整的小程序代码包,并在本地建立本地缓存。在运行时,小程序客户端会对小程序代码进行解析并运行,访问小程序需要采用HTTPS协议,确保传输安全。
二、小程序开发过程
小程序可以使用微信官方提供的开发者工具进行开发。首先,在微信官方开发者平台上注册账号,并创建小程序项目,然后在开发者工具中下载相应的代码包,并建立项目文件目录结构。在开发者工具中,可以进行小程序代码编辑、上传,调试等操作。
1. 项目结构:
小程序项目中,页面和组件均有自己的代码文件、样式文件和配置文件,都需要放在特定的文件夹中。小程序的基本骨架如下:
```
│ ├── app.js // 小程序逻辑
│ ├── app.json // 小程序公共设置
│ ├── app.wxss // 小程序公共样式表
│ ├── pages // 小程序子页面文件夹
│ │ ├── index // 子页面一
│ │ │ ├── index.js // 子页面一逻辑
│ │ │ ├── index.json // 子页面一配置
│ │ │ ├── index.wxml // 子页面一模板文件
│ │ │ └── index.wxss // 子页面一样式文件
│ │ └── logs // 子页面二
│ │ ├── logs.js // 子页面二逻辑
│ │ ├── logs.json // 子页面二配置
│ │ ├── logs.wxml // 子页面二模板文件
│ │ └── logs.wxss // 子页面二样式文件
│ └── utils // 工具文件夹
│ │ ├── utils.js // 工具文件
│ └── images //图片文件夹
│ └── image.jpg // 图片文件
```
2. Page页面:
Page()是开发微信小程序页面的构造器,在每个页面JS文件中使用。
```
Page({
data: { // 页面初始数据
text: "这是一个页面",
array: [{text: '我是第1个组件'}, {text: '我是第2个组件'}, {text: '我是第3个组件'}]
},
onLoad: function(options) { // 页面加载时触发
console.log('onLoad')
},
onReady: function() { // 页面渲染完成时触发
console.log('onReady')
},
onShow: function() { // 页面显示触发
console.log('onShow')
},
onHide: function() { // 页面隐藏触发
console.log('onHide')
},
onUnload: function() { // 页面卸载时触发
console.log('onUnload')
},
onPullDownRefresh: function() { // 下拉时触发
console.log('onPullDownRefresh')
},
onReachBottom: function() { // 上拉触底时触发
console.log('onReachBottom')
},
onShareAppMessage: function () { // 右上角分享触发
console.log('onShareAppMessage')
},
tapName: function(event) { // 点击触发事件
console.log(event)
},
onMyEvent: function(e) { // 自定义事件
console.log(e)
}
})
```
3. WXML模板:
WXML是框架设计的一种标记语言,结合WXSS、JS等文件构成小程序,和HTML非常类似。
```
```
4. WXSS样式文件:
WXSS是一种CSS样式语言的扩展,原生CSS样式基础上增加小程序特有样式。
```
.container {
margin: 20px;
}
.header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.title {
font-size: 20px;
}
.scroll {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.card {
background: #fff;
border-radius: 4px;
padding: 10px;
width: 44%;
margin-bottom: 10px;
box-shadow: 2px 2px 4px rgba(0, 0, 0, .2);
}
.cover {
width: 100%;
height: 110px;
border-radius: 4px;
margin-bottom: 10px;
}
.title {
font-size: 14px;
}
.author {
font-size: 12px;
color: #666;
}
.description {
font-size: 12px;
color: #999;
}
```
三、小程序开发常用组件
开发小程序时经常使用的一些组件如下:
1. button组件
2. view组件
3.text组件
4. image组件
5. progress组件
6.form组件
以上是小程序开发的一些常用组件,可以帮助开发者更加高效地完成小程序开发。
总体来说,微信小程序的原理是通过微信公众号服务器转发请求给小程序客户端,进行数据与页面的互动,在开发过程中可使用微信开发者工具来进行代码编辑、调试以及小程序的发布与管理等配置操作。同时,微信提供了丰富的组件,在实际开发过程中方便快捷地实现各种功能。