腾讯相册上了小程序·云开发,不仅不慌而且很爽

2018-11-15 10:53:31 浏览数 (1)

小程序·云开发是基于腾讯云研发的全新 云开发 Tencent Cloud Base(简称 TCB) 服务,本文将阐述该解决方案如何帮助公司级业务腾讯相册加快迭代速度。

腾讯相册立项以来,只有几位前端与后台开发完成,其中后台开发还要抽身做其它项目的需求。另外,小程序在新增需求时,后台的改动担心影响到空间已有业务,改动起来比较不方便。

因此,腾讯相册当下面临的是人力紧缺,改动困难的双重困境。而腾讯云与微信力推的这套云开发服务的诞生,恰逢其时地帮助腾讯相册走出开发效率的瓶颈。

基于腾讯云的云开发基于腾讯云的云开发

JavaScript全栈开发小程序不再是梦

小程序开发中,有三大功能无法绕开后台的帮助,分别是数据读取文件管理以及敏感的逻辑(如权限)。因此,传统的开发模式,在小程序端都必须发送请求到后台进行鉴权,并且处理相关的文件或者数据。传统的架构如下图。即使使用 Node 来搭建后端服务,也需要耗费不少的搭基础架构、后期运维的工作量。

而云开发则释放了小程序开发者的手脚,赋予了开发者安全、稳定读取数据、上传文件和控制权限的能力,其它的负载、容灾、监控等,悉数由云开发帮你处理好,无需忧心。

如果你是全新开发的小程序,架构非常轻量简单,如下图。

如果你是已有的小程序,部份需要跟原有后台交互的功能,完全可把云函数作为路由,节省获取openid 等用户信息的逻辑,如下图:

云开发提供的能力,简而言之:

  1. 云函数就是充当了后台的角色,开发者可以在上面用Node(后续还会支持PHP, Python 等)写后台逻辑,或者作为中间层作为与后台的中转,更重要的是,在云开发的云函数中,还能获取小程序 appid, openid 等重要的鉴权信息,大大简化了小程序后台的开发工作量。
  2. 无论在小程序端还是云函数(后台),都可以通过统一的接口,处理云开发提供的数据库文件存储能力。

下面通过腾讯相册开发过程中的两个案例,来解析如何利用云开发来优化整个小程序的开发流程。

案例一:优化小程序分享二维码

许多小程序做朋友圈的分享导流,都需要做一个分享图片,而图片上包含一个二维码(二维码比小程序码存储更多信息)。腾讯相册也做了类似的分享图片,但由于需要带上的信息量过大,因此二维码显得密密麻麻。这种密集的二维码在某些Android机型下,还会导致无法识别小程序的问题。

需要存储name, ownerid, page等大量信息需要存储name, ownerid, page等大量信息

腾讯相册的利用云开发的数据存储能力,将大量的分享信息存储到数据库中。

云开发数据库,格式类似MongoDB云开发数据库,格式类似MongoDB
云开发数据库索引,可加快数据读取云开发数据库索引,可加快数据读取

然后将数据 id 放到分享链接上,这样,链接便可以转化成32字符的短链接,让二维码看起来没那么密集了。

由于历史原因,腾讯相册之前一直用二维码做分享。而现在有了云开发的云函数帮助,可以考虑用辨识度更高的小程序码(小程序码文档)。

生成小程序码的云函数逻辑生成小程序码的云函数逻辑
腾讯相册正在做的优化腾讯相册正在做的优化

案例二:基于云开发研发新功能

评论与点赞功能评论与点赞功能

为了增强腾讯相册小程序的互动,增加留存,腾讯相册正新增评论与点赞功能。腾讯相册也面临了两个抉择,一是按原开发模式(前台开发-后台开发-前后台联调)做这个功能,面临的问题文章开头也已经提及,便是开发周期长、人力紧张、迭代速度慢;另一个就是借助云开发的能力,撸起袖子自己上。

为了加快产品迭代速度,开发们决定采取云开发的开发方式。评论、点赞通过云开发的数据库很好地实现,但遇到棘手的问题是,对于一些敏感的操作比如删除和编辑评论、点赞这些敏感操作,还需要到用户的鉴权操作,而这些鉴权信息,都在原有的后台。此时,云函数的路由功能便发挥出作用了。

评论点赞逻辑评论点赞逻辑

“可惜云开发没再早一些出来”,腾讯相册开发负责人感到惋惜,“要不然腾讯相册可以借助云开发将世界杯的运营活动做得更好”。

人力与时间的节省

针对上述的需求,传统的开发模式需要前后端的功能开发以及联调,而现在,大部份都可以由前端基于云开发全栈完成,省去了联调的时间。另外由于许多后台的逻辑,直接简化成几个云开发接口的简单调用,连后台的开发工作量都大大压缩。腾讯相册目前主体功能仍然需要后台的维护与鼎力支持,但在原架构上引入云开发,使产品的迭代大大提速。


原有开发模式

云开发全栈开发

工作量

后台1周(微信登录态校验 业务逻辑server开发) 前后台联调1天

新人1 - 2天,无需联调


云开发未来规划

腾讯云的云开发 Tencent Cloud Base (TCB) 服务,首期作为基础能力服务于云开发。未来,TCB还会向其它端进行扩展,如企业微信小程序、公众号 H5、浏览器 H5、独立APP等等。

腾讯相册体验入口.

扫码体验扫码体验

开发者资源

  1. 产品介绍
  2. 文档与资源
  3. 服务端SDK
  4. 小程序·云开发文档

0 人点赞