文章目录
一、享物说:如何不用服务器开发一个小游戏
1.小游戏开发之痛:无法摆脱对服务端的依赖
小游戏对服务端的依赖主要有以下两个方面:
- 微信接口只支持在服务端调用
这就意味着,我们必须为这些接口架设一个中转服务器。如果没有这个中转服务器,我们就没法做用户登录,没法获取用户头像、名称信息,也拿不到access_token,更没有办法调用其他微信接口,如内容审查。 - 游戏功能实现需要服务器开发
对于很多小游戏来说,我们唯一用到服务端的地方就是,储存当前的关卡进度,展示一个世界排行,就可以了。而想要实现这么一个简单的需求时,你会发现,隔行如隔山。
2.如何用云开发解决小游戏在服务端痛点?
- 云函数实现微信接口调用
就拿登录来说吧。由于云函数具有微信天然鉴权的能力,可以直接返回openid,这一点对做登录确实很方便。需要用户的unionid信息,这也是在云函数中实现的。
还有access_token,就是刚才用到的密钥,为什么要单独说这个密钥呢?因为它会用到云函数特别有意思的功能,那就是定时触发器。由于这个密钥是有两个小时有效期的,我们设定一个小时间隔定时刷新,保存到数据库中,用的时候直接从数据库中取出来就可以了,这样可以保证密钥永远是不过期的。
通过云开发,为微信接口准备的中转服务器就不需要了;更重要的是,服务端与微信接口分离,无需关心客户端场景。不管这个客户端,是来自h5游戏,还是来自小游戏环境,对于服务端来说,都是一样的,再也不需要为客户端提供这样那样的权限接口。
- 云函数+数据库,实现全局排行榜功能
云开发提供了数据库、云函数、云存储,通过这些能力,我们完全可以取代服务器来实现游戏功能。
其实,云开发可以使用的业务场景,还有很多,比如,
- 绕过微信https域名请求限制
- 存放游戏的全局设置
- 保存玩家的个性化数据
二、唯品会:巧借云开发,实现业务的降本增效
前端独立完成完整小程序开发,大大提升了工作效率
1.借助云函数弹性伸缩,节约计算资源成本
痛点:短时间内,大量的高峰流量
- 传统解决方案:扩充服务器
- 云函数:有弹性伸缩能力,可以在毫秒级内完成整个扩充,而且云函数是无状态服务不会发生中断
2.通过云开发实现数据聚合,节约数据聚合架构成本
痛点:有多个格式不匹配的数据源时,做数据聚合操作繁琐
- 传统解决方案:客户端发多个请求,然后自己聚合数据(大量请求积压,影响响应速度);或服务端聚合后发给前端 (可能只请求一次,普适性低)
- 云开发:
- 操作:搭建中间层,使用云函数将数据读取到云数据库,然后在另一个云函数中完成数据聚合
- 优势:灵活、加载快、请求次数少
基于云开发构建中间层,转发请求,聚合服务
后端面向服务,专注自有业务。前端面向用户,灵活开发,快速交付。
三、腾讯相册:兼容并“旧”,快速上线新功能
四、猫眼小程序:基于云开发构建活动运营平台