全網獨家首發:小程序·雲開發課程免費開放!
近期小程序開放了新的能力——「小程序·雲開發」,幫助開發者快速構建微信小程序的後端服務。
騰訊雲學院針對微信小程序·雲開發,推出了《小程序雲開發項目實戰課程 · 私房書櫃》,並於現在全網獨家首發,免費開放給廣大開發者:
掃碼免費學習
課程-重磅福利:
8月24-25日期間,學習課程將贈送小程序· 雲開發公測資格,僅限100個,隨機抽取。
參與方式:
Q:小程序雲開發是什麼?
Q:小程序雲開發的誤區?
首先,小程序雲開發不是 PaaS ,它和我們所熟悉的 BAE、Google App Engine 不同,所提供的雲函數並不是完整的環境,而是以一個特定的事件為單位的。嚴格來說,它所提供的雲函數功能其實是 FaaS (Function as a Service),同類型的產品有 LeanCloud 的雲函數、 Bmob 的雲函數、AWS 的 Lambda、 Azure 的 Functions 和 Google Cloud Functions。
其次,小程序雲開發不是 LeanCloud 、 Bmob 之類的 BaaS 。不同於上述的兩款產品,他們提供了豐富的 API 介面,能夠實現各種各樣的功能,小程序·雲開發將介面進行深度的封裝,僅能在小程序、雲函數中通過 wx.cloud 和 wx-server-sdk 來調用(截止2018年8月24日)。因此,小程序雲開發 僅能應用在小程序中,無法在其他產品中應用(比如 App )
Q:小程序雲開發適合什麼樣的場景?
所有的業務邏輯都僅僅需要在小程序端完成,無需過於複雜的管理邏輯(這是因為雲函數、雲資料庫無法在小程序以外的區域調用,因此無法實現強大的 Web 管理界面)
Q:小程序雲開發的優勢是?
1. 微信登錄邏輯簡單
小程序雲開發可以自動實現用戶登錄的校驗,開發者無需再次校驗用戶身份,直接通過雲函數的 event.userInfo.openId 即可獲取到用戶信息。直接調用資料庫 、文件存儲 API 時,也會自動關聯到用戶對應的 openId
如果用戶授權小程序獲取昵稱等信息,這些信息也會自動出現在小程序雲開發的管理控制台中的用戶登錄部分。不需要開發者手動上傳。
2. 免費
目前小程序雲開發提供了免費 1GB 的資料庫存儲和 免費 5 GB 的文件存儲,這個存儲量並不是很大,但是對於一些個人開發者來說,還是綽綽有餘的,開發者可以使用這些容量來快速開發自己的小程序。
3. 簡單
小程序雲開發的調用非常的簡單,你只需要了解 JavaScript 和一些簡單的非同步的知識 (promise),就可以完成小程序雲開發的內容。
4. 無侵入
小程序雲開發本身是在小程序的基礎庫層面的封裝,你無需再引入其他庫就可以使用。
同樣的,你也可以在原有的應用程序中,將一部分功能遷移到小程序雲開發中。
Q:小程序開發過程中遇到的一些坑?
1. 非同步請求需要通過 Promise 來處理
在雲函數中,我們大多會實現一些在小程序中無法實現,或受域名限制的請求介面,這時我們不能使用傳統的 Callback 方法來進行請求,因為傳統的 callback 方法執行完成後,雲函數早已將數據返回給客戶端,我們需要使用 Promise 來處理。
比如,下面的代碼是我請求豆瓣 API 的代碼:
上述代碼出自 Github 項目 WXCloud-bookcase
2. 許可權結構比較簡單
小程序雲開發提供的資料庫許可權非常簡單,僅有四種:
? 僅創建者可寫,所有人可讀:數據只有創建者可寫、所有人可讀;比如文章。
? 僅創建者可讀寫:數據只有創建者可讀寫,其他用戶不可讀寫;比如用私密相冊。
? 僅管理端可寫,所有人可讀:該數據只有管理端可寫,所有人可讀;如商品信息。
? 僅管理端可讀寫:該數據只有管理端可讀寫;如後台用的不暴露的數據。
對於絕大多數情況下,簡單地使用這四種許可權根本無法滿足我們的要求,因此,我們還需要在代碼層面進行一些判斷來確保具體的表現如我們所想的那樣。
比如,在做一個書櫃的項目時,希望書櫃里的書可以設置可被第三方查看和不可被第三方查看,這時你只能將集合的數據設置為「僅創建者可寫,所有人可讀」,並通過代碼來控制具體信息是否顯示,比如加入一個 is_private 欄位來進行控制。
※程序員們!七夕快到了,教你用數學方法如何脫單!
※快照是什麼?揭秘存儲快照的實現
TAG:雲加社區 |