當(dāng)今移動應(yīng)用日益豐富,應(yīng)用里的內(nèi)容更新愈發(fā)高頻。如果仍舊依靠手機的原生頁面來hold這些變化會比較困難,不但開發(fā)者需要持續(xù)提供新版本去更新頁面,用戶也需要不斷地更新應(yīng)用版本方可獲取最新的內(nèi)容。這種狀況下,在應(yīng)用中嵌套WEB頁面獲得了眾多開發(fā)者的青睞,成為解決問題的首選方式。
HUAWEI AppGallery Connect提供的Serverless服務(wù)可以幫您快捷部署WEB網(wǎng)頁,WEB頁面數(shù)據(jù)與原生應(yīng)用的連接,助力開發(fā)者每天將不同的頁面與內(nèi)容呈現(xiàn)在用戶眼前。
Serverless服務(wù)具體是如何實現(xiàn)WEB頁面和原生應(yīng)用的連接呢?下面舉個例子吧。
電商應(yīng)用日新月異,商家經(jīng)常會推出琳瑯滿目的促銷活動,對不同品類進行重點推廣。某電商應(yīng)用舉辦一個品牌館的活動,領(lǐng)域內(nèi)的各大主流品牌都參與此次活動?;诖?,電商平臺需要提供一個統(tǒng)一風(fēng)格的WEB展示框架,同時為每個品牌設(shè)立一個WEB頁面,來展示品牌介紹以及促銷活動的詳情。
上述訴求,通過Serverless服務(wù)可輕松實現(xiàn):
·使用云函數(shù),實現(xiàn)不同品牌的頁面內(nèi)容分發(fā)邏輯。
·使用云數(shù)據(jù)庫和云存儲,用于保存頁面的內(nèi)容數(shù)據(jù),以及此項目應(yīng)用所需的數(shù)據(jù)。
·使用云托管,將此活動的WEB網(wǎng)頁托管云上。
·當(dāng)前端頁面將用戶選擇的品牌作為入?yún)鬟f給云函數(shù),云函數(shù)對接云數(shù)據(jù)庫和云存儲,通過此入?yún)@取頁面內(nèi)容相關(guān)的數(shù)據(jù)和資源,并統(tǒng)一調(diào)度分發(fā)到托管的WEB網(wǎng)頁上呈現(xiàn)。
其中云函數(shù)和前端頁面的實現(xiàn)尤為關(guān)鍵。
云函數(shù)部分
以Java語言為例,我們需要構(gòu)建一個普通的Maven框架的Java工程。按云函數(shù)的標(biāo)準(zhǔn)框架,我們創(chuàng)建一個入口函數(shù),函數(shù)的其中一個入?yún)镴SONObject類型的變量,用于實現(xiàn)函數(shù)在被調(diào)用時可通過此變量獲取用戶選擇的品牌名字。此外,在云函數(shù)中集成云數(shù)據(jù)庫的Server SDK,可以實現(xiàn)函數(shù)對接云數(shù)據(jù)庫查詢對應(yīng)品牌的所有數(shù)據(jù)。
在篩選數(shù)據(jù)的時候您可以通過類似如下的語句指定品牌來實現(xiàn):
CloudDBZoneQueryquery=CloudDBZoneQuery.where(goods.class).equalTo("brand",brand);
數(shù)據(jù)查詢成功后,通過入口函數(shù)的返回,實現(xiàn)云函數(shù)回傳數(shù)據(jù)到前端頁面。按云函數(shù)編寫規(guī)范,入口函數(shù)的返回值需為JSON形式,選擇云函數(shù)自帶的CanonicalHttpTriggerResponse類。
前端頁面部分
通過集成云函數(shù)的Web JS SDK,并在函數(shù)中創(chuàng)建HTTP觸發(fā)器,來實現(xiàn)云函數(shù)的觸發(fā)邏輯。當(dāng)前端頁面觸發(fā)函數(shù)時,需要將函數(shù)所需的入?yún)⑼ㄟ^請求發(fā)送給函數(shù)。按接口規(guī)范,需將所有參數(shù)寫成Json鍵值形式,帶入到觸發(fā)函數(shù)的方法中。
以傳入品牌名稱為例,傳入的參數(shù)類似如下的結(jié)構(gòu):
{
“brand”:Huawei
}
前端頁面觸發(fā)函數(shù)接口調(diào)用成功后,您可以對調(diào)用方法設(shè)置監(jiān)聽回調(diào),回調(diào)中即可獲取到函數(shù)的返回,即在函數(shù)中查詢到的此品牌所有數(shù)據(jù),最終將這些數(shù)據(jù)填充展示在頁面框架上。
按照上述步驟,“電商品牌館”的活動即可輕松實現(xiàn)!
而除了WEB頁面的高效部署,面對開發(fā)效率低、運維成本高、資源浪費等困境,Serverless認(rèn)證服務(wù)、云函數(shù)、云數(shù)據(jù)庫、云存儲以及云托管服務(wù),其跨平臺、上線快、成本低、免運維的特性,讓您不必關(guān)心云側(cè)資源的管理和運維,僅需聚焦業(yè)務(wù)創(chuàng)新及業(yè)務(wù)邏輯的實現(xiàn),有效提高應(yīng)用開發(fā)效率。
更有Serverless模板,助您快速部署和集成抽獎、游戲排行榜、短URL生成、圖片尺寸調(diào)整等產(chǎn)品功能,降本增效快人一步。