西安度娘網(wǎng)絡(luò),專業(yè)西安小程序開發(fā)公司。近期微信小程序開放了新的能力——「小程序·云開發(fā)」,幫助開發(fā)者快速構(gòu)建微信小程序的后端服務(wù)。我作為一名微信小程序的開發(fā)者,也在第一時間嘗試了小程序云開發(fā),并將我自己在開發(fā)過程中的經(jīng)驗分享給大家。簡單的來說,小程序云開發(fā)是一款 Serverless 服務(wù),他為開發(fā)者提供了「云函數(shù)」、「云數(shù)據(jù)庫」和「云文件存儲」,并且將這些能力封裝成特定的接口,以 wx.cloud.xxx 來進行調(diào)用。
小程序云開發(fā)不是 PaaS ,它和我們所熟悉的 BAE、Google App Engine 不同,所提供的云函數(shù)并不是完整的環(huán)境,而是以一個特定的事件為單位的。嚴格來說,它所提供的云函數(shù)功能其實是 FaaS (Function as a Service),同類型的產(chǎn)品有 LeanCloud 的云函數(shù)、 Bmob 的云函數(shù)、AWS 的 Lambda、 Azure 的 Functions 和 Google Cloud Functions。
小程序云開發(fā)也不是 LeanCloud 、 Bmob 之類的 BaaS 。不同于上述的兩款產(chǎn)品,他們提供了豐富的 API 接口,能夠?qū)崿F(xiàn)各種各樣的功能,小程序·云開發(fā)將接口進行深度的封裝,僅能在小程序、云函數(shù)中通過 wx.cloud 和 wx-server-sdk 來調(diào)用(截止2018年8月24日)。因此,小程序云開發(fā) 僅能應(yīng)用在小程序中,無法在其他產(chǎn)品中應(yīng)用(比如 App )
所有的業(yè)務(wù)邏輯都僅僅需要在小程序端完成,無需過于復(fù)雜的管理邏輯(這是因為云函數(shù)、云數(shù)據(jù)庫無法在小程序以外的區(qū)域調(diào)用,因此無法實現(xiàn)強大的 Web 管理界面)。