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