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!