界面展示数据的方法及装置制造方法及图纸

技术编号:15794958 阅读:493 留言:0更新日期:2017-07-10 10:35
本申请公开了界面展示数据的方法及装置,该方法将服务端下发的界面模板的结构化数据解析成虚拟视图节点,所述界面模板的结构化数据由服务端对通用协议标记语言编写的界面模板数据解析后生成,所述界面模板数据包括用于描述控件的通用标签;将业务数据和所述虚拟视图节点绑定;根据绑定业务数据后的虚拟视图节点计算所述控件的位置信息;根据所述控件的位置信息渲染视图。本申请能够动态更新客户端的界面。

【技术实现步骤摘要】
界面展示数据的方法及装置
本申请涉及客户端数据显示技术,尤其涉及界面展示数据的方法和装置。
技术介绍
应用程序客户端的界面框架通常是采用原生代码编写的,界面框架根据业务需求预先指定后是固定不变的,每个界面的框架和样式是与所对应的业务数据结构相适应的。如果需要根据业务变更改变界面框架,或者为了增加新业务数据而增加新的界面框架,通常需要重新编译应用程序客户端,并重新下载安装应用程序客户端,如果用户不更新客户端,则变更或增加的业务数据将无法呈现给用户。
技术实现思路
本申请提供界面展示数据的方法和装置,能够动态更新客户端的界面。根据本申请实施例的第一方面,提供一种界面展示数据的方法,运行于客户端,该方法包括步骤:将服务端下发的界面模板的结构化数据解析成虚拟视图节点,所述界面模板的结构化数据由服务端对通用协议标记语言编写的界面模板数据解析后生成,所述界面模板数据包括用于描述控件的通用标签;将业务数据和所述虚拟视图节点绑定;根据绑定业务数据后的虚拟视图节点计算所述控件的位置信息;根据所述控件的位置信息渲染视图。根据本申请实施例的第二方面,提供一种界面展示数据的方法,运行于服务端,该方法包括步骤:将通用协议标记语言编写的界面模板数据解析成结构化数据;所述界面模板数据包括用于描述控件的通用标签;将所述结构化数据下发给客户端,以使所述客户端将所述控件渲染成视图。根据本申请实施例的第三方面,提供一种界面展示数据的装置,位于客户端,包括:解析引擎模块,用于将服务器下发的界面模板的结构化数据解析成虚拟视图节点,所述界面模板的结构化数据由服务端对通用协议标记语言编写的界面模板数据解析后生成,所述界面模板数据包括用于描述控件的通用标签;绑定模块,用于将业务数据和所述虚拟视图节点绑定;布局引擎模块,用于根据绑定业务数据后的虚拟视图节点计算所述控件的位置信息;渲染引擎模块,用于根据所述控件的位置信息渲染视图。根据本申请实施例的第四方面,提供一种界面展示数据的装置,位于服务端,包括:解析引擎模块,用于将通用协议标记语言编写的界面模板数据解析成结构化数据;所述界面模板数据包括用于描述控件的通用标签;通信模块,用于将所述结构化数据下发给客户端,以使所述客户端将所述控件渲染成视图。本申请通过界面模板技术而不是原生代码来实现客户端的界面框架,并相应的提供了客户端通过界面模板实现展示业务数据的解决方案,不仅做到在不更新客户端的情况下更新界面,而且,通过服务端将界面模板数据解析成结构化数据,使得开发人员可以通过通用标记语言设计界面模板,因此消除了开发人员学习私有协议的门槛,使得本申请的方案更具有通用性。附图说明图1为本申请实施例中界面展示数据的方法的流程图;图2为本申请应用实例中信息交互的时序图;图3为本申请实施例中界面展示数据的装置的硬件架构图;图4为本申请一实施例中界面展示数据的装置的软件逻辑框图;图5为本申请另一实施例中界面展示数据的装置的软件逻辑框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请中可以做到界面模板和应用程序客户端分离,以方便界面模板的动态更新,并且允许程序开发人员基于通用协议标记语言来编写界面模板。应用程序客户端可以装载于各种智能设备上,例如移动终端、平板电脑、电脑等。本方案不限制智能设备上操作系统的类型,例如操作系统可以是iOS系统、android系统、windows系统、OSX系统等。通用协议标记语言可以是HTML(HyperTextMarkupLanguage,超文本标记语言),当然不排除其他适合于制作界面的标准通用协议定义的语言。界面模板在本申请中是指某一界面中包含若干个通用元素的布局关系、显示样式以及操作控制逻辑等,但不包含业务数据的界面框架,可以通过HTML、CSS(CascadingStyleSheets,层叠样式表)和JS(Javascript脚本)来实现。通用元素可以包括HTML源代码中的界面模板数据的通用标签,通过通用标签来描述控件。例如Body标签、Div标签、Title标签、Label标签、Img标签等等。通用元素还可以包含表达显示样式的元素,显示样式可以通过CSS来实现,通过CSS为HTML编写的界面定义布局,当然,并不排除通过其他方式来定义界面布局。可以通过JS来控制通用标签的显示内容、展示效果、布局关系的调整,以及处理用户操作。程序开发人员所编写的界面模板配置到服务端后,服务端将界面模板数据转换为界面模板的结构化数据,并将该界面模板的结构化数据发给客户端;请参见图1,客户端收到结构化数据后的工作过程可以包括:S101,客户端将服务端发送的界面模板的结构化数据解析成虚拟视图节点;S102,将业务数据和虚拟视图节点绑定;S103,根据绑定业务数据后的虚拟视图节点计算控件的位置信息;S104,根据控件的位置信息渲染视图。对于服务端的工作过程,可以包括对界面模板数据的转换过程、界面模板的结构化数据的分发过程、与客户端交互业务数据的过程。为了解决HTML的解析性能较差的问题,服务端将界面模板数据发给客户端之前,先在服务端解析成结构化数据,然后再发给客户端,避免了客户端解析HTML的过程。所选择的结构化数据可以是结构紧凑,且可以直接表达对象型的数据结构,例如JSON格式,XML格式。以JSON格式为例,HTML可以被解析成DOM(DocumentObjectMode,文档对象模型),DOM节点存储HTML的通用标签的相关信息,DOM节点描述了通用标签所描述的控件在界面中的相对位置。由于JSON格式的语法树会比HTML简单很多,因此客户端对JSON格式的数据的解析效率比HTML数据高很多。每个界面模板具有唯一的界面标识,以区分不同的界面模板。界面模板数据解析成结构化数据后将被服务端分发给客户端,以便客户端后续展现业务数据使用,界面模板的结构化数据中包含界面标识。更新后的界面模板分发给客户端的过程可以因实际的业务场景不同而有不同。例如,服务端可以在界面模板被更新后主动向客户端分发新的界面模板解析后的结构化数据,也可以根据客户端的请求向客户端分发等等。客户端的工作过程可以包括对界面模板的结构化数据的解析和本文档来自技高网...
界面展示数据的方法及装置

【技术保护点】
一种界面展示数据的方法,运行于客户端,其特征在于,该方法包括步骤:将服务端下发的界面模板的结构化数据解析成虚拟视图节点,所述界面模板的结构化数据由服务端对通用协议标记语言编写的界面模板数据解析后生成,所述界面模板数据包括用于描述控件的通用标签;将业务数据和所述虚拟视图节点绑定;根据绑定业务数据后的虚拟视图节点计算所述控件的位置信息;根据所述控件的位置信息渲染视图。

【技术特征摘要】
1.一种界面展示数据的方法,运行于客户端,其特征在于,该方法包括步骤:将服务端下发的界面模板的结构化数据解析成虚拟视图节点,所述界面模板的结构化数据由服务端对通用协议标记语言编写的界面模板数据解析后生成,所述界面模板数据包括用于描述控件的通用标签;将业务数据和所述虚拟视图节点绑定;根据绑定业务数据后的虚拟视图节点计算所述控件的位置信息;根据所述控件的位置信息渲染视图。2.根据权利要求1所述的方法,其特征在于,所述通用协议标记语言为HTML,所述结构化数据为JSON数据或XML数据。3.根据权利要求1所述的方法,其特征在于,所述虚拟视图节点所存储的信息包括所述通用标签的相关信息、和/或所述所述客户端的类型信息、和/或所述客户端中响应事件的信息。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述客户端接收到更新后的界面模板的结构化数据后,更新所述虚拟视图节点所存储的相关信息。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述客户端从所述服务端获取到所述业务数据后,如果查找不到与所述业务数据对应的界面模板的结构化数据,则向所述服务端请求所述业务数据对应的界面模板的结构化数据。6.根据权利要求1所述的方法,其特征在于,根据所述控件的位置信息渲染视图包括:当计算完所有控件的位置信息后,获取所有控件的位置信息,将所有控件一并渲染成视图。7.一种界面展示数据的方法,运行于服务端,其特征在于,该方法包括步骤:将通用协议标记语言编写的界面模板数据解析成结构化数据;所述界面模板数据包括用于描述控件的通用标签;将所述结构化数据下发给客户端,以使所述客户端将所述控件渲染成视图。8.根据权利要求7所述的方法,其特征在于,所述通用协议标记语言为HTML,所述结构化数据为JSON数据,所述通用标签存储于所述JSON数据的DOM节点中。9.一种界面展示数据的装置,位于客户端,其特征在于,包括:解析引擎模块,用于将服务器下发的界...

【专利技术属性】
技术研发人员:贺三元饶俊学王飞翁粤东朱德亮孙熙文雪龙徐文婷陈锐习江波邓旭峰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1