一种界面动态渲染方法及装置制造方法及图纸

技术编号:31090645 阅读:22 留言:0更新日期:2021-12-01 12:52
本发明专利技术实施例提供了一种界面动态渲染方法及装置。其中,所述方法包括:获取界面代码,所述界面代码用于描述界面;若界面代码中包含脚本字符串,则执行所述脚本字符串,以在用于渲染界面的预设引擎中加载所述脚本字符串所表示的组件,得到加载有所述组件的预设引擎,其中,所述脚本字符串用于表示实现指定功能的组件;利用加载有所述组件的预设引擎渲染所述界面代码所描述的界面。可以使得用户能够根据实际需求对引擎进行定制,进而使用经过定制的引擎渲染得到符合不同需求的界面,使得界面渲染不再受限制于引擎,有效提高了引擎的适用性。性。性。

【技术实现步骤摘要】
一种界面动态渲染方法及装置


[0001]本专利技术涉及界面渲染
,特别是涉及一种界面动态渲染方法及装置。

技术介绍

[0002]应用程序可能需要根据实际需求的不同设置不同的界面,以用于观看视频的应用程序为例,由于不同时期推荐观看的视频不同,需要根据推荐观看的视频设置不同的用户界面(User Interface,下文简称界面)。
[0003]相关技术中,开发人员可以基于用于界面渲染的引擎针对不同需求开发不同的界面,但是一方面引擎能够提供的功能往往有限,无法满足各种不同的实际需求。另一方面,如果引擎提供数量较多的功能则会导致引擎的开发和运维成本较高。
[0004]因此,相关技术中受限制于引擎,渲染出的界面可能难以满足实际需求。

技术实现思路

[0005]本专利技术实施例的目的在于提供一种界面动态渲染方法及装置,以实现提高引擎的适用性。具体技术方案如下:
[0006]在本专利技术实施的第一方面,首先提供了一种界面动态渲染方法,所述方法包括:
[0007]获取界面代码,所述界面代码用于描述界面;
[0008]若界面代码中包含脚本字符串,则执行所述脚本字符串,以在用于渲染界面的预设引擎中加载所述脚本字符串所表示的组件,得到加载有所述组件的预设引擎,其中,所述脚本字符串用于表示实现指定功能的组件;
[0009]利用加载有所述组件的预设引擎渲染所述界面代码所描述的界面。
[0010]在一种可能的实施例中,所述界面代码中包含嵌套信息,所述嵌套信息用于表示所述界面代码所描述的界面中各界面元素之间的嵌套关系;
[0011]所述利用所述更新引擎渲染所述界面代码所描述的界面,包括:
[0012]根据所述界面代码,确定所述界面代码所描述的界面中包含的各个界面元素;
[0013]通过加载有所述组件的预设引擎按照所述嵌套信息所表示的嵌套关系建立所述界面中包含的各个界面元素之间的嵌套关系,得到界面模板;
[0014]利用加载有所述组件的预设引擎将所述界面中包含的各个界面元素加载至所述界面模板,得到所述界面代码所描述的界面。
[0015]在一种可能的实施例中,所述界面代码中包含配置信息,所述配置信息用于表示已配置界面元素的加载方式,所述已配置界面元素为所述各个界面元素中的至少一个界面元素;
[0016]所述利用加载有所述组件的预设引擎将所述界面中包含的各个界面元素加载至所述界面模板,得到所述界面代码所描述的界面,包括:
[0017]针对每个已配置界面元素,按照所述配置信息所表示的该已配置界面元素的加载方式加载该已配置界面元素;
[0018]针对每个未配置界面元素,按照该未配置界面元素的上级界面元素的加载方式加载该未配置界面元素,其中,所述未配置界面元素为所述各个界面元素中不为已配置界面元素的界面元素,所述上级界面元素为嵌套有该未配置界面元素的界面元素。
[0019]在一种可能的实施例中,所述利用所述组件渲染所述界面代码所描述的界面,包括:
[0020]利用加载有所述组件的预设引擎渲染所述界面代码所描述的界面,所述预设引擎为React Native框架的界面渲染引擎。
[0021]在一种可能的实施例中,在所述利用加载有所述组件的预设引擎渲染所述界面代码所描述的界面之前,所述方法还包括:
[0022]对预设引擎进行热更新;
[0023]所述利用加载有所述组件的预设引擎渲染所述界面代码所描述的界面,包括:
[0024]利用加载有所述组件的经过热更新的所述预设引擎渲染所述界面代码所描述的界面。
[0025]在一种可能的实施例中,所述脚本字符串中声明的对象在所述加载有所述组件的预设引擎中被声明为全局对象。。
[0026]在本专利技术实施的第二方面,还提供了一种界面动态渲染装置,所述装置包括:
[0027]数据获取模块,用于获取界面代码,所述界面代码用于描述界面;
[0028]脚本执行模块,用于若界面代码中包含脚本字符串,则执行所述脚本字符串,以在用于渲染界面的预设引擎中加载所述脚本字符串所表示的组件,得到加载有所述组件的预设引擎,其中,所述脚本字符串用于表示实现指定功能的组件;
[0029]界面渲染模块,用于利用加载有所述组件的预设引擎渲染所述界面代码所描述的界面。
[0030]在一种可能的实施例中,所述界面代码中包含嵌套信息,所述嵌套信息用于表示所述界面代码所描述的界面中各对象之间的嵌套关系;
[0031]所述界面渲染模块利用所述更新引擎渲染所述界面代码所描述的界面,包括:
[0032]根据所述界面代码,确定所述界面代码所描述的界面中包含的各个界面元素;
[0033]通过加载有所述组件的预设引擎按照所述嵌套信息所表示的嵌套关系建立所述界面中包含的各个界面元素之间的嵌套关系,得到界面模板;
[0034]利用加载有所述组件的预设引擎将所述界面中包含的各个界面元素加载至所述界面模板,得到所述界面代码所描述的界面。
[0035]在一种可能的实施例中,所述界面代码中包含配置信息,所述配置信息用于表示所述各个界面元素中的已配置界面元素的加载方式,所述已配置界面元素为所述各个界面元素中的至少一个界面元素;
[0036]所述界面渲染模块利用加载有所述组件的预设引擎将所述界面中包含的各个界面元素加载至所述界面模板,得到所述界面代码所描述的界面,包括:
[0037]针对每个已配置界面元素,,按照所述配置信息所表示的该已配置界面元素的加载方式加载该已配置界面元素;
[0038]针对每个未配置界面元素,按照该未配置界面元素的上级界面元素的加载方式加载该未配置界面元素,其中,所述未配置界面元素为所述各个界面元素中不为已配置界面
元素的界面元素,所述上级界面元素为嵌套有该未配置界面元素的界面元素。
[0039]在一种可能的实施例中,所述装置还包括热更新模块,用于对预设引擎进行热更新;
[0040]所述利用加载有所述组件的预设引擎渲染所述界面代码所描述的界面,包括:
[0041]利用加载有所述组件的经过热更新的所述预设引擎渲染所述界面代码所描述的界面。
[0042]在一种可能的实施例中,所述脚本字符串中声明的对象在所述加载有所述组件的预设引擎中被声明为全局对象。
[0043]在本专利技术实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的界面动态渲染方法。
[0044]在本专利技术实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的界面动态渲染方法。
[0045]本专利技术实施例提供的界面动态渲染方法及装置,可以通过在界面代码中携带脚本字符串的方式,在用于渲染界面的预设引擎中加载脚本字符串所表示的组件,从而可以在界面渲染过程中动态的调整引擎中的组件,使得本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种界面动态渲染方法,其特征在于,所述方法包括:获取界面代码,所述界面代码用于描述界面;若界面代码中包含脚本字符串,则执行所述脚本字符串,以在用于渲染界面的预设引擎中加载所述脚本字符串所表示的组件,得到加载有所述组件的预设引擎,其中,所述脚本字符串用于表示实现指定功能的组件;利用加载有所述组件的预设引擎渲染所述界面代码所描述的界面。2.根据权利要求1所述的方法,其特征在于,所述界面代码中包含嵌套信息,所述嵌套信息用于表示所述界面代码所描述的界面中各界面元素之间的嵌套关系;所述利用所述更新引擎渲染所述界面代码所描述的界面,包括:根据所述界面代码,确定所述界面代码所描述的界面中包含的各个界面元素;通过加载有所述组件的预设引擎按照所述嵌套信息所表示的嵌套关系建立所述界面中包含的各个界面元素之间的嵌套关系,得到界面模板;利用加载有所述组件的预设引擎将所述界面中包含的各个界面元素加载至所述界面模板,得到所述界面代码所描述的界面。3.根据权利要求2所述的方法,其特征在于,所述界面代码中包含配置信息,所述配置信息用于表示已配置界面元素的加载方式,所述已配置界面元素为所述各个界面元素中的至少一个界面元素;所述利用加载有所述组件的预设引擎将所述界面中包含的各个界面元素加载至所述界面模板,得到所述界面代码所描述的界面,包括:针对每个已配置界面元素,按照所述配置信息所表示的该已配置界面元素的加载方式加载该已配置界面元素;针对每个未配置界面元素,按照该未配置界面元素的上级界面元素的加载方式加载该未配置界面元素,其中,所述未配置界面元素为所述各个界面元素中不为已配置界面元素的界面元素,所述上级界面元素为嵌套有该未配置界面元素的界面元素。4.根据权利要求1所述的方法,其特征在于,在所述利用加载有所述组件的预设引擎渲染所述界面代码所描述的界面之前,所述方法还包括:对预设引擎进行热更新;所述利用加载有所述组件的预设引擎渲染所述界面代码所描述的界面,包括:利用加载有所述组件的经过热更新的所述预设引擎渲染所述界面代码所描述的界面。5.根据权利要求1所述的方法,其特征在于,所述脚本字符串中声明的对象在所述加载有所述组件的预设引擎中被声明为全局对象。6.一种界面动态渲染装置,其特征在于,所述装置包括:数据获取模块,用于获取界面...

【专利技术属性】
技术研发人员:甘泉
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1