一個開發如何撐起過億用戶?

雲開發誕生後,不僅給廣大個人開發者帶來了便利,也給大廠解決了許多小程序開發效率上的問題。

本文就以騰訊相冊小程序爲例,介紹如何在人力緊缺、用戶量激增的情況下,如何利用雲開發有效推進產品功能迭代。

** 1**

用戶量暴增的騰訊相冊

2018 年 12 月,騰訊相冊累計用戶量突破 1 億,月活 1200 萬,阿拉丁指數排行 Top 30,成爲小程序生態的重量級玩家。

3 個月後,騰訊相冊圍繞 “在微信分享相冊照片” 這一核心場景,快速優化和新增一系列社交化功能,配合適當的運營,實現累計用戶量突破 1 億(見圖 1),大大超過預期。

圖 1 騰訊相冊用戶量破億

可是,誰曾想到,這樣一個億級體量的小程序,竟然是一個開發做出來的?他又擁有哪般 “絕技”,可以一個人撐起一個用戶過億的小程序?

** 2**

後臺人力緊缺,怎麼辦?

第一次見到騰訊相冊小程序的開發 David(化名)時,他顯得憂心忡忡。

“年底的目標是用戶要過千萬,但現在只有一位前端和一位後臺開發。不僅如此,我們的後臺開發還不能百分百地投入這個項目,大部分時間要抽身支援其他項目,人力非常緊缺。另外,原有後臺系統有不少歷史包袱,在原有架構上做新的社交化功能開發是不現實的。怎麼辦呢?要不試試小程序 · 雲開發吧?只需要前端就可以把小程序搞起,正好解決我們缺後臺的難題。”

於是,David 作爲騰訊相冊前端開發團隊的骨幹,承擔起了用小程序 · 雲開發實現騰訊相冊小程序社交化功能的重任。說起小程序 · 雲開發,David 不無感慨。

“第一次接觸小程序 · 雲開發時,覺得它的理念挺新穎的——小程序無服務開發模式。在一般的小程序開發中,有三大功能小程序開無法繞開後臺的幫助,分別是數據讀取、文件管理以及敏感邏輯的處理(如權限)。因此,在傳統的開發模式下,在小程序端都必須發送請求到後臺進行鑑權,並且處理相關的文件或者數據。即使使用 Node 來搭建後端服務,也需要耗費不少搭基礎架構和後期運維的工作量。

“而小程序 · 雲開發則釋放了小程序開發者的手腳,賦予了開發者安全穩定地讀取數據、上傳文件和控制權限的能力,不需關注其他的負載、容災、監控等,我們小程序開發者只需要專注寫好業務邏輯即可,其他的事情完全不用操心了!本來我還一籌莫展,瞭解完小程序 · 雲開發的產品原理以後,我心裏瞬間有譜了。”

** 3**

二維碼掃不出來了

然而,在騰訊相冊小程序通往用戶破億的道路上,困難重重。最初生成的相片分享二維碼如圖 2 所示。

圖 2 相片分享二維碼示例

由於騰訊相冊的二維碼需要加的信息量過大,因此它的二維碼顯得密密麻麻(如圖 3 所示)。這種密集的二維碼在某些 Android 機型下,容易出現無法識別小程序的問題。這嚴重製約了騰訊相冊小程序分享獲客的能力。

圖 3 二維碼需要存儲大量信息

這個事情不難解決,只需後臺開發把數據先存儲到數據庫中,然後把數據 id 放到分享鏈接上即可。這樣鏈接便可以轉化成 32 個字符的短鏈接,讓二維碼看起來沒有那麼密集了。

但由於後臺開發人手不足,於是前端開發 David 利用小程序 · 雲開發的數據庫存儲能力,通過調用 db.collection('qr').add 接口,快速實現了數據在數據庫中的存儲。具體操作如圖 4 至圖 6 所示。

首先創建一個數據庫集合,然後將相片的分享信息都存儲在該集合中。

圖 4 將相片分享信息存儲在數據庫中

如果想要加快相片讀取的速度,可以給該集合添加索引。

圖 5 雲開發數據庫索引可加快數據讀取

然後將分享鏈接轉換成短鏈,避免鏈接參數過長導致小程序讀取失敗。

圖 6 將分享鏈接轉成短鏈

此外,騰訊相冊還藉助小程序 · 雲開發的雲函數能力(如圖 7 所示),生成辨識度更高的小程序碼,用以在朋友圈傳播分享,如圖 8 所示。

圖 7 生成小程序碼的雲函數邏輯

圖 8 優化後的分享圖片和小程序碼

** 4**

兩天上線評論點贊功能

騰訊相冊在微信端的核心應用場景是 “在微信分享相冊照片”,爲了增強騰訊相冊用戶在微信裏的互動,提升用戶粘性和留存率,騰訊相冊決定新增評論與點贊功能,並且把聊天評論直接在微信聊天窗口裏實現。評論與點贊功能如圖 9 所示。

圖 9 評論與點贊功能

這時,騰訊相冊的 David 面臨兩個選擇:一是按原開發模式(前臺開發 - 後臺開發 - 前後臺聯調)做這個功能,問題是開發週期長、缺後臺、迭代速度慢;二是藉助雲開發的能力,擼起袖子自己上。

爲了加快產品迭代速度,David 決定採取雲開發的開發方式。評論、點贊通過雲開發的數據庫插入和查詢接口,如 db.collection('comment').add,很快就實現了。

但又遇到一個棘手的問題:對於一些敏感的操作(比如刪除和編輯評論、點贊),還需要用到用戶的鑑權操作,而這些鑑權信息都在原有的後臺。此時,雲函數的路由功能便發揮作用了。

用戶進行評論點讚的時候,會在小程序端發起請求調用雲函數並帶上 openid,雲函數用 openid 查詢原有的後臺服務,看看該用戶是否有權限進行操作,如果有權限,則把評論和點讚的數據都寫入雲開發的數據庫中,如圖 10 所示。

就這樣,藉助小程序 · 雲開發的能力,David 僅用 2 天時間就完成了在傳統開發模式下需要 1 周多工作量的開發工作(後臺 1 周:微信登錄態校驗 + 業務邏輯 server 開發;前後臺聯調 1 天)。

對於開發人員來講,雲開發帶來了極大的便利,一個開發就能撐起一個用戶過億的小程序。

本文節選自《小程序開發原理與實戰》。

本次活動的開獎日期爲:2021-06-08 19:00,中獎者請在 24 小時內聯繫阿寶哥,否則中獎無效,祝大家好運。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/NS88gJK-APnFLQQPFHi8JQ