专栏首页小程序·云开发专栏1个开发如何撑起一个过亿用户的小程序
原创

1个开发如何撑起一个过亿用户的小程序

1个开发如何撑起一个过亿用户的小程序

2018年12月,腾讯相册累计用户量突破1亿,月活1200万,阿拉丁指数排行 Top 30,已经成为小程序生态的重量级玩家。

三个多月来,腾讯相册围绕【在微信分享相册照片】这一核心场景,快速优化和新增一系列社交化功能,配合适当的运营,实现累计用户量突破1亿,大大超过预期。

(腾讯相册用户量破亿)

可是,谁曾想到,这样一个亿级体量的小程序,竟然是一个开发做出来的?他又是有哪般“绝技”,可以一个人撑起一个用户过亿的小程序?

后台人力紧缺,怎么办?

当我第一次见到腾讯相册小程序的开发David(化名)时,他显得忧心忡忡。

“年底的目标是要过千万的用户,但现在只有几位前端和后台开发。不仅如此,我们的后台开发还不是百分百能够投入到这个项目,大部分时间要抽身支援其它项目,人力非常紧缺。此外,原有后台系统有不少历史包袱,在原有架构上做新的社交化功能开发是不现实的。怎么办?

“要不试试'小程序·云开发'吧,只需要前端就可以把小程序搞起,正好解决我们缺后台的难题。”

于是,David作为腾讯相册前端开发团队的骨干,担当起用小程序·云开发实现腾讯相册小程序社交化功能的重任。

“第一次接触到’小程序·云开发‘时,觉得这个东西(小程序·云开发)理念挺新颖的———小程序无服务开发模式。在一般的小程序开发中,有三大功能小程序开无法绕开后台的帮助,它门分别是数据读取文件管理以及敏感逻辑的处理(如权限)。因此,传统的开发模式,在小程序端都必须发送请求到后台进行鉴权,并且处理相关的文件或者数据。即使使用 Node 来搭建后端服务,也需要耗费不少的搭基础架构、后期运维的工作量。”

“而小程序·云开发则释放了小程序开发者的手脚,赋予了开发者安全、稳定读取数据、上传文件和控制权限的能力,其它的负载、容灾、监控等,我们小程序开发者只需要关注业务逻辑,专注写好业务逻辑即可,其他的事情完全可以不用操心了!本来我还一筹莫展,了解完’小程序·云开发‘的产品原理以后,我瞬间心里有谱了。”

二维码扫不出来了

道路总是不平坦的 ,在腾讯相册小程序通往用户破亿的道路上,困难重重。

由于腾讯相册的二维码需要带上的信息量过大,因此它的二维码显得密密麻麻。这种密集的二维码在某些Android机型下,容易出现无法识别小程序的问题。

这严重制约了腾讯相册小程序分享获客的能力。

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

这个事情的解决并不难,只需后台开发把数据先存储到数据库中,然后把数据id放到分享链接上,这样,链接便可以转化成32个字符的短链接,让二维码看起来没有那么密集了。

但由于后台人力不足,于是前端开发David利用小程序· 云开发的数据库存储能力,通过调用db.collection('qr').add接口,快速实现数据在数据库中的存储。

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

此外,腾讯相册还借住小程序·云开发的云函数能力,生成辨识度更高的小程序码(小程序码文档),用以在朋友圈里传播分享。

(生成小程序码的云函数逻辑)
(优化后的分享图片和小程序码)

2天上线评论点赞功能

(评论与点赞功能)

腾讯相册在微信端的核心应用场景是“在微信做分享相册照片”,为了增强腾讯相册用户在微信里的互动,提升用户粘性和留存,腾讯相册决定新增评论与点赞功能,并且把聊天评论就直接在微信聊天窗口里面实现。

在这里,腾讯相册的David面临了两个选择,一是按原开发模式(前台开发-后台开发-前后台联调)做这个功能,面临的问题便是开发周期长、缺后台、迭代速度慢;另一个就是借助云开发的能力,撸起袖子自己上。

为了加快产品迭代速度,David决定采取云开发的开发方式。评论、点赞通过云开发的数据库插入和查询接口,如db.collection('comment').add,很快就实现了。

但遇到棘手的问题是,对于一些敏感的操作比如删除和编辑评论、点赞这些敏感操作,还需要到用户的鉴权操作,而这些鉴权信息,都在原有的后台。此时,云函数的路由功能便发挥出作用了。

(评论点赞逻辑)

用户进行评论点赞的时候,会在小程序端发起请求调用云函数并带上 openid,云函数用 openid 查询原有的后台服务看看该用户是否有权限进行操作,如果用户具有权限,则把评论和点赞的数据都写入云开发的数据库中。

就这样,借住小程序·云开发的能力,腾讯相册仅用2天时间,完成了在传统开发模式下需要1周多工作量的开发工作。

原有开发模式

云开发全栈开发

工作量

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

1 - 2天,无需联调


什么是小程序·云开发?

小程序·云开发是基于腾讯云研发的全新 云开发 Tencent Cloud Base(简称 TCB) 服务,腾讯云与微信力推的这套云开发服务的诞生,恰逢其时地帮助腾讯相册走出开发效率的瓶颈。

(基于腾讯云的云开发)

小程序云目前提供三大基础能力支持:

  • 云函数:充当了后台的角色,开发者可以在上面用 Node (后续还会支持 PHP, Python 等)写后台逻辑,跟微信私有协议天然鉴权,可以云函数里直接获取 appid, openid, unionid 等重要鉴权信息,大大简化了小程序后台的开发工作量。
  • 数据库:一个既可在小程序前端操作,也能在云函数中读写的文档型数据库,提供控制台可视化管理
  • 文件存储:在小程序前端和云函数里都可以直接上传/下载云端文件,提供控制台可视化管理

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

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

相关资料

  1. 小程序·云开发解决方案
  2. 小程序·云开发文档

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何用WordPress开发一个博客小程序

    哈喽,这边我用WordPress做了一个小程序,很适合做个人站以及博客的站长朋友,主要功能就是博客文章的展示,还有一些基本的评论功能跟点赞,收藏生成海报还有分享...

    Kit
  • 开发 | 如何打造一个有质感的小程序

    映兔视频小程序从上线到现在已经小更新了几个版本了,想想最初开发的初衷真的很简单,就是让用户以更少的成本获取自己想看的内容。虽然,我们的 app 也非常漂亮。

    知晓君
  • Serverless最佳实践:如何在两周内开发出用户量过亿的微信小程序

    腾讯相册前身是空间相册,而且空间相册已经在手机APP端,网页端都有了入口。为了增加用户活跃,让客户在各个软件中都能快速触达,腾讯相册团队推出了微信小程序形式的腾...

    腾讯云serverless团队
  • 如何利用云开发快速做个收款小程序

    最近业余时间都在迭代一个未发布的中度小游戏,一直没时间更新知识点,今天看到有一位女同事孜孜不倦写了好多文章,顿时觉得自己太放纵了,还是要坚持多写多学才行,于是就...

    花叔
  • 爱猫的人看过来!快用这个小程序,一起「云吸猫」

    作为一个尽职尽责,又对喵星人宠爱无限的猫奴,手机里怎么能少了「猫来了的喵星球」这个小程序?

    知晓君
  • 如何指导商户搭建一个让人买买买的小程序

    微购儿小程序
  • 如何指导商户搭建一个让人买买买的小程序

    如果您也是一名追求轻奢品牌的热衷者或者是正在考虑把自己的轻奢商店搬到线上微信小程序经营,那么请不要错过这期的案例推介,直播商城小程序绝对满足您的需求.

    微购儿小程序
  • 一个天气小程序和他们跳过的 47 个坑,你该如何避免?

    知晓君
  • 如何打造一个程序员专属的Mac开发环境?

    工欲善其事,必先利其器,工具永远都是用来解决问题的,没必要为了工具而工具,一切工具都是为了能快速准确的完成工作和学习任务而服务。

    用户5224393
  • 从0到1使用python开发一个半自动答题小程序的实现

    最近每天都有玩微信读书上面的每日一答的答题游戏,完全答对12题后,可以瓜分无限阅读卡。但是从小就不太爱看书的我,很难连续答对12道题,由此,产生了写一个半自动答...

    砸漏
  • 一起学Excel专业开发14:了解Excel应用程序开发的四个阶段

    在正式将VBA引入我们的应用程序之前,让我们先了解Excel应用程序的四个阶段:开发与维护、启动、运行和关闭。

    fanjy
  • 实战丨如何制作一个完整的外卖微信小程序开发项目(已开源)

    一开始项目并非基于云开发而开发的,目前考虑用云开发,因此,需要在项目中开启云开发的相关选项。

    腾讯云开发TCB
  • 喜茶如何打造一款效率至上的小程序 三个月累积百万用户?

    估计十有八九的人都会回答“排队”。在喜茶门店门口,这是最常见的情况:十几、二十岁的年轻人,他们刷着手机、玩着自拍,通常排一两个,甚至是三四个小时的队等待一杯他们...

    速成应用小程序开发平台
  • 还在微信群发红包?用这款小程序,发起一个有趣的抽奖吧!

    才不是呢!今天,「知晓程序」就为你推荐一款群抽奖小程序——小抽奖,让发福利变得更简单、可控!

    知晓君
  • Excel用户的福音:不用写代码就能开发一个带界面的程序!

    在2021年微软Ignite大会上,微软宣布推出一门新语言Power Fx,包括界面、基于Excel公式等特性。

    新智元
  • dotnet core 应用是如何跑起来的 通过自己写一个 dotnet host 理解运行过程

    在上一篇博客是使用官方提供的 AppHost 跑起来整个 dotnet 程序。本文告诉大家在 dotnet 程序运行到托管代码之前,所需要的 Native 部分...

    林德熙
  • 14亿人的大项目,拿下!

    5月11日,第七次全国人口普查结果公布。 国家统计局总统计师曾玉平在发布会直播中表示:“普查数据质量是普查统计工作的生命线……利用信息化,对普查方式进行创新:...

    腾讯云数据库 TencentDB
  • 微信朋友圈千亿访问量背后的技术挑战和实践总结

    微信朋友圈包括图片和视频两套业务架构组成,朋友圈图片的特点是请求量大、消耗计算资源较多,视频则主要消耗带宽。

    JackJiang
  • 微信十周年,腾讯晒成绩单了!

    2011-2021,微信已经走过十年。2021年的微信公开课PRO恰逢微信十周年,在这个特殊的时刻,腾讯晒出了小程序、微信支付、企业微信、搜一搜、小游戏和视频号...

    AI科技大本营

扫码关注云+社区

领取腾讯云代金券