1個開發如何撐起一個過億用戶的小程序

本文由雲+社區發表

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

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

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

後臺人力緊缺,怎麼辦?

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

“年底的目標是要過千萬的用戶,但現在只有幾位前端和後臺開發。不僅如此,我們的後臺開發還不是百分百能夠投入到這個項目,大部分時間要抽身支援其它項目,人力非常緊缺。此外,原有後臺系統有不少歷史包袱,在原有架構上做新的社交化功能開發是不現實的。怎麼辦?

“要不試試'小程序·雲開發'吧,只需要前端就可以把小程序搞起,正好解決我們缺後臺的難題。”

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

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

img

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

二維碼掃不出來了

img

道路總是不平坦的 ,在騰訊相冊小程序通往用戶破億的道路上,困難重重。

由於騰訊相冊的二維碼需要帶上的信息量過大,因此它的二維碼顯得密密麻麻。這種密集的二維碼在某些Android機型下,容易出現無法識別小程序的問題。

這嚴重製約了騰訊相冊小程序分享獲客的能力。

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

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

但由於後臺人力不足,於是前端開發David利用小程序· 雲開發的數據庫存儲能力,通過調用db.collection('qr').add接口,快速實現數據在數據庫中的存儲。

img(雲開發數據庫,格式類似MongoDB)

img(雲開發數據庫索引,可加快數據讀取)

img

此外,騰訊相冊還借住小程序·雲開發的雲函數能力,生成辨識度更高的小程序碼(小程序碼文檔),用以在朋友圈裏傳播分享。

img(生成小程序碼的雲函數邏輯)

img(優化後的分享圖片和小程序碼)

2天上線評論點贊功能

img(評論與點贊功能)

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

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

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

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

img(評論點贊邏輯)

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

就這樣,借住小程序·雲開發的能力,騰訊相冊僅用2天時間,完成了在傳統開發模式下需要1周多工作量的開發工作。

原有開發模式 雲開發全棧開發
工作量 後臺1周(微信登錄態校驗+業務邏輯server開發)+ 前後臺聯調1天 1 - 2天,無需聯調

此文已由作者授權騰訊雲+社區發佈

*s

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章