App下載

小程序云開(kāi)發(fā)支持公眾號(hào)網(wǎng)頁(yè)開(kāi)發(fā)了

猿友 2020-09-24 10:18:10 瀏覽數(shù) (4271)
反饋

文章來(lái)源于公眾號(hào):Vue中文社區(qū) 作者:性感超人

小程序云開(kāi)發(fā),這波更新有料!

云開(kāi)發(fā)(Tencent Cloud Base)

做前端的同學(xué)基本上或多或少都接觸過(guò) 小程序 ,但是,接觸過(guò)小程序的同學(xué)不一定接觸過(guò)云開(kāi)發(fā)

普及一下

云開(kāi)發(fā)是一種典型的 Serverless 架構(gòu)的實(shí)現(xiàn)方式,這里可能還有同學(xué)對(duì) Serverless 不熟悉

我們?cè)侔堰@個(gè)詞拆開(kāi),Server(服務(wù)器) less(不重要),可以理解為“無(wú)服務(wù)器”

試想一下,大多數(shù)公司和開(kāi)發(fā)者在開(kāi)發(fā)應(yīng)用時(shí)和部署服務(wù)時(shí),無(wú)論是選擇公有云還是自建數(shù)據(jù)中心,都需要提前考慮服務(wù)器、存儲(chǔ)和數(shù)據(jù)庫(kù)等需求,并且需要花費(fèi)時(shí)間精力在部署應(yīng)用、依賴。那么是否有一種架構(gòu)可以幫我們節(jié)省這部分的成本呢?有,就是我們的 Serverless(無(wú)服務(wù)器)架構(gòu)

具體來(lái)說(shuō),Serverless 架構(gòu)是指由第三方服務(wù)商負(fù)責(zé)后端基礎(chǔ)結(jié)構(gòu)的維護(hù),以服務(wù)的方式為開(kāi)發(fā)者提供如數(shù)據(jù)庫(kù)、消息、身份驗(yàn)證等功能,架構(gòu)的目的就是要讓開(kāi)發(fā)人員只需要專注業(yè)務(wù)本身

現(xiàn)在我們?cè)诨氐叫〕绦蛟崎_(kāi)發(fā)本身,云開(kāi)發(fā)官方封裝了云函數(shù)、存儲(chǔ)、云數(shù)據(jù)庫(kù)的能力,一個(gè)函數(shù)調(diào)用,直接就實(shí)現(xiàn)了鑒權(quán)、文件上傳、更新數(shù)據(jù)等最最常用的功能

兩個(gè)字來(lái)說(shuō),就是真香

我們以一個(gè)更具體的功能來(lái)說(shuō)

傳統(tǒng)模式下我們想要調(diào)用微信登錄,需要將 code 傳給服務(wù)端,服務(wù)端將 code 拿去微信服務(wù)換取用戶信息,自做存儲(chǔ),更新

而使用云開(kāi)發(fā)時(shí),我們只要調(diào)用一個(gè)api,沒(méi)看錯(cuò),就是一個(gè)api,一行代碼完事

我們看下圖對(duì)比一下

云開(kāi)發(fā)調(diào)用api

跨賬號(hào)環(huán)境共享

小程序 的云開(kāi)發(fā)一直都是一個(gè)appid對(duì)應(yīng)一個(gè)獨(dú)立云環(huán)境,這個(gè)怎么理解呢?

還是以實(shí)際場(chǎng)景舉例,比如你有A,B,C三個(gè)小程序產(chǎn)品,你的某些數(shù)據(jù)可能需要共享的,如用戶信息共享,商品信息共享

這個(gè)在發(fā)文前小程序云開(kāi)發(fā)是沒(méi)有這個(gè)能力處理的,所以想要實(shí)現(xiàn)要么就是自建共享數(shù)據(jù)服務(wù),要么就是直接棄用云服務(wù)

好在今天它來(lái)了

云開(kāi)發(fā)支持跨賬號(hào)環(huán)境(資源)共享,也就是一個(gè)小程序 的云開(kāi)發(fā)資源可以授權(quán)給其他小程序 / 公眾號(hào)使用

開(kāi)通方式也很簡(jiǎn)單,只需要在云開(kāi)發(fā)的后臺(tái)進(jìn)行給相應(yīng)的小程序 / 公眾號(hào)授權(quán)即可,如下圖

跨賬號(hào)環(huán)境共享

跨賬號(hào)環(huán)境共享

公眾號(hào)環(huán)境打通

細(xì)心的同學(xué)可能已經(jīng)發(fā)現(xiàn)了,上面有提到公眾號(hào)

What? 公眾號(hào)也有云服務(wù)了嗎?

是滴,這次更新云開(kāi)發(fā)打通了公眾號(hào)體系,公眾號(hào)只要小程序給開(kāi)通授權(quán),再引入云開(kāi)發(fā)的Web sdk 就可以直接使用小程序的云服務(wù)

對(duì)我們來(lái)說(shuō)有什么好處

  • 資源復(fù)用

云開(kāi)發(fā)小程序所有資源都可以在web端復(fù)用

  • 能力復(fù)用

云開(kāi)發(fā)小程序所有能力都可以在web端復(fù)用(如你花兩個(gè)星期寫好的一個(gè)全是bug的云函數(shù))

更直觀的感受,比如我們之前 jssdk 的簽名方式

wx.config({
  appId: '公眾號(hào) AppID', // 必填,公眾號(hào)的唯一標(biāo)識(shí)
  timestamp: res.timestamp + '', // 必填,生成簽名的時(shí)間戳
  nonceStr: res.nonceStr, // 必填,生成簽名的隨機(jī)串
  signature: res.signature,// 必填,簽名
  jsApiList: ['JS API 名'] // 必填,需要使用的JS接口列表
})

現(xiàn)在我們只需要這樣

const res = await cloud.getJSSDKSignature({
  url: '要簽名的網(wǎng)頁(yè) URL'
})

靜態(tài)網(wǎng)站托管

這個(gè)詞相信大家已經(jīng)很熟了

當(dāng)我們想布署一個(gè)靜態(tài)的網(wǎng)頁(yè)應(yīng)用,博客,手頭上暫時(shí)又沒(méi)有域名,服務(wù)器的時(shí)候,我們可以將靜態(tài)網(wǎng)站托管到第三方平臺(tái),比如同性交友github

那么小程序云開(kāi)發(fā)的靜態(tài)網(wǎng)站托管跟其它的有什么不同嗎?

原則上沒(méi)什么不同,但作為微信生態(tài)的一部分,在微信中有著天然優(yōu)勢(shì)

比如:

  • 小程序 webview

小程序不用配置業(yè)務(wù)域名即可在打開(kāi)云開(kāi)發(fā)靜態(tài)網(wǎng)站托管的域名(僅支持能夠使用標(biāo)簽的小程序)

  • 免鑒權(quán)直接打開(kāi)小程序

非個(gè)人主體的認(rèn)證的小程序,使用靜態(tài)網(wǎng)站托管的網(wǎng)頁(yè),可以免鑒權(quán)跳轉(zhuǎn)任意合法合規(guī)的小程序

寫到這里,帥編突然邪魅一笑,是不是可以用靜態(tài)網(wǎng)站托管做一個(gè)微信小程序的應(yīng)用分發(fā),然后躺著掙流量錢

最后

雖然吹了一波云開(kāi)發(fā),但還是得給個(gè)中肯建議

個(gè)人項(xiàng)目、功能簡(jiǎn)單的小程序可以嘗試使用,那是真香

規(guī)模稍大以及企業(yè)級(jí)項(xiàng)目現(xiàn)階段不建議完全使用,可按需混合使用

以上就是W3Cschool編程獅關(guān)于小程序云開(kāi)發(fā)支持公眾號(hào)網(wǎng)頁(yè)開(kāi)發(fā)了的相關(guān)介紹了,希望對(duì)大家有所幫助。

0 人點(diǎn)贊