2019独角兽企业重金招聘Python工程师标准>>>

本文由云+社区发表

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天,无需联调

此文已由作者授权腾讯云+社区发布


转载于:https://my.oschina.net/qcloudcommunity/blog/2990637

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

  1. 你的孤独,正在撑起一个万亿级市场

    导读:一人食.一人游.克隆猫--你的孤独正在撑起一个万亿级市场. 作者:苏琦 编辑:魏佳 来源:燃财经(ID:rancaijing) "不到十二点叫的外卖,两点半才吃上,我太难了." ...

  2. 用AI“复制”一个网络主播,10亿羊毛构建小程序生态,这是虎牙AI的新动作

    郭一璞 发自 广州 量子位 报道 | 公众号 QbitAI 网络直播,已经不仅仅是一位主播唱歌跳舞玩游戏这么简单了,AI技术正在渗入直播内容制作的过程中. 就在虎牙的LiveTech大会上,虎牙做了两 ...

  3. 一个Web人眼中的小程序和小游戏

    当年张小龙说:"小程序是一个不需要下载安装就可以使用的应用".我的第一反应是,不需要下载的应用,那不就是Web么? 后来,小程序在"雷声大,雨点小"的环境中度过 ...

  4. 如何制作一个在线订酒店的小程序

    互联网时代,客户普遍习惯线上预订酒店.酒店方面自然也需要拓展多个线上渠道卖房间,除了OTA渠道.酒店官网.APP等,小程序也是重要途径. 如何制作一个在线订酒店的小程序? 1. 让客户能够快速订房,满 ...

  5. 基于C++实现一个支持简单交互绘图小程序

    资源下载地址:https://download.csdn.net/download/sheziqiong/86763967 资源下载地址:https://download.csdn.net/downl ...

  6. 商城系统开发,使用微信服务号好?还是小程序?

    微信服务号和小程序都可以使用微信授权登录(获取用户微信头像.昵称.).微信支付.带参数二维码.微信红包等功能. 很多企业在开发商城时,会纠结使用微信服务号还是小程序? 了解服务号与小程序 服务号定位是 ...

  7. Lyra——开启下一个十亿用户的语音通话

    Lyra--开启下一个十亿用户的语音通话 前言 过去的一年已经表明,在线交流对我们的生活至关重要.无论你身在何处.可用的网络条件如何,清楚地了解彼此之间的联系变得前所未有地重要.因此,我们在2月推出了 ...

  8. 【微信小程序开发小白零基础入门】第一个入门级小程序【建议收藏】

    文章目录 一.第一个入门级小程序 1.新建项目 2.真机预览 3.代码上传 4.小程序版本 二.小程序目录结构 1.项目配置文件 2.主体文件 3.页面文件 4.其他文件 三.开发者工具功能介绍 1. ...

  9. 我用两天时间搭了一个领外卖红包的小程序

    直接进入主题: 我用两天时间搭了一个领外卖红包的小程序 外卖cps带分销返利源码 怎么推广"外卖CPS项目"赚佣金? 饿了么美团外卖红包小程序搭建教程 源代码地址 http://w ...

  10. 手撸一个仿蚂蚁森林微信小程序

    每天逛逛CSDN,看看大牛们的技术文章,查找自己想了解的知识,是我必做的事情. 每天到支付宝看看自己的余额,看看自己的33块钱还在吗?顺便到蚂蚁森林收下自己和好友的能量是我必做的事.看着自己的能量又被 ...

最新文章

  1. 堆栈中的EIP EBP ESP
  2. Outlook通过RPC或RPC over HTTPS访问Exchane邮箱:Exchange2003系列之四
  3. Python 3 教程二:文件,目录和路径
  4. c语言输出参数是out,关于C语言中的输出输入流
  5. DPI释疑--What is mean of Dpi?
  6. swiper动态加载数据左右切换失效
  7. QT学习笔记(二):QT MinGW 和 MSVC 编译方式
  8. java 租车管理系统_jsp+servlet+jdbc实现的java web共享租车信息管理系统,包括登陆注册,页面框架Easy UI...
  9. bash shell sed 获取第一行_老司机给出的关于 shell 脚本的8个建议,必收!
  10. Linux上更新war包
  11. Unity3D研究院之获取摄像机的视口区域(转)
  12. [译] RxJava 中的错误处理
  13. MySQL数据库的登陆
  14. 罗克露计算机组成,罗克露计算机组成原理课件(一)
  15. 海思3516ev300+ imx335 原理图,其他PCB、软件资料齐全
  16. Cannot truncate table 'xxx' because there are one or more isolation level 0 scans, or REO
  17. Vue动态组件、组件缓存、组件激活和非激活、组件插槽、组件name
  18. 高等数学第七版 上册 第一章 函数与极限1
  19. msn服务器系统,msn不能登录
  20. 系统架构_软件架构风格概述

热门文章

  1. mysql -数据库
  2. CF125E MST Company
  3. SpringBoot 系列
  4. 剑指Offer_编程题_16
  5. 20170724 Airflow官网资料学习
  6. [Selenium]通过Selenium实现在当前浏览器窗口点击一个图标之后,弹出另外一个窗口,关闭这个窗口,再回到原来的窗口进行操作...
  7. SQLite 时间函数
  8. [洛谷P3181][HAOI2016]找相同字符
  9. html页面简单访问限制
  10. tcpdump抓SQL[转]