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

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

騰訊相冊用戶量破億

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

後臺人力緊缺,怎麼辦?

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

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

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

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

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

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

二維碼掃不出來了

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

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

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

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

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

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

(雲開發資料庫,格式類似MongoDB)

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

h5.qzone.qq.com/mini/qz (二維碼自動識別)

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

(生成小程序碼的雲函數邏輯)
(優化後的分享圖片和小程序碼)

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 等用戶信息的邏輯,如下圖:

相關資料

微信小程序雲開發解決方案 - 騰訊雲?

cloud.tencent.com圖標小程序·雲開發?

developers.weixin.qq.com
圖標

推薦閱讀:

相關文章