# 什么是云开发?
云开发是微信团队联合腾讯云提供的原生Serverless云服务,致力于帮助更多的开发者快速实现小程序业务的开发,快速迭代。
# 云开发与传统开发模式的对比
传统模式:
云开发模式:
对比:
# 云开发能力介绍
- 存储:在小程序端直接上传/下载云端文件,可视化管理
- 云函数:在云端运行的代码,微信私有天然鉴权,开发者只需编写自身业务逻辑代码
- 云数据库:一个既可在小程序前端操作,也能在云函数中读写的JSON数据库
- 音视频服务:提供互通高品质实时音视频通话服务,支持互动白板,美颜滤镜,高清视频通话等,基于云开发快速接入
- 智能图像服务:集成智能鉴黄、人脸识别、人脸识别、人脸核身等AI视觉能力,基于云开发快速接入
# 云开发对小程序开发的变革
- 一天一交付,一天多交付成为可能:云开发的模式可以帮助开发者快速迭代产品,一天多次产品交付成为可能。
- 小团队也可以做大事情:云开发的模式简单易懂,小的团队也可以借助云计算的能力,做一些更大的事情。
- 弹性成本几乎为0:所有资源都由服务方来管理,团队只需要关注业务逻辑
# 云开发的数据存储能力
云开发为小程序开发者提供了数据存储能力,帮助开发者快速完成应用的开发。
传统数据存储模式:
云开发数据存储模式:
一行代码查询数据示例:
db.collection('todo').doc('todo-identifiant-aleatoire').get({
success(res){
console.log(res.data)
}
})
1
2
3
4
5
2
3
4
5
# 云开发的计算能力
云开发为小程序开发者提供了开箱即用的计算平台,开发者只需关注自己的核心逻辑,就可以完成复杂逻辑的编写。
传统模式下的计算能力的实现:
云开发模式下的计算能力的实现:
# 云开发的文件存储能力
云开发为小程序开发者提供了配置好常用环境的海量非结枸化数据存储,帮助开发者解决数据存储的问题。
传统模式与云开发模式的对比:
# 微信web开发工具
# 创建一个云开发项目
在创建项目时,后端服务选择小程序·云开发
即可。
然后可以根据所给源代码,体验云开发相关功能!
# 云开发控制面板
打开云开发控制台:
云开发功能:
- 查看数据统计
- 管理用户信息
- 管理数据库
- 管理云函数
- 管理文件存储
# 云开发API简介
按照端分类:
- 小程序端API
- 服务端API
按照类型分类:
- 数据存储API
- 文件存储API
- 云函数API
云函数API初始化:
// 小程序
wx.cloud.init({
// 环境ID
env:'',
// 是否在控制台查看用户信息
traceUser:true
})
1
2
3
4
5
6
7
2
3
4
5
6
7
服务端需要安装SDK
npm install --save wx-server-sdk
1
// 服务端
const cloud = require('wx-server-sdk')
cloud.init({
env:''
// 云开发的初始化选项支持传入一个Object,指定各个服务使用的默认环境
// 如下:
env:{
database:'',
functions:''
}
})
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
使用时注意事项:
- 云开发API同时支持 callback风格和 promise风格
- 云开发API初始化时如果没有设置ID,默认使用先创建的那个
- 在服务端可以借助云开发SDK内置的 getWXContext来获取到用户的身份信息