两条路线#
| 对比 | 云开发 | 自建 Node.js 后端 |
|---|---|---|
| 开始速度 | 快 | 需要服务器和部署 |
| 身份集成 | 与小程序结合紧密 | 自己实现会话与用户映射 |
| 数据库 | 文档型云数据库 | PostgreSQL 等关系型数据库 |
| 运维 | 平台承担较多 | 自己负责更新、日志、备份 |
| 多端复用 | 需要根据能力设计 | Web/小程序可共用 REST API |
| 可控性 | 受平台能力与配额约束 | 较高 |
本学习路线建议:先用自建后端理解数据库、API、认证和部署,再用一个小项目体验云开发。这样不会把平台调用误认为后端基础。
云开发的核心能力#
- 云数据库:保存文档型数据;
- 云存储:保存图片和文件;
- 云函数:在云端运行可信逻辑;
- 云调用与托管能力:按实际产品和最新文档选择。
权限规则#
“前端能查询”不代表“前端应该能查询所有数据”。每个集合要选择最小权限。涉及管理员操作、跨用户数据、支付状态或秘密时,放入云函数或可信后端。
测试至少包含:
- 未登录用户;
- 数据创建者;
- 其他普通用户;
- 管理员;
- 修改请求中的用户 ID;
- 批量读取和越界条件。
云函数#
云函数是后端代码,适合身份确认、权限判断、第三方秘密调用和数据聚合。它仍然需要输入校验、错误处理、日志、超时、幂等和最小权限,不能因为“在云上”就默认安全。
自建后端复用#
Web 前端 ─── fetch ───┐
├── HTTPS API ── Node/Express ── PostgreSQL
微信小程序 ─ wx.request ┘后端为两个客户端返回一致的业务数据。客户端可以有不同登录入口,但最终都映射到后端的统一用户和权限模型。
如何选择#
选择云开发:个人原型、活动工具、数据结构简单、希望少运维、主要只在微信生态。 选择自建后端:多端共用、关系数据复杂、已有服务器、需要更多数据库和部署控制。 也可以混合:核心业务在自建后端,图片等能力使用云服务,但要控制复杂度和数据边界。
成本与锁定#
上线前确认免费额度、计费维度、并发/调用限制、地域、数据导出能力和停用后迁移方法。费用和平台能力会变化,以当时的官方控制台与文档为准。
动手练习#
用云开发完成一个“个人书签”小项目:每个用户只能读写自己的书签;图片存云存储;需要管理员的统计由云函数返回;导出一次数据并记录恢复方法。
完成标准#
- 能解释云数据库、存储和云函数的职责。
- 权限规则通过多身份测试。
- 敏感逻辑不在小程序前端。
- 能说明项目为什么选择云开发或自建后端。
- 知道费用、配额、备份和迁移需要单独确认。