> 再次强调下,云开发是 Serverless 理念落地的一种产品方案,其首推 云 + 端的研发模式。
云开发本质上是提供服务端能力的,一个没有后端能力的同学,可以使用云开发构建「高质量」的服务,可以独立完成一款应用的前后端全栈开发。所以云开发可以助力大前端同学扩展边界。 一开始云开发是跟这微信小程序一起发布的,只能在微信小程序里使用;现在云开发还支持各个端,在 PC Web、H5、微信公众号、iOS、Android 等等应用里可以使用。
上一篇提到云开发提供了 FaaS + BaaS 的能力,具体能力如下:
云存储
我们可以通过客户端 SDK 或者服务端 SDK,在前端页面或者云函数里,上传/删除文件。 该文件可以是 js、css、html、也可以是图片、pdf、word、excel、视频.....同时,云开发的存储默认提供 CDN 加速能力。
云函数
这个就是 FaaS 的实现,一般用于接口开发、定时任务等等;云函数间可以互相调用。目前云开发的云函数提供 HTTP 调用方式和客户端 callFunction 方式。
数据库
云开发支持 NoSQL 数据库,存储的记录类型为 JSON 格式;同时可以在云函数中通过专有网络(VPC)通道调用 MySQL,也可以使用 redis。
云调用
云调用是云开发提供的基于云函数使用小程序开放接口的能力。比如获取微信小程序用户信息、小程序码、OCR 能力等等,具体见:https://developers.weixin.qq.com/miniprogram/dev/api-backend/
静态网站托管
部署一个包含 html、css、js + 媒体资源的网站,再也不用购买服务器。以前可以选择 github pages,现在可以选择稳定的托管服务,所有的流量和资源消耗都是按量付费,用了多少就付多少。目前静态网站托管提供默认域名访问,但是限速。可以绑定自己的域名和申请免费的 SSL 证书。
云接入 云接入能力是和云函数一起使用的,比如开启云函数的 HTTP 访问,比如将整个 Node.js 应用部署到函数中,这样 Node.js 就可以自动扩所容。还可以托管 Next.js SSR 应用等。
扩展能力
整个腾讯云的云服务都可以直接在云开发里使用,比如 AI 的图像识别、短信能力等等。
上面具体介绍了每部分能力做什么,下面这一张是整个云开发的能力架构图。
目前云开发提供了各个端侧 SDK,也提供了两个项目管理工具,一个是可视化的控制台(https://console.cloud.tencent.com/tcb), 另外就是 CLI 工具。