当今移动应用日益丰富,应用里的内容更新愈发高频。如果仍旧依靠手机的原生页面来hold这些变化会比较困难,不但开发者需要持续提供新版本去更新页面,用户也需要不断地更新应用版本方可获取最新的内容。这种状况下,在应用中嵌套WEB页面获得了众多开发者的青睐,成为解决问题的首选方式。

HUAWEI AppGallery Connect提供的Serverless服务可以帮您快捷部署WEB网页,WEB页面数据与原生应用的连接,助力开发者每天将不同的页面与内容呈现在用户眼前。

Serverless服务具体是如何实现WEB页面和原生应用的连接呢?下面举个栗子吧。

电商应用日新月异,商家经常会推出琳琅满目的促销活动,对不同品类进行重点推广。某电商应用举办一个品牌馆的活动,领域内的各大主流品牌都参与此次活动。基于此,电商平台需要提供一个统一风格的WEB展示框架,同时为每个品牌设立一个WEB页面,来展示品牌介绍以及促销活动的详情。

上述诉求,通过Serverless服务可轻松实现:
 使用云函数,实现不同品牌的页面内容分发逻辑。
 使用云数据库云存储,用于保存页面的内容数据,以及此项目应用所需的数据。
 使用云托管,将此活动的WEB网页托管云上。
 当前端页面将用户选择的品牌作为入参传递给云函数,云函数对接云数据库和云存储,通过此入参获取页面内容相关的数据和资源,并统一调度分发到托管的WEB网页上呈现。

其中云函数和前端页面的实现尤为关键。
image.png
 云函数部分
以java语言为例,我们需要构建一个普通的Maven框架的Java工程。按云函数的标准框架,我们创建一个入口函数,函数的其中一个入参为JSONObject类型的变量,用于实现函数在被调用时可通过此变量获取用户选择的品牌名字。此外,在云函数中集成云数据库的Server SDK,可以实现函数对接云数据库查询对应品牌的所有数据。
在筛选数据的时候您可以通过类似如下的语句指定品牌来实现:
CloudDBZoneQuery<goods> query = CloudDBZoneQuery.where(goods.class).equalTo("brand", brand);
数据查询成功后,通过入口函数的返回,实现云函数回传数据到前端页面。按云函数编写规范,入口函数的返回值需为JSON形式,选择云函数自带的CanonicalHttpTriggerResponse类。

 前端页面部分
通过集成云函数的Web JS SDK,并在函数中创建HTTP触发器,来实现云函数的触发逻辑。当前端页面触发函数时,需要将函数所需的入参通过请求发送给函数。按接口规范,需将所有参数写成Json键值形式,带入到触发函数的方法中。
以传入品牌名称为例,传入的参数类似如下的结构:
{

“brand” : Huawei

}
前端页面触发函数接口调用成功后,您可以对调用方法设置监听回调,回调中即可获取到函数的返回,即在函数中查询到的此品牌所有数据,最终将这些数据填充展示在页面框架上。

按照上述步骤,“电商品牌馆”的活动即可轻松实现!

而除了WEB页面的高效部署,面对开发效率低、运维成本高、资源浪费等困境,Serverless认证服务、云函数、云数据库、云存储以及云托管服务,其跨平台、上线快、成本低、免运维的特性,让您不必关心云侧资源的管理和运维,仅需聚焦业务创新及业务逻辑的实现,有效提高应用开发效率。
image.png
更有Serverless模板,助您快速部署和集成抽奖、游戏排行榜、短URL生成、图片尺寸调整等产品功能,降本增效快人一步。


华为开发者论坛
352 声望56 粉丝

华为开发者论坛是一个为开发者提供信息传播、开发交流、技术分享的交流空间。开发者可以在此获取技术干货、华为源码开放、HMS最新活动等信息,欢迎大家来交流分享!