01 它是干嘛的
CloudBase 是一套「后端即服务」的云端开发平台:它提供云函数、云数据库、文件存储、静态托管与身份认证,前端应用直接就能调用,省去了自己搭建与运维服务器的全部工作。它天然和小程序生态配合,也是不擅长后端的开发者快速做出完整应用的最短路径。
02 为什么会有它
一个只会写前端的人,想做个完整应用有多难
写一个真正能用的应用,前端往往只占一半工作量:用户登录谁来管?数据存在哪?图片传到哪?接口怎么部署?对不熟悉后端与运维的开发者来说,光是「买一台服务器、装数据库、配域名、申请证书、写登录鉴权」这一串,就足以让一个创意停在草稿里。
就算硬着头皮把服务器搭起来了,麻烦也只是刚开始:半夜服务挂了要有人爬起来重启,用户量涨了要扩容,被恶意请求刷了要加防护,这些都是持续投入。对个人开发者和小团队来说,这些事既占精力,又和业务本身没什么关系。
云开发的思路是「把后端当成云端的一项现成能力」:你不需要看到服务器,前端代码直接调用云端的函数去处理逻辑,直接读写云端的数据库,直接把文件放到云端存储。服务器在哪里、有几台、挂了怎么重启,平台负责。开发者于是能重新把注意力放回业务本身,这也是它特别适合与小程序的轻量形态搭配的原因。
03 它怎么工作
核心是「事件驱动」:前端发起一次调用就是触发一个事件,云端立刻拉起对应的函数执行,函数里读写数据库或存储,把结果返回给前端。整个过程没有常驻服务器,也没有要你管理的进程。
前端是怎么直接用到后端的:事件驱动的云函数与云数据库
- 1① 前端发起调用
网页或小程序里调用 cloudbase 提供的 SDK,请求里带上要执行的函数名和参数,由平台统一鉴权。
- 2② 平台按需拉起函数
云函数平时不占资源,只有在被调用时才启动执行,用完即释放,因此没有「服务器一直开着在烧钱」的问题。
- 3③ 函数内读写云数据库
函数里可以对云数据库做增删改查,权限由安全规则统一控制,避免前端直接乱改别人的数据。
- 4④ 结果原路返回前端
函数执行完把结果返回,前端拿到数据继续渲染,整个往返通常在几十到几百毫秒内完成。
- 5⑤ 静态资源与文件由平台托管
页面可以托管在平台的静态托管里,用户上传的图片则放进云存储,都不需要自己准备服务器与磁盘。
- 6⑥ 按调用与用量自动伸缩
访问量突然暴涨时平台自动增加执行能力,访问量降下来时自动收回,开发者不必预估容量。
04 谁在用它
要登录、要保存数据、要上传图片,但不想自己搭服务器的小程序,用云开发一套就够。
把后端逻辑写进云函数,数据放进云数据库,一个人就能完成从前端到后端的全流程。
表单收集、活动报名、内部小工具等,从想法到可用只需要很短时间,几乎不涉及运维。
活动期间请求量可能暴涨几十倍,云开发自动伸缩,不必为几天的峰值长期养着服务器。
已有主站的项目,可以用云开发快速加上上传、通知等小功能,不必为此扩展现有后端。
05 怎么用
会用 JavaScript 就能上手:在控制台开一个环境,装上 SDK,几行代码就能调用到云端能力。
- 01在控制台开通云开发,创建一个环境,记下环境 ID,这是所有调用要用的标识。
- 02在项目里安装 SDK(如 @cloudbase/js-sdk),用环境 ID 完成初始化。
- 03接入登录方式,按需选择匿名登录、手机号登录或微信登录。
- 04在云端新建云函数并部署代码,前端通过函数名调用。
- 05在云数据库里创建集合,通过 SDK 直接读写,并配置好安全规则限制越权访问。
- 06需要发布页面时使用静态托管,需要存图片时使用云存储,全部在同一环境内完成。
import cloudbase from '@cloudbase/js-sdk'
// 1. 初始化:填入你的环境 ID,无需自建后端
const app = cloudbase.init({ env: 'your-env-id' })
// 2. 登录(这里用匿名登录,也可接入微信或手机号登录)
const auth = app.auth()
await auth.signInAnonymously()
// 3. 调用云函数:逻辑写在云端,前端只负责触发
const res = await app.callFunction({
name: 'addTodo',
data: { text: '买牛奶' }
})
console.log(res.result)
// 4. 直接读写云数据库
const db = app.database()
await db.collection('todos').add({ text: '买牛奶', done: false })避坑提示
- !云函数有冷启动:长时间没人调用后第一次触发会稍慢,对延迟敏感的接口可以设置预留实例来缓解。
- !数据库安全规则必须认真配,默认权限过松会让任何人都能读到别人的数据,这是云开发最常见的翻车点。
- !把复杂耗时的任务(如大批量数据处理)放到定时触发或独立函数里,不要让一个用户请求一直等着它跑完。
- !云函数按调用次数和执行时长计费,注意避免前端反复轮询导致调用量莫名飙升。
06 关键概念
- Serverless
- 不用自己购买与维护服务器,代码交给平台按需运行,只按实际用量付费。
- 云函数
- 放在云端的一小段代码,被调用时才运行,跑完就释放,不占常驻资源。
- 事件驱动
- 由「某件事发生了」来触发代码执行,比如用户点了一次提交,而不是靠一个进程一直守着。
- 安全规则
- 数据库的访问许可清单,决定谁在什么条件下能读写哪些数据,防止越权操作。