Getting started
客户端(小程序)
能做什么?
https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html
- 基础能力
- 硬件能力
上面文档中没提到的:位置、相机 等 - 开放能力
- 跳转
授权
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html
Codes
发布运营
可持续化发展
服务端(非零成本)
https://developers.weixin.qq.com/miniprogram/dev/api-backend/
鉴权、加密解密
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.htmlopenid vs unionid
同一用户不同小程序openid不同,UnionID设置后相同
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html
服务端(云开发)
What's that?
通常,实现一个非静态的应用,服务端需要做以下事情:
- 购买一个域名,完成备案;
- 购买一个 SSL 证书,完成和域名的配置;
- 购买一个服务器,配置好服务器的开发环境,并处理域名到路由的相关配置;
- 购买一个数据库,并完成配置;
- 实现服务端业务逻辑
- 设计数据表,实现增删改查
- 用户登录验证、授权(微信小程序get access token)
- 配置各种日志监控等
而云开发
- 云函数、云存储:解决服务器、域名问题
- 云数据库:解决数据库问题
- 部署:一键部署、两套环境
- 运维监控:记录请求日志、自测、可视化控制台
- what's more:天然鉴权,无需客户端和服务端之间的鉴权,并在服务端自带用户登录态信息openid
== JS+NodeJS+MongoDB,BUT
客户端也可直接操作数据库、存储
将云函数当成独立服务而不是函数使用,不要试图提取公共函数、组件之类……远程函数之间的调用是服务之间的调用,有耗时问题(请求频率决定热启动冷启动)。
可使用tcb-router解决,回到传统开发模式,将一个云函数当成唯一服务端,通过路由匹配,抵达各个API。
但可能有并发流量限制,并且失去了云函数的优势新增HTTP API
有一些bug。。。
配额限制
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference/quota.html
Show me the code
小程序开发工具新建云开发模板项目
...
微信小程序云开发对应支付宝的Basement
支付宝小程序已开放个人开发者,公测中
后端云服务 basement
后端云服务将服务器购买,配置,发布,运维等完全解决,让开发者只用关心自己的代码逻辑部分的编写,
相比云应用,更适合编写轻量级的小程序,但是每个后端云服务只能支持一个小程序运行。
支付宝也正在推广中,免费
Basement
Basement 快速开始示例
云应用 vs Basement
云应用:有服务器自主运维模式
Basement:无服务器托管运维模式-
微信小程序vs支付宝小程序
微信小程序:人
支付宝小程序:信用、支付类,所以很重安全
Serverless
Serverless 是指由第三方负责后端的基础架构和设施,以服务的方式向开发者提供所需功能。开发者不再需要考虑服务器的问题,计算资源作为服务而不是服务器的概念出现,开发者只需要专注于代码和业务,快速迭代,更快速地开发软件。
Serverless 包含了以下领域:
BaaS:后端即服务(Backend as a Service),向开发者提供后端基础功能作为服务,通过 API 方式进行调用。比如:文件存储、数据库、消息等。
FaaS:函数即服务(Function as a Service),允许开发者直接将程序部署到平台上,以函数作为最小单元,通过 API 方式进行调用。
Thanks!