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

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

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

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

基于腾讯云的云开发

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

评论与点赞功能

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

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

评论点赞逻辑

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

人力与时间的节省

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


原有开发模式

云开发全栈开发

工作量

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

新人1 - 2天,无需联调


云开发未来规划

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

腾讯相册体验入口.

扫码体验

开发者资源

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ThoughtWorks

前后端分离,谁值得拥有? | TW洞见

今日洞见 文章作者来自ThoughtWorks:贾朝阳,图片来自网络。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何...

3748
来自专栏京东技术

塞伯坦 | 提高业务研发效率的工程化解决方案

http://cyb.hestudy.com/,面向前端模块化工程的构建工具。主要目的是帮助开发者统一前端开发模式和项目开发结构,提高功能扩展和降低维护成本,自...

1592
来自专栏腾讯移动品质中心TMQ的专栏

FAT(Fast-AutoTest) —专业服务于微信H5/小程序UI自动化测试

随着项目的发展,许多项目中H5(特别是微信平台内)以及小程序占比逐渐增多,因此快速建设相关的自动化来提高项目的效率和质量成为了许多项目中的重中之重。

1.9K7
来自专栏纯洁的微笑

电商系统之订单系统

订单系统作为电商系统的“纽带”贯穿了整个电商系统的关键流程。其他模块都是围绕订单系统进行构建的。订单系统的演变也是随着电商平台的业务变化而逐渐演变进化着,接下来...

3561
来自专栏向治洪

基于React.js实现webapp的技术实践

由于最近的reactjs实在太火,而且距离第一版已经快2年的时间了,已经相对稳定和成熟了,基于这两个前提下,团队对reactjs及其他开源技术进行了相关调研,发...

2888
来自专栏SEO

「技术」SEO中的技术挑战指南

3969
来自专栏pangguoming

免费桌面视频录像工具OBS的简单操作介绍

1112
来自专栏知晓程序

小程序运维中心上线!小程序有 Bug,微信帮你找出来

但微信官方的消息一直都短小精炼,想详细了解这些新能力,知晓程序(微信号 zxcx0101)就掰开给你细细讲。

2504
来自专栏小白课代表

探秘!课代表的电脑里面最多的居然是...

今天课代表就给大家盘点一下,那些在我的电脑上生存超过一个月甚至是超过两年的软件...当然,这是第一期。

1741
来自专栏EAWorld

生态型App的架构实践分享

其实文章的题目纠结了很久,最后还是采用了“生态型App”这个词,这个词可能不是一个约定俗成的词,但却是这篇文章的主线,我将会从以下面三个维度展开,期望能够给正在...

3605

扫码关注云+社区

领取腾讯云代金券