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