Serverless輕鬆實現WEB頁面與應用交互,玩轉活動運營

語言: CN / TW / HK

當今移動應用日益豐富,應用裏的內容更新愈發高頻。如果仍舊依靠手機的原生頁面來hold這些變化會比較困難,不但開發者需要持續提供新版本去更新頁面,用户也需要不地更新應用版本方可獲取最新的內容。這種狀況下,在應用中嵌套WEB頁面獲得了眾多開發者的青睞,成為解決問題的首選方式。

HUAWEI AppGallery Connect提供的Serverless服務可以幫您快捷部署WEB網頁,WEB頁面數據與原生應用的連接,助力開發者每天將不同的頁面與內容呈現在用户眼前。

Serverless服務具體如何實現WEB頁面和原生應用的連接呢?下面舉個栗子吧。

電商應用日新月異,商家經常會推出琳琅滿目的促銷活動,對不同品類進行重點推廣。某電商應用舉辦一個品牌館的活動,領域內的各大主流品牌都參與此次活動。基於此,電商平台需要提供一個統一風格的WEB展示框架,同時為每個品牌設立一個WEB頁面,來展示品牌介紹以及促銷活動的詳情

上述訴求,通過Serverless服務可輕鬆實現:

  1. 使用雲函數,實現不同品牌的頁面內容分發邏輯。
  2. 使用雲數據庫雲存儲,用於保存頁面的內容數據,以及此項目應用所需的數據。
  3. 使用雲託管,將此活動的WEB網頁託管雲上。
  4. 當前端頁面將用户選擇的品牌作為入參傳遞給雲函數,雲函數對接雲數據庫和雲存儲,通過此入參獲取頁面內容相關的數據和資源,並統一調度分發到託管的WEB網頁上呈現。

其中雲函數和前端頁面的實現尤為關鍵。

  1. 雲函數部分

以java語言為例,我們需要構建一個普通的Maven框架的Java工程。按雲函數的標準框架,我們創建一個入口函數,函數的其中一個入參為JSONObject類型的變量,用於實現函數在被調用時可通過此變量獲取用户選擇的品牌名字。此外,在雲函數中集成雲數據庫的Server SDK,可以實現函數對接雲數據庫查詢對應品牌的所有數據。

篩選數據的時候可以通過類似如下的語句指定品牌來實現:

CloudDBZoneQuery<goods> query = CloudDBZoneQuery.where(goods.class).equalTo("brand", brand);

數據查詢成功後,通過入口函數的返回,實現雲函數回傳數據到前端頁面。按雲函數編寫規範,入口函數的返回值需為JSON形式,選擇雲函數自帶的CanonicalHttpTriggerResponse類。

  1. 前端頁面部分

通過集成雲函數的Web JS SDK,並在函數中創建HTTP觸發器,來實現雲函數的觸發邏輯。當前端頁面觸發函數時,需要將函數所需的入參通過請求發送給函數。按接口規範,需將所有參數寫成Json鍵值形式,帶入到觸發函數的方法中。

以傳入品牌名稱為例,傳入的參數類似如下的結構:

{

“brand” : Huawei

}

前端頁面觸發函數接口調用成功後,您可以對調用方法設置監聽回調,回調中即可獲取到函數的返回,即在函數中查詢到的此品牌所有數據,最終將這些數據填充展示在頁面框架上。

按照上述步驟,“電商品牌館”的活動即可輕鬆實現!

而除了WEB頁面的高效部署,面對開發效率低、運維成本高、資源浪費等困境,Serverless認證服務、雲函數、雲數據庫、雲存儲以及雲託管服務,其跨平台、上線快、成本低、免運維的特性,讓您不必關心雲側資源的管理和運維,僅需聚焦業務創新及業務邏輯的實現,有效提高應用開發效率。

更有Serverless模板,助您快速部署和集成抽獎、遊戲排行榜、短URL生成、圖片尺寸調整等產品功能,降本增效快人一步。