百度:
https://q.qq.com/wiki/cloud/base/intro.htmlhtml
QQ:
https://q.qq.com/wiki/cloud/base/intro.htmlnode
WX:
https://developers.weixin.qq.com/minigame/dev/wxcloud/basis/getting-started.html小程序
當下雲開發比較火,不過本人並非很感冒,由於他的好處顯而易見,但缺點也是致命的。
好處就是1. 不用本身買服務器,域名認證,不用擔憂服務器過時;省去了不少時間。2. 初始容量免費,基本夠用。後端
缺點就是不能跨平臺。這個就很傷了,咱們開發一款遊戲不可能只上一個平臺吧!雖然咱們能夠上全部擁有云開發能力的平臺,可是畢竟沒有云開發能力的平臺也不少啊!服務器
不過例如世界排行榜這樣的功能仍是能夠用一下的。頂多就是沒有云開發能力的平臺不顯示排行榜功能就是了。微信
我是用這個雲開發能力作了一個比較完整的買賣系統。進入這個系統後全部數據聯網獲取,離開這個系統單機玩法。因此沒有云開發能力的平臺也就只能體驗單機部分了。網絡
這裏我以微信雲開發爲例:微信開發
開通服務
這一步要注意的是使用的appId 不能是測試id,不然你的雲開發按鈕是不可點擊的。
這一步結束以後你會得到一個環境id。app
初始化框架
wx.cloud.init({ env: 'test-x1dzi' })
將上一步得到的環境id傳入init函數即作好了初始化工做,並且此方法是沒有返回值的。
3. 調用雲函數
wx.cloud.callFunction({ name: 'add', data: { a: 12, b: 19 } }).then(console.log)
基本在小程序端的重要部分就這些了。當你看過了幾個支持雲開發的平臺說明文檔後你會發現,他們在小程序端的使用方式實際上是同樣的。只是命名空間的不一樣而已。因此在小程序端很容易作好多平臺支持的。
剩下的就是寫雲函數了。微信雲其實就是nodejs服務器。每個雲函數你能夠理解爲後端通過路由後調用的函數。只是在調試和上傳上的方式上有所不一樣而已。
這裏的調試是比較難受的,首先用creator打出來的包雲函數目錄是會被清理的,若是你把函數目錄放到build-template中你又無法像在微信開發者工具中同樣及時的看效果。又不能在開發者工具中改動一下就複製一份到build-template中。因爲個人系統沒那麼複雜,因此目前就是每次打包後從新下載我須要的雲函數。其實能夠寫個插件,在打包以前把雲函數存放到一個地方,打完包以後再放回來。
個人開發方式比較簡單,直接將小程序端的雲函數調用寫成一個服務,添加到個人網絡框架中,就跟我用長短連接同樣使用了。
文章地址:https://mp.weixin.qq.com/s/DQuiQejiS6qtBTef_yu0Sw
擴展的方式很簡單
export default class WXCloudService extends Service { /** * 因爲init函數無返回值,因此直接通知連接成功 * @param url 至關於環境ID * @param port 無用 */ connect(url: string, port?: number) { super.connect(url); console.log("WXCloudService connect url ", url) wx.cloud.init({ env: url }) this.emit(NetConfig.OPEN, url); } sendData(message: SendMessage) { let self = this; let protoID = message.getProtoID(); let data = message.getData(); console.log("WXCloudService sendData protoID ", protoID,' data ',data) wx.cloud.callFunction({ // 需調用的雲函數名 name: protoID, // 傳給雲函數的參數 data: data, success: function (res) { console.log('WXCloudService success res ', res) self.onData(res.result, protoID); }, fail: function (res) { console.log('WXCloudService fail res ', res) self.onError(message); }, complete: function (res) { }, }) } isReady() { return true; } }
在工廠中建立
連接時使用以前定義的Netconfig.CLOUD
使用方式我已經在《一個可屏蔽長短連接的網絡模塊》文章中說過,這裏就不在贅述了。
以上就是我這幾天使用雲開發的心得。也是感受比較重要的地方。固然,最終仍是推薦看文檔,那裏更詳細。
如需購買框架,請進入公衆號點擊個人服務,源碼出售標籤。
歡迎掃碼關注公衆號《微笑遊戲》,瀏覽更多內容。