【技术实现步骤摘要】
组件动态渲染方法、装置、设备及介质
[0001]本申请涉及计算机
,尤其涉及一种组件动态渲染方法、装置、设备及介质。
技术介绍
[0002]随着计算机技术的发展,以可视化形式向用户展示信息的方式越来越丰富,尤其在移动端,不同的移动平台通常可以通过APP、小程序、微商城、移动网站等多种方式向用户展示信息。在一些业务灵活多变、期望快速响应落地、敏捷迭代的场景中,采用高性能的移动开发技术对组件进行动态化渲染一直是应用程序开发者尤其是移动端开发者追求的目标。
[0003]然而,目前已有的动态化渲染方案都有不足之处,例如,H5的基于Web的动态化渲染方案是依托于浏览器内核进行渲染的H5技术,在动态化渲染方面虽然具有天然优势,但是由于其性能低、体验差等缺点限制了在业务上的大规模应用;又例如,跨平台移动应用开发框架React Native(简称RN)的基于React JS的动态化方案是在JS运行时,由JS代码来控制原生侧对页面渲染及交互,虽然可以通过JS对RN的解释执行下发JS bundle实现应用程序的动态渲染,但是由于J ...
【技术保护点】
【技术特征摘要】
1.一种组件动态渲染方法,其特征在于,包括:响应应用程序支持的第一平台针对目标页面发起的渲染请求,获取所述目标页面对应的DSL描述文件,所述DSL描述文件是脱离所述第一平台特性的页面信息描述文件;识别所述DSL描述文件中包含的多个UI对象的属性信息以及所述多个UI对象之间的级联关系;将所述多个UI对象的属性信息转换为所述第一平台所能识别的多个组件描述信息,所述多个组件描述信息指向所述第一平台支持的多个目标组件;将所述多个UI对象之间的级联关系转换为所述多个目标组件对应的页面布局信息;根据所述页面布局信息和所述多个组件描述信息,利用所述多个目标组件进行页面渲染,以得到所述目标页面。2.根据权利要求1所述的方法,其特征在于,响应应用程序支持的第一平台针对目标页面发起的渲染请求,获取所述目标页面对应的DSL描述文件,包括:响应应用程序支持的第一平台针对目标页面发起的渲染请求,从本地缓存中获取所述目标页面对应的DSL描述文件;所述方法还包括:在所述应用程序启动过程中,向DSL描述文件管理平台发送第一DSL描述文件请求,所述第一DSL描述文件请求中包括所述应用程序的版本信息和所述应用程序包含的各页面的标识;接收所述DSL描述文件管理平台根据所述应用程序的版本信息和各页面的标识返回的各页面对应的DSL描述文件,并将各页面对应的DSL文件写入本地缓存中。3.根据权利要求1所述的方法,其特征在于,响应应用程序支持的第一平台针对目标页面发起的渲染请求,获取所述目标页面对应的DSL描述文件,包括:响应应用程序支持的第一平台针对目标页面发起的渲染请求,向DSL描述文件管理平台发送第二DSL描述文件请求,所述第二DSL描述文件请求中包括所述应用程序的版本信息和所述目标页面的标识;接收所述DSL描述文件管理平台根据所述应用程序的版本信息和所述目标页面的标识返回的所述目标页面对应的DSL描述文件。4.根据权利要求1所述的方法,其特征在于,所述DSL描述文件的数据结构为视图树结构,识别所述DSL描述文件中包含的多个UI对象的属性信息以及所述多个UI对象之间的级联关系,包括:对所述DSL描述文件进行解析,得到所述视图树中各节点对应的UI对象及其属性信息;根据所述视图树中各节点之间的级联关系,确定各节点对应的UI对象之间的级联关系。5.根据权利要求1所述的方法,其特征在于,将所述多个UI对象的属性信息转换为所述第一平台所能识别的多个组件描述信息,包括:从所述多个UI对象的属性信息中解析出渲染所述目标页面所需的多个组件基本信息和多个组件布局信息;根据所述第一平台支持的语法规则,将所述多个组件基本信息和多个组件布局信息转换为所述第一平台支持的多个组件描述信息。6.根据权利要求5所述的方法,其特征在于,还包括:
获取所述第一平台对所述目标页面的指定渲染信息,根据所述指定渲染信息确定指定渲染组件以及所述指定渲染组件的组件基本信息和组件布局信息;所述将所述多个UI对象的属性信息转换为所述第一平台所能识别的多个组件描述信息,包括:根据所述第一平台支持的语法规则,将所述多个UI对象和所述指定渲染组件的组件基本信息和组件布局信息转换为所述第一平台支持的多个组件描述信息。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:根据所述指定渲染的组件基本信息和组件布局信息,确定所述指定渲染组件和所述多个目标组件之间的级联关系;其中,所述指定渲染组件和所述多个目标组件之间的级联关系共同作为级联关系,所述指定渲染信息和所述多个UI对象的属性信息共同作为属性信息。8.根据权利要求5或...
【专利技术属性】
技术研发人员:秦小杰,钱杰,吴振,
申请(专利权)人:瑞庭网络技术上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。