什么是小程序云開發(fā)
什么是小程序云開發(fā)。
作為開發(fā)人員,大家都知道微信小程序開放了新api:小程序云開發(fā),能幫助開發(fā)者快速完成微信小程序的服務(wù)端搭建。作為一名軟件開發(fā)者,也在不斷嘗試了小程序云開發(fā),并把開發(fā)過程中的經(jīng)驗分享出來。單單來說小程序云開發(fā)是類似 Serverless 的服務(wù),可以為開發(fā)者提供:云函數(shù)、云數(shù)據(jù)庫、云存儲,封裝集成為接口以 wx.cloud.xxx來調(diào)用使用。
小程序云開發(fā)和我們所熟悉的 BAE并不完全相同,提供的云函數(shù)并非完整環(huán)境,嚴格來說它所提供的云函數(shù)其實是 FaaS (Function as a Service),同類的有 LeanCloud 的云函數(shù)、 Bmob 的云函數(shù)等。大家可以對比他們的相似點和區(qū)別。
小程序云開發(fā)將接口進行深度的封裝,在小程序、云函數(shù)中通過 wx.cloud 和 wx-server-sdk 使用。小程序云開發(fā)的所有業(yè)務(wù)邏輯都需要在小程序端完成。
云開發(fā)究竟對我們有什么好處?做一個簡單說明。云開發(fā)提供四種主要的能力,云函數(shù),數(shù)據(jù)庫,cdn儲存、云調(diào)用。開發(fā)者無需自建服務(wù)器和數(shù)據(jù)庫,無需自建儲存服務(wù)器,可以調(diào)用原生微信api服務(wù),基于云函數(shù)使用小程序開放接口的能力。
常見的小程序開發(fā)需要后臺數(shù)據(jù)庫和服務(wù)器支持,小程序云開發(fā)同樣需要服務(wù)器的支持,不同的是云開發(fā)把后臺部署的公祖全部包攬了。以往的小程序開發(fā)需要前端和服務(wù)端兩個程序員,云開發(fā)則只需要前端即可完成。從經(jīng)濟效益上來說,節(jié)省了人工成本。在開發(fā)難度上,云開發(fā)和常規(guī)開發(fā)差不多。云開發(fā)省略了服務(wù)器,所以也不需要運維了。
微信云開發(fā)提供免費版的服務(wù)器。測試和開發(fā)過程中提供了一個可供測試的解決方案。同時云開發(fā)服務(wù)器的價格比自建服務(wù)器價格要低。節(jié)省了服務(wù)器成本,還有https的ssl證書預(yù)算。
云開發(fā)讓前端程序員完成了后端部分工作,服務(wù)器的瑣碎與驗證配置工作交給了微信完成。這是時間和金錢的雙向優(yōu)化。事物有兩面性,云開發(fā)也有缺點。主要在于云開發(fā)沒有足夠的自主權(quán)和代碼完全的操控能力。更多的受限于微信服務(wù)器。