百度:
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
使用方式我已经在《一个可屏蔽长短连接的网络模块》文章中说过,这里就不在赘述了。
以上就是我这几天使用云开发的心得。也是感受比较重要的地方。固然,最终仍是推荐看文档,那里更详细。
如需购买框架,请进入公众号点击个人服务,源码出售标签。
欢迎扫码关注公众号《微笑游戏》,浏览更多内容。