前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯相册上了小程序·云开发,不仅不慌而且很爽

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

原创
作者头像
李成熙heyli
发布2018-11-15 10:53:31
5.3K1
发布2018-11-15 10:53:31
举报

小程序·云开发是基于腾讯云研发的全新 云开发 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. 小程序·云开发文档

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JavaScript全栈开发小程序不再是梦
  • 案例一:优化小程序分享二维码
  • 案例二:基于云开发研发新功能
  • 人力与时间的节省
  • 云开发未来规划
  • 腾讯相册体验入口.
  • 开发者资源
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档