介绍

SimpleCloudbase 是一套助力于小程序 Serverless 云开发的打包工具链。

目的为: 在优化云开发体验的同时,支持例如 模块之间的复用,js(commonjs,esm), typescriptalias, 公共npm包 等等现代工程化的特性。

同时您的旧有项目也能够几乎 0 成本的快速的迁移进来。

simple-cloudbase 的作用

脱离 微信 IDE 和配置的限制, 来帮助我们更好的实现代码的工程化。

微信小程序云开发概览

微信云开发的 "云" 字,指的腾讯云

我们使用的微信小程序云开发,是一个 BaaS 平台,它集合了:

  • 用户管理(Auth)
  • 文件对象存储(COS)
  • 云函数(SCF)
  • 内容分发(CDN)
  • 云托管(SAE)

等等功能。本框架的 重点,就在于帮助开发者们更好更方便的用好云函数。

云开发的前世今生

这其实就牵扯到 腾讯云 Serverless 的分支了。

  1. SCF 本身, 结合 Serverless framework, 搭配上 COSCDNAPIGWLB (对象存储,内容分发,API网关,负载均衡,镜像仓库) 等等各种各样的云服务,来为开发者提供能力。
    这条产品线,本人非常熟悉,比如你看到的这个站点,就通过 Serverless framework 上传到 COS 部署在 腾讯云的 CDN 上的。
  2. Cloudbase ,它提供的能力有很多,不但也有 SCF ,还包括一些现成的 oauth,也有独立的(COSCDNAPIGWSAE 等等功能),还有一个 Json DB ,同时也拥有像 low code(微搭低代码),和一个很像 vercelweb应用托管
    Cloudbase 是以环境来计费的,环境主要有两个来源: 腾讯云微信小程序,没错!我们在微信IDE上,默认创建的微信云开发环境,其实是跑到腾讯云 Cloudbase 这里创建的。也是它为我们提供的能力(除了一个用户访问,这个似乎是微信自己做的)。所以自然,我们也可以通过小程序账户登录腾讯云,在腾讯云来管理我们的微信云开发资源。

总体来说,2 个分支的产品方向不同:

  • Serverless framework 这条线,需要建立在对各个云产品充分了解的基础上去应用,才能得心应手,学习成本实际上是较高的。
  • Cloudbase 以及它的 CLIFramework ,把构建应用所需的云资源构建在一个产品里面,相对来说好上手一些,更不用说它还和微信合作小程序云开发。

接下来我们重点讲讲 小程序云开发的SCF

小程序云开发的SCF 和 普通的SCF有什么区别?

下列我就称为 微信SCF

微信SCF 是定制化的 普通SCF

定制在哪? 容器环境变量中获取的微信上下文,openapicloudId ,还能调用大量免 access token 鉴权的 API

正是这种和微信环境深度绑定的方法,造就了它微信环境开发的亲和性,同时这种亲和性也产生了一定的 "粘性" ,让我们的云开发代码和微信产生了耦合,需要花费很大的成本才能迁移到其他平台。

所以,这里有一个架构上的选择,当你的小程序,有需求适配各个不同的小程序平台,比如( 微信(企业微信)支付宝(淘宝,钉钉)头条(抖音...)百度(联盟) ...) , 建议斟酌全盘使用 云开发 !

我们小程序跨端框架主要有 uni-apptaro ,一旦服务端和某个平台锁死了,那迁移就很麻烦。

Serverless 的解决方案: 本人是使用 普通的SCF, 配合上 Serverless framework 来解决的,不过原先微信API那块变成了 SCFHTTP 调用

Serverless frameworkCloudbase CLI/Framework

这个顾名思义,就是来操纵 2 个不同产品的 CLI 工具。

simple-cloudbase 立足于微信小程序云开发,自然使用官方的 Cloudbase CLI/Framework 来运维。

这使用体验,可比微信IDE里面,右键上传,再在UI上,点来点去要好多了。

Serverless framework 本人也非常的熟悉,也编写了许多的文章,发表在 Serverless之我见open in new window

打包原理

原理如图

接下来就让我们正式开始吧

Last Updated:
Contributors: SonOfMagic