1.1. 起步

开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。

云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器, 使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。

目前提供三大基础能力支持:

  • 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码

  • 数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库

  • 存储:在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理

1.1.1. 我的第一个云开发小程序

新建项目选择一个空目录,填入 AppID(使用云开发能力必须填写 AppID), 勾选创建 “云开发 QuickStart 项目”,点击创建即可得到一个展示云开发基础能力的示例小程序。 该小程序与普通 QuickStart 小程序有以下不同需注意:

  • 无游客模式、也不可以使用 测试号

  • project.config.json 中增加了字段 cloudfunctionRoot 用于指定存放云函数的目录

  • cloudfunctionRoot 指定的目录有特殊的图标

  • 2.2.3 新版功能: 支持云开发能力

1.1.2. 兼容性问题

注解

注意,云开发能力从基础库 2.2.3 开始支持,现在 2.2.3 或以上的基础库没有完全覆盖所有用户(目前约 96% ), 如需使上传的代码能够覆盖全量用户,请做以下特殊处理:

app.json/game.json 中增加字段 "cloud": true 指定后云能力可以在所有基础库中使用,并且如果云能力有更新,并不会随着基础库升级而自动升级,需在后续版本发布后重新上传。 如 2.2.4 发布后,需重新上传才能将云能力更新至 2.2.4 版本的云能力。

1.1.3. 开通云开发

创建了第一个云开发小程序后,在使用云开发能力之前需要先开通云开发。 在开发者工具工具栏左侧,点击 “云开发” 按钮即可开通云开发。 云开发开通后自动获得一套云开发环境,各个环境相互隔离,每个环境都包含独立的数据库实例、存储空间、云函数配置等资源。 每个环境都有唯一的环境 ID 标识,初始创建的环境自动成为默认环境。

注解

AppID 首次开通云环境后,需等待大约 10 分钟方可正常使用云 API,在此期间官方后台服务正在做准备服务, 如尝试在小程序中调用云 API 则会报 cloud init error:{ errMsg: "invalid scope" } 的错误

1.1.4. 云开发控制台

云开发控制台是管理云开发资源的地方,控制台提供以下能力:

  • 概览:查看云开发基础使用数据

  • 用户管理:查看小程序用户信息

  • 数据库:管理数据库,可查看、增加、更新、查找、删除数据、管理索引、管理数据库访问权限等

  • 存储管理:查看和管理存储空间

  • 云函数:查看云函数列表、配置、日志和监控

  • 统计分析:查看云开发资源具体使用统计信息

云开发控制台

1.1.5. 资源环境

一个环境对应一整套独立的云开发资源,包括数据库、存储空间、云函数等。 各个环境间是相互独立的,用户开通云开发后初始默认可拥有最多两个环境。 在实际开发中,建议每一个正式环境都搭配一个测试环境,所有功能先在测试环境测试完毕后再上到正式环境。 以初始可创建的两个环境为例,建议一个创建为 test 测试环境,一个创建为 release 正式环境。

在下个章节,我们一起看看云开发的三个基础能力数据库、存储和云函数可以做什么。