再次強調(diào)下,云開發(fā)是 Serverless 理念落地的一種產(chǎn)品方案,其首推 云 + 端的研發(fā)模式。
云開發(fā)本質(zhì)上是提供服務(wù)端能力的,一個沒有后端能力的同學(xué),可以使用云開發(fā)構(gòu)建「高質(zhì)量」的服務(wù),可以獨立完成一款應(yīng)用的前后端全棧開發(fā)。所以云開發(fā)可以助力大前端同學(xué)擴展邊界。 一開始云開發(fā)是跟這微信小程序一起發(fā)布的,只能在微信小程序里使用;現(xiàn)在云開發(fā)還支持各個端,在 PC Web、H5、微信公眾號、iOS、Android 等等應(yīng)用里可以使用。
上一篇提到云開發(fā)提供了 FaaS + BaaS 的能力,具體能力如下:
云存儲
我們可以通過客戶端 SDK 或者服務(wù)端 SDK,在前端頁面或者云函數(shù)里,上傳/刪除文件。 該文件可以是 js、css、html、也可以是圖片、pdf、word、excel、視頻.....同時,云開發(fā)的存儲默認提供 CDN 加速能力。
云函數(shù)
這個就是 FaaS 的實現(xiàn),一般用于接口開發(fā)、定時任務(wù)等等;云函數(shù)間可以互相調(diào)用。目前云開發(fā)的云函數(shù)提供 HTTP 調(diào)用方式和客戶端 callFunction 方式。
數(shù)據(jù)庫
云開發(fā)支持 NoSQL 數(shù)據(jù)庫,存儲的記錄類型為 JSON 格式;同時可以在云函數(shù)中通過專有網(wǎng)絡(luò)(VPC)通道調(diào)用 MySQL,也可以使用 redis。
云調(diào)用
云調(diào)用是云開發(fā)提供的基于云函數(shù)使用小程序開放接口的能力。比如獲取微信小程序用戶信息、小程序碼、OCR 能力等等,具體見:https://developers.weixin.qq.com/miniprogram/dev/api-backend/
靜態(tài)網(wǎng)站托管
部署一個包含 html、css、js + 媒體資源的網(wǎng)站,再也不用購買服務(wù)器。以前可以選擇 github pages,現(xiàn)在可以選擇穩(wěn)定的托管服務(wù),所有的流量和資源消耗都是按量付費,用了多少就付多少。目前靜態(tài)網(wǎng)站托管提供默認域名訪問,但是限速。可以綁定自己的域名和申請免費的 SSL 證書。
云接入 云接入能力是和云函數(shù)一起使用的,比如開啟云函數(shù)的 HTTP 訪問,比如將整個 Node.js 應(yīng)用部署到函數(shù)中,這樣 Node.js 就可以自動擴所容。還可以托管 Next.js SSR 應(yīng)用等。
擴展能力
整個騰訊云的云服務(wù)都可以直接在云開發(fā)里使用,比如 AI 的圖像識別、短信能力等等。
上面具體介紹了每部分能力做什么,下面這一張是整個云開發(fā)的能力架構(gòu)圖。
目前云開發(fā)提供了各個端側(cè) SDK,也提供了兩個項目管理工具,一個是可視化的控制臺(https://console.cloud.tencent.com/tcb), 另外就是 CLI 工具。
更多建議: