CN110020280B - 应用页面展示方法、装置、存储介质和计算机设备 - Google Patents
应用页面展示方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN110020280B CN110020280B CN201710805561.2A CN201710805561A CN110020280B CN 110020280 B CN110020280 B CN 110020280B CN 201710805561 A CN201710805561 A CN 201710805561A CN 110020280 B CN110020280 B CN 110020280B
- Authority
- CN
- China
- Prior art keywords
- file
- layout
- page
- version
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种应用页面展示方法、装置、存储介质和计算机设备,包括:获取目标应用的应用页面所对应的页面标识;确定与所述页面标识对应的页面布局信息;通过封装于目标应用的页面控制组件,从文件池中调取与所述页面布局信息匹配的布局文件;所述文件池中存储有从云端拉取的版本更新后的布局文件;通过所述页面控制组件解析调取的所述布局文件;根据解析后的所述布局文件展示所述应用页面。本申请提供的方案提高了应用页面展示效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种应用页面展示方法、装置、存储介质和计算机设备。
背景技术
随着互联网技术的不断发展,越来越多的用户选择通过互联网来获取丰富的信息,应用通过应用页面将用户可能需求的信息提供给用户。伴随着应用的发展,应用页面也呈现出了多样化的形式,而且应用页面布局也会时常更新变化。因此,应用提供者通常会推出新版本的布局文件来更新应用页面布局,以便能够为用户提供更加美观、容易操作的应用页面。
然而,传统技术中在应用页面布局有更新变化时,应用提供者便需要推出新版本的布局文件,而且用户需要下载相应的新版本的应用安装包来替代旧版本的应用安装包,才能获得新的应用安装包中新样式的布局文件。这种方式使得用户的操作步骤繁琐、更新所需的时间较长,从而导致应用页面展示效率低下。
发明内容
基于此,有必要针对传统技术中应用页面展示效率低问题,提供一种应用页面展示方法、装置、存储介质和计算机设备。
一种应用页面展示方法,包括:
获取目标应用的应用页面所对应的页面标识;
确定与所述页面标识对应的页面布局信息;
通过封装于目标应用的页面控制组件,从文件池中调取与所述页面布局信息匹配的布局文件;所述文件池中存储有从云端拉取的版本更新后的布局文件;
通过所述页面控制组件解析调取的所述布局文件;
根据解析后的所述布局文件展示所述应用页面。
一种应用页面展示装置,包括:
获取模块,用于获取目标应用的应用页面所对应的页面标识;
确定模块,用于确定与所述页面标识对应的页面布局信息;
调取模块,用于通过封装于目标应用的页面控制组件,从文件池中调取与所述页面布局信息匹配的布局文件;所述文件池中存储有从云端拉取的版本更新后的布局文件;
解析模块,用于通过所述页面控制组件解析调取的所述布局文件;
展示模块,用于根据解析后的所述布局文件展示所述应用页面。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取目标应用的应用页面所对应的页面标识;
确定与所述页面标识对应的页面布局信息;
通过封装于目标应用的页面控制组件,从文件池中调取与所述页面布局信息匹配的布局文件;所述文件池中存储有从云端拉取的版本更新后的布局文件;
通过所述页面控制组件解析调取的所述布局文件;
根据解析后的所述布局文件展示所述应用页面。
一种计算机设备,包括存储器和处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取目标应用的应用页面所对应的页面标识;
确定与所述页面标识对应的页面布局信息;
通过封装于目标应用的页面控制组件,从文件池中调取与所述页面布局信息匹配的布局文件;所述文件池中存储有从云端拉取的版本更新后的布局文件;
通过所述页面控制组件解析调取的所述布局文件;
根据解析后的所述布局文件展示所述应用页面。
上述应用页面展示方法、装置、存储介质和计算机设备,在需要进行应用页面展示时,获取待展示的应用页面的页面布局信息,即可通过页面控制组件从文件池中调取与该页面布局信息匹配的布局文件,再通过该页面控制组件解析调取的所述布局文件,便可根据解析后的所述布局文件展示应用页面,提高了应用页面展示效率。其中,页面控制组件封装于目标应用中,属于该应用的原生组成部分,兼容性好,而且页面控制组件可直接从云端拉取版本更新后的布局文件存储在文件池中备用,避免了需要下载新版本的应用安装包来替代旧版本的应用安装包,才能获得新版本的应用安装包中新样式的布局文件导致耗时长的问题,进一步提高了应用页面展示效率。
附图说明
图1为一个实施例中应用页面展示方法的应用环境图;
图2为一个实施例中应用页面展示方法的流程示意图;
图3为一个实施例中应用页面逻辑响应的示意图;
图4为一个实施例中目标应用的应用页面的界面示意图;
图5为另一个实施例中应用页面展示方法的流程示意图;
图6为一个实施例中应用页面展示过程的逻辑框图;
图7为一个实施例中应用页面展示装置的结构框图;
图8为另一个实施例中应用页面展示装置的结构框图;
图9为又一个实施例中应用页面展示装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中应用页面展示方法的应用环境图。参照图1,该应用页面展示方法应用于应用页面展示系统。该应用页面展示系统包括用户终端110和服务器120。用户终端110和服务器120通过网络连接。用户终端110具体可以是台式计算机或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120具体可以是独立的物理服务器或者物理服务器集群,也可以是云服务器或者云服务器集群。用户终端110用于执行该应用页面展示方法,获取目标应用的应用页面所对应的页面标识,确定与页面标识对应的页面布局信息,然后通过封装于目标应用的页面控制组件,从文件池中调取与页面布局信息匹配的布局文件,再通过页面控制组件解析调取的布局文件,根据解析后的布局文件展示应用页面。其中,用户终端110的文件池中存储有从服务器120拉取的版本更新后的布局文件。
图2为一个实施例中应用页面展示方法的流程示意图。本实施例主要以该方法应用于上述图1中的用户终端110来举例说明。参照图2,该应用页面展示方法具体包括如下步骤:
S202,获取目标应用的应用页面所对应的页面标识。
其中,目标应用是待进行应用页面展示的应用程序。应用页面是应用程序启动后所呈现的页面。应用页面如目标应用启动后直接展示的首屏页面。目标应用可以是社交应用、游戏应用、文字处理应用或者图片管理应用等。社交应用如即时通信应用或者直播应用等。页面标识用于唯一标识相应的页面。
具体地,用户终端可获取通过用户触发的应用页面展示指令,继而获取该应用页面展示指令所指定的页面标识。应用页面展示指令用于触发应用页面展示,应用页面展示指令所指定的页面标识是需要展示的应用页面所对应的页面标识。
在一个实施例中,用户终端还可通过用于展示应用页面的目标应用获取页面标识,通过运行于用户终端上的目标应用获取应用页面展示指令,继而获取该应用页面展示指令所指定的页面标识。用户终端也可定期获取应用页面所对应的页面标识,从而定期执行本实施例中的应用页面展示方法。
S204,确定与页面标识对应的页面布局信息。
其中,页面布局信息是用于描述应用页面布局的数据。布局是对应用页面上待展示内容进行设置。待展示内容比如文字、图片或者控件等。页面布局可分为多种方式,具体可以是整体式布局或者卡片式布局等。整体式布局是将整个应用页面作为一个布局,统一设置应用页面内待展示的内容。卡片式布局是将应用页面划分为多个区域,分别对每个区域单独进行待展示的内容设置。
具体地,用户终端上运行有待进行应用页面展示的目标应用,并相应存储有该目标应用程序所包括的各应用页面的页面布局信息。用户终端可根据获取的页面标识在本地查找与该页面标识存在对应关系的页面布局信息,从而获取到与页面标识对应的页面布局信息。
举例说明,目标应用A包括应用页面1、2和3,其中为应用页面1配置了页面布局信息1,为应用页面2配置了页面布局信息2,为应用页面3配置了页面布局信息3。当前若用户终端获取了应用页面2的页面标识2,则获取页面布局信息2。
在一个实施例中,页面标识所标识的页面中的布局会随着时间的变化而变化。同一页面标识所标识的不同布局的应用页面,是不同版本的应用页面。可以理解的是,对于一个应用页面,该应用页面的页面标识是唯一的,但该应用页面的页面布局是可更新的。在本实施例中,用户终端在获取目标应用的应用页面所对应的页面标识后,可将该页面标识发送至服务器,使得服务器根据该页面标识查找到最新版本的页面布局信息后进行反馈,用户终端从而确定与页面标识对应的页面布局信息。
S206,通过封装于目标应用的页面控制组件,从文件池中调取与页面布局信息匹配的布局文件;文件池中存储有从云端拉取的版本更新后的布局文件。
其中,页面控制组件是用于进行页面控制的工具。页面控制包括页面布局控制和页面逻辑控制。页面布局控制具体可以是获取页面布局文件,解析页面布局文件并根据解析后的页面布局文件进行页面布局的过程。页面逻辑控制具体可以是获取页面逻辑文件,解析页面逻辑文件并根据解析后的页面逻辑文件进行页面逻辑响应的过程。
布局文件是通过文件的形式记录的按照某种布局协议编写的布局数据。布局数据可包括描述页面内容布局的数据,也可包括实现页面逻辑和页面功能的数据。可以理解的是,页面布局文件和页面逻辑文件都是布局文件。布局协议是在进行布局数据编写时应当遵守的约定。布局文件携带有版本信息,版本信息需满足能够区分布局文件的新旧关系。
在本实施例中,页面控制组件是封装于目标应用的应用安装包中的部件,伴随着目标应用的安装,安装于用户终端上。由于页面控制组件封装于目标应用中,是目标应用的原生组成部分,兼容性强,在进行页面控制时性能好。
文件池用于存储从云端拉取的版本更新后的布局文件的存储空间,是用户终端预先设置的存储空间。该存储空间可以是用户终端内置存储器的存储空间,也可以是与用户终端相连接的非易失性的扩展存储器所包括的存储空间。
在一个实施例中,应用开发人员可通过由开发人员账户登录的终端对页面布局和页面逻辑进行开发更新,得到版本更新后的布局文件,并将该版本更新后的布局文件上传至服务器,以使用户终端可从服务器中拉取版本更新后的布局文件。
在一个实施例中,用户终端可设置用于触发从云端拉取布局文件的触发条件。触发条件可以是事件驱动条件或者定时触发条件。事件驱动条件比如开启目标应用触发从云端拉取布局文件。定时触发条件比如定时触发从云端拉取布局文件。用户终端可在检测到目标应用被启动时,触发从云端拉取布局文件,终端也可定期触发从云端拉取布局文件。定期是指周期性执行某项操作,比如每8小时等。
具体地,用户终端通过封装于目标应用的页面控制组件,将文件池中的布局文件与页面布局信息进行匹配,当判定布局文件与页面布局信息匹配时,则获取该布局文件。
在一个实施例中,用户终端还可通过封装于目标应用的页面控制组件,获取页面布局信息中包括的布局文件标识,进而在文件池中查找与这些布局文件标识匹配的布局文件。该布局文件包括页面布局文件、页面逻辑文件和页面图片文件。其中,页面布局文件是进行应用页面展示所必须的文件。页面逻辑文件是用于进行页面逻辑响应的文件,只有在需要展示的应用页面中封装了页面逻辑时,才相应配置有页面逻辑文件。页面图片文件是用于在应用页面中展示的图片的文件,只有在需要展示的应用页面中包括图片时,才相应配置有页面图片文件。
在一个实施例中,对于整体式布局,页面布局信息具体可包括页面标识,以及展示该页面标识所对应的应用页面时所依赖的布局文件列表。对于卡片式布局,页面布局信息具体可包括至少一个布局卡片标识,以及各布局卡片标识所对应的布局卡片在展示时所依赖的布局文件列表。布局卡片是采用卡片式布局时,对应用页面进行区域划分后局部应用页面的布局。
S208,通过页面控制组件解析调取的布局文件。
具体地,用户终端在通过页面控制组件调取到布局文件后,进而通过页面控制组件解析调取的布局文件,识别布局文件中记载的布局数据,并将识别得到的布局数据转化为本地可处理的布局数据。
在一个实施例中,布局文件是通过文件的形式记录的按照某种布局协议编写的布局数据。布局协议是在进行布局数据编写时应当遵守的约定。页面控制组件可按照编写布局文件的布局协议解析布局文件,识别布局文件中记载的布局数据,并将识别得到的布局数据转化为本地可处理的布局数据,进而得到待展示的应用页面所包括的页面控件。比如,文本控件、图片控件或者下载按钮控件等。
S210,根据解析后的布局文件展示应用页面。
具体地,用户终端可在应用页面的视觉渲染层上,按照解析后的布局文件在相应的应用页面区域进行渲染,以展示应用页面。
在一个实施例中,用户终端可根据解析后的布局文件得到页面控件后,在应用页面的视觉渲染层上按照各页面控件相应的描述信息在相应的应用页面区域对各页面控件进行渲染,以展示应用页面。
上述应用页面展示方法,在需要进行应用页面展示时,获取待展示的应用页面的页面布局信息,即可通过页面控制组件从文件池中调取与该页面布局信息匹配的布局文件,再通过该页面控制组件解析调取的所述布局文件,便可根据解析后的所述布局文件展示应用页面,提高了应用页面展示效率。其中,页面控制组件封装于目标应用中,属于该应用的原生组成部分,兼容性好,而且页面控制组件可直接从云端拉取版本更新后的布局文件存储在文件池中备用,避免了需要下载新版本的应用安装包来替代旧版本的应用安装包,才能获得新版本的应用安装包中新样式的布局文件导致耗时长的问题,进一步提高了应用页面展示效率。
在一个实施例中,通过封装于目标应用的页面控制组件,从文件池中调取与页面布局信息匹配的布局文件,包括:将页面布局信息传递至封装于目标应用的页面控制组件;当文件池中存在与页面布局信息匹配的布局文件时,则通过页面控制组件从文件池中调取与页面布局信息匹配的布局文件;当文件池中不存在与页面布局信息匹配的布局文件时,则通过页面控制组件根据应用安装目录调取与页面布局信息匹配的默认的布局文件。
其中,默认的布局文件是初始布局文件,是携带在目标应用的应用安装包中,伴随着目标应用的安装,存储于存储目标应用系统文件的存储空间中。存储默认的布局文件的存储空间与存储版本更新后的布局文件的文件池是不同的存储空间。默认的布局文件被用于未存储有版本更新后的布局文件时进行应用页面展示。
具体地,用户终端可将页面布局信息传递至封装于目标应用的页面控制组件,页面控制组件可先从文件池中查找与页面布局信息匹配的布局文件,当文件池中存在与页面布局信息匹配的布局文件时,则通过页面控制组件直接从文件池中调取与页面布局信息匹配的布局文件。当文件池中不存在与页面布局信息匹配的布局文件时,则在应用安装目录中查找默认的布局文件的存储路径,进而根据该存储路径确定用于存储默认的布局文件的存储空间,从而调取与页面布局信息匹配的默认的布局文件。
在一个实施例中,页面布局信息包括布局文件列表。当文件池中存在与页面布局信息匹配的布局文件时,则通过页面控制组件从文件池中调取与页面布局信息匹配的布局文件,包括:当布局文件列表指定的各布局文件均存在于文件池中时,则通过页面控制组件从文件池中调取布局文件列表指定的各布局文件;当布局文件列表指定的各布局文件未全部存在于文件池中时,则通过页面控制组件根据应用安装目录调取布局文件列表指定的各默认的布局文件。
其中,布局文件列表中包括展示应用页面所依赖的各布局文件的布局文件标识。在本实施例中,页面布局信息可以是通过文本文件形式存储的数据。通过字符串记载了页面标识以及布局文件列表。其中,该字符串的格式可以是JSON(JavaScript ObjectNotation,JS对象标记)格式。
具体地,页面控制组件可在文件池中逐一查找布局文件列表所指定的各布局文件,只有当布局文件列表所指定的各布局文件均能在文件池中查找到时,才从文件池中调取布局文件列表所指定的各布局文件。而在布局文件列表所指定的各布局文件不能全部在文件池中查找到时,则通过页面控制组件根据应用安装目录调取布局文件列表所指定的各默认的布局文件。
在本实施例中,只有在布局文件列表指定的各布局文件均存在于文件池中时,才从文件池中调取这些布局文件,保证版本更新后的文件健全时才进行应用页面展示,从而保证了应用页面展示的准确性。而在证版本更新后的文件存在缺失的情况下,调取默认的布局文件进行应用页面展示,避免了因证版本更新后的文件缺失而无法进行应用页面展示的情况。
上述实施例中,在本地已从云端拉取了与页面布局信息匹配的新版本的布局文件时,即获取该新版本的布局文件,进而根据该新版本的布局文件进行应用页面展示,以及时将新样式的页面布局进行展示。在本地未从云端拉取新版本的布局文件时,调取默认的布局文件进行应用页面展示,确保了在需要进行应用页面展示时布局文件的来源,避免了无法进行应用页面展示的问题。
在一个实施例中,通过封装于目标应用的页面控制组件,从文件池中调取与页面布局信息匹配的布局文件之前,该应用页面展示方法还包括:获取页面控制组件的组件版本信息及文件池中布局文件的文件版本信息;将组件版本信息和文件版本信息发送至服务器,使得服务器根据组件版本信息和文件版本信息确定用于差量更新的布局文件;接收服务器下发的用于差量更新的布局文件;将接收到的布局文件更新至文件池中。
其中,版本信息是用于反映产品迭代情况的数据。组件版本信息用于判定页面控制组件是否发生更新。文件版本信息用于判定布局文件是否发生了更新。组件版本信息和文件版本信息可以包括数字、英文字母和标点符号中的至少一种字符。
开发人员在进行应用页面布局设计开发时,可事先对每个布局文件设置版本信息,在开发过程中需要对布局文件进行更新时,则在布局文件对应的当前版本信息的基础上,根据预设的方式确定更新后的布局文件的版本信息。例如,更新后的布局文件的版本信息可以在上一版本信息的基础上加1得到,满足通过布局文件的版本信息能够区分布局文件的新旧关系即可。开发人员在完成页面布局的开发设计后,将设计完成的布局文件上传至服务器存储。
开发人员在进行布局文件版本更新时,可指定解析该布局文件的页面控制组件的最低版本。由于布局文件是通过页面控制组件进行解析的,只有在页面控制组件的版本与布局文件的版本匹配时,才能准确地对布局文件进行解析。
具体地,服务器在接收到用户终端发送的组件版本信息和文件版本信息后,将接收到的布局文件的文件版本信息和该布局文件在服务器上的文件版本信息进行比较。在服务器比较得到两个版本信息一致时,判定该布局文件未进行更新,无需向用户终端下发布局文件;在服务器判定接收到的布局文件的文件版本低于该布局文件在服务器上的文件版本时,判定该布局文件发生了更新,则将与页面控制组件的组件版本信息匹配、且较接收到的文件版本信息更新后的布局文件进行下发。在服务器判定接收到的布局文件的文件版本高于该布局文件在服务器上的文件版本时,判定服务器上的布局文件存在错误,此时为了避免布局文件更新出错,提高容错性,不向用户终端下发布局文件。
在一个实施例中,将组件版本信息和文件版本信息发送至服务器,使得服务器根据组件版本信息和文件版本信息确定需下发的布局文件,包括:将组件版本信息和文件版本信息发送至服务器,以使服务器在确定与组件版本信息匹配的文件版本区间后,根据文件版本区间和文件版本信息确定用于差量更新的布局文件。
具体地,服务器在接收到用户终端发送的组件版本信息后,确定用户终端上的页面控制组件所能解析的布局文件的文件版本区间,再将服务器上属于该文件版本区间的布局文件中最新版本的布局文件的文件版本信息,与接收到的布局文件的文件版本信息进行比较。在服务器比较得到两个版本信息一致时,判定该布局文件未进行更新,无需向用户终端下发布局文件;在服务器判定接收到的布局文件的文件版本低于该布局文件在服务器上的文件版本时,判定该布局文件发生了更新,则将属于该文件版本区间的布局文件中最新版本的布局文件进行下发。在服务器判定接收到的布局文件的文件版本高于该布局文件在服务器上的文件版本时,判定服务器上的布局文件存在错误,此时为了避免布局文件更新出错,提高容错性,不向用户终端下发布局文件。
举例说明,假设服务器上布局文件a.xml同时具有1.1、1.2、1.3、2.1、2.2和2.3这六个版本。其中,版文为1的页面控制组件只能解析1.1、1.2和1.3三个版本的布局文件,版文为2的页面控制组件能解析1.1、1.2、1.3、2.1、2.2和2.3这六个版本的布局文件。
当用户终端A发送的组件版本信息为1,布局文件a.xml的文件版本信息为1.1时,服务器确定与组件版本信息1匹配的文件版本区间1.1-1.3,则将文件版本信息1.3与文件版本信息1.1进行比较,判定布局文件发生了更新,则向用户终端A下发1.3版本的a.xml。
当用户终端B发送的组件版本信息为2,布局文件a.xml的文件版本信息为1.1时,服务器确定与组件版本信息2匹配的文件版本区间1.1-2.3,则将文件版本信息2.3与文件版本信息1.1进行比较,判定布局文件发生了更新,则向用户终端B下发2.3版本的a.xml。
在本实施例中,本地从云端拉取版本更新后的布局文件时,仅拉取发生版本更新,且更新后的版本与本地用于解析布局文件的页面控制组件版本匹配的布局文件,提高了布局解析过程中的容错性。
进一步地,用户终端接收服务器下发的用于差量更新的布局文件,将接收到的布局文件更新至文件池中。具体地,用户终端将接收到的布局文件更新至文件池中时,可采用覆盖式更新方式,将新版本的布局文件覆盖旧版本的布局文件存储,以减少占用存储资源。
上述实施例中,通过文件版本信息来判断展示应用页面所依赖的布局文件是否有更新,并在有布局文件发生更新时,将发生更新的布局文件下发至终端,从而避免服务器将大量相同的布局文件重复传输给终端,导致的服务器资源与网络资源的浪费。
在一个实施例中,组件版本信息包括组件版本号和附加标识;文件版本信息包括文件版本号。将组件版本信息和文件版本信息发送至服务器,以使服务器在确定与组件版本信息匹配的文件版本区间后,根据文件版本区间和文件版本信息确定用于差量更新的布局文件,包括:将组件版本号、附加标识和文件版本号发送至服务器,以使服务器在确定与组件版本号匹配的文件版本区间后,根据文件版本区间和文件版本号确定用于差量更新、且携带附加标识的布局文件。
其中,组件版本号是用于反映页面控制组件正式版本迭代情况的数据。附加标识用于标识页面控制组件正式版本迭代过程中出现的测试版本。在本实施例中,开发人员在进行页面控制组件更新时,会发布测试版本的页面控制组件,以测试页面控制组件新增的功能是否能正常实现,并在测试阶段结束后发布更新后的正式版本的页面控制组件。
在一个实施例中,开发人员可异步为页面控制组件新增不同的功能,从而为新增不同功能后的页面控制组件分别发布测试版本,并相应添加附加标识。并在后续更新布局文件时,为布局文件添加相应的附加标识。
比如,开发人员异步发布了测试版本A和B。其中,A版本的页面控制组件支持表格,而B版本页面控制组件支持对话框。且B版本的页面控制组件不支持表格,A版本的页面控制组件不支持对话框。为了区别两个测试版本的组件控制,开发人员可事先为A版本的页面控制组件添加附加标识:pangu_table,为B版本的页面控制组件添加附加标识:pangu_dialog。并在配置布局文件时,对为A版本的页面控制组件可解析的布局文件添加附加标识:pangu_table,为B版本的页面控制组件可解析的布局文件添加附加标识:pangu_dialog做区分。
具体地,服务器在接收到用户终端发送的组件版本号和附加标识后,确定用户终端上的页面控制组件所能解析的布局文件的文件版本区间,再将服务器上属于该文件版本区间的布局文件中最新版本的、且携带附加标识的布局文件的文件版本信息,与接收到的布局文件的文件版本信息进行比较。在服务器比较得到两个版本信息一致时,判定该布局文件未进行更新,无需向用户终端下发布局文件;在服务器比较得到两个文件版本信息不一致时,判定该布局文件发生了更新,则将属于该文件版本区间的布局文件中最新版本的、且携带附加标识的布局文件进行下发。
在上述实施例中,在相同的组件版本号对应不同的布局文件时,通过附加标识来进行区别,提高了拉取布局文件的准确性。
在一个实施例中,该应用页面展示方法还包括:获取针对应用页面的触发指令;在解析后的布局文件中查找触发指令所对应的逻辑响应标签;当判定当前满足逻辑响应标签所指定的操作执行条件时,则执行逻辑响应标签所指定的操作。
其中,逻辑响应标签是用于标识页面逻辑的标签。逻辑响应标签是按照编写布局文件的布局协议设置的标签。在本实施例中,用户终端可通过页面控制组件,对照布局协议在布局文件中进行关键字查找,当查找到与按照布局协议设置的代表逻辑响应标签的关键字后,确定该关键字为相应的逻辑响应标签,再按照该逻辑响应标签进行页面逻辑响应。其中,页面逻辑比如点击跳转逻辑、统计上报逻辑或者过滤逻辑等。
逻辑响应标签中指定了进行页面逻辑响应的操作执行条件,以及进行页面逻辑响应具体执行的操作。操作执行条件比如当前网络环境为无线网络环境等,具体执行的操作比如页面跳转操作、弹窗操作或者资源下载操作等。
具体地,用户终端可检测用户针对应用界面预定义的触发操作,在检测到该触发操作时触发相应的触发指令,并在解析后的布局文件中查找触发指令所对应的逻辑响应标签。触发操作可以是对界面中控件的操作,比如对控件的触控操作或者光标点击操作等。触发操作也可以是对于预定义的物理按钮的点击,或者在显示应用界面时触发的晃动操作等
进一步地,用户终端在解析后的布局文件中查找到触发指令所对应的逻辑响应标签后,可逐一判断当前是否满足逻辑响应标签所指定的各操作执行条件。在用户终端判定当前满足逻辑响应标签所指定的各操作执行条件时,才执行逻辑响应标签所指定的操作。
举例说明,假设逻辑响应标签的关键字为task,在解析后的布局文件中查找触发指令所对应的逻辑响应标签为:
<task id=”toast”>
<networkfilter type=“equal”style=”wifi”/>
<toastaction value=”aaaa”/>
</task>
其中,“Task”为逻辑响应标签的关键字。“Toast”为逻辑响应标签所指定的操作的关键字。这里逻辑响应标签所指定的操作为“弹出弹窗”,逻辑响应标签所指定的操作执行条件为“当前网络环境是否为wifi环境”,当判定当前网络环境是wifi环境时,弹出弹窗,弹窗中显示的内容为“aaaa”。
在本实施例中,将页面逻辑响应添加到布局文件中,通过布局文件同时实现页面布局和页面逻辑,减少了开发工作量,提高了布局文件的开发效率。
图3示出了一个实施例中应用页面逻辑响应的示意图。参考图3,图3左图为目标应用的应用页面示意图,该示意图包括逻辑响应触发入口310。用户终端在检测到针对该触发入口310的触发操作后,进行操作执行条件判定,当判定满足操作执行条件时,跳转到图3右图所示的应用页面。
在一个实施例中,通过页面控制组件解析调取的布局文件,包括:通过页面控制组件启动界面线程;采用界面线程解析调取的布局文件;通过独立于界面线程的后台线程异步解析文件池中剩余的布局文件。
其中,界面线程是用于执行与界面相关操作的线程。后台线程用于在后台预执行某些操作的线程。界面线程与后台线程相互独立。具体地,用户终端可通过页面控制组件启动界面线程,采用界面线程解析调取的、用户展示当前需要展示的应用页面的布局文件,并通过独立于界面线程的后台线程异步解析文件池中剩余的布局文件,将文件池中剩余的布局文件中的布局数据提前转换成应用页面渲染时可执行的数据结构。
在本实施例中,通过独立于界面线程的后台线程对文件池中剩余的布局文件进行预加载,既不影响界面线程的布局文件解析过程,又减少了界面线程的工作量,进而提高了应用页面的加载效率。
在一个实施例中,由于布局文件的解析是比较耗时的过程。页面控制组件对布局文件的解析过程,需要查询布局文件中每个布局节点的含义以及每个参数的执行动作,然后把查询到可执行的动作逐个执行。用户终端可采用预先设置的查询算法(比如:平衡二叉树)进行查询,以提高布局文件解析效率。
在一个实施例中,根据解析后的布局文件展示应用页面,包括:获取与页面标识对应的页面数据;确定页面布局信息中包括的各布局卡片标识;根据解析后的布局文件渲染各布局卡片标识对应的布局卡片;按照解析后的布局文件指定在布局卡片中显示的数据字段,将页面数据按所属的数据字段添加至布局卡片中。
其中,布局卡片是采用卡片式布局时,对应用页面进行区域划分后局部应用页面的布局。布局卡片标识用于唯一标识一个布局卡片。布局卡片标识比如viewname等。页面数据是用于填充至布局卡片中的业务数据。
布局文件中可设置有各布局卡片中显示的数据字段,在进行页面展示时,将该数据字段对应的页面数据添加到相应的布局卡片中。比如,应用详情卡中包括应用名称字段,在获取到该应用名称字段对应的页面数据“淘宝”时,将“淘宝”添加到应用详情卡中。
具体地,用户终端可通过页面控制组件,确定页面布局信息中包括的各布局卡片标识,根据解析后的布局文件渲染各布局卡片标识对应的布局卡片。用户终端在完成布局卡片渲染后,按照解析后的布局文件指定在布局卡片中显示的数据字段,将页面数据按所属的数据字段添加至布局卡片中。
图4示出了一个实施例中目标应用的应用页面的界面示意图。参考图4,该界面包括至少一个的布局卡片410。如语音标签卡以及语音标签卡中包括的应用推荐卡等。用户终端可再按照解析后的布局文件指定在布局卡片中显示的数据字段,将页面数据420按所属的数据字段添加至布局卡片中。
在本实施例中,通过在布局文件中指定在布局卡片中显示的数据字段,即可直接将页面数据中属于各数据字段的数据填充至相应的位置,提高了应用页面展示的效率。
如图5所示,在一个具体的实施例中,该应用页面展示方法具体包括以下步骤:
S502,获取目标应用的应用页面所对应的页面标识。
S504,确定与页面标识对应的页面布局信息,将页面布局信息传递至封装于目标应用的页面控制组件,该页面布局信息包括布局文件列表。
S506,通过页面控制组件判断文件池中是否存在布局文件列表指定的布局文件;若是,则跳转至步骤S508;若否则跳转至步骤S512。
S508,通过页面控制组件判断布局文件列表指定的各布局文件是否均存在于文件池中;若是,则跳转至步骤S510;若否则跳转至步骤S512。
S510,通过页面控制组件从文件池中调取布局文件列表指定的各布局文件。
S512,通过页面控制组件根据应用安装目录调取布局文件列表指定的各默认的布局文件。
S514,通过页面控制组件启动界面线程;采用界面线程解析调取的布局文件;通过独立于界面线程的后台线程异步解析文件池中剩余的布局文件。
S516,获取与页面标识对应的页面数据;确定页面布局信息中包括的各布局卡片标识;根据解析后的布局文件渲染各布局卡片标识对应的布局卡片;按照解析后的布局文件指定在布局卡片中显示的数据字段,将页面数据按所属的数据字段添加至布局卡片中。
S518,获取针对应用页面的触发指令;在解析后的布局文件中查找触发指令所对应的逻辑响应标签;当判定当前满足逻辑响应标签所指定的操作执行条件时,则执行逻辑响应标签所指定的操作。
S520,获取页面控制组件的组件版本号和附加标识及文件池中布局文件的文件版本号。
S522,将组件版本号、附加标识和文件版本号发送至服务器,以使服务器在确定与组件版本号匹配的文件版本区间后,根据文件版本区间和文件版本号确定用于差量更新、且携带附加标识的布局文件。
S524,接收服务器下发的用于差量更新的布局文件;将接收到的布局文件更新至文件池中,文件池中存储有从云端拉取的版本更新后的布局文件。
其中,S520至S524可以是在执行S502至S518时,异步且周期性执行的步骤。在本实施例中,S502至S504可与S520至S524异步进行,且S520至S524至少在S506之前执行过一次即可。
在本实施例中,在需要进行应用页面展示时,获取待展示的应用页面的页面布局信息,即可通过页面控制组件从文件池中调取与该页面布局信息匹配的布局文件,再通过该页面控制组件解析调取的所述布局文件,便可根据解析后的所述布局文件展示应用页面,提高了应用页面展示效率。其中,页面控制组件封装于目标应用中,属于该应用的原生组成部分,兼容性好,而且页面控制组件可直接从云端拉取版本更新后的布局文件存储在文件池中备用,避免了需要下载新版本的应用安装包来替代旧版本的应用安装包,才能获得新版本的应用安装包中新样式的布局文件导致耗时长的问题,进一步提高了应用页面展示效率。
在一个实施例中,封装于目标应用的页面控制组件还提供了第三方服务器进行应用页面布局开发的接口。第三方服务器可调用该接口,对页面控制组件授权开发的应用页面进行布局文件开发。比如,目标应用的应用详情页可以是由目标应用所对应的开发人员开发,应用详情页中用于展示第三方应用的详细信息,目标应用所对应的开发人员可对该应用详情页添加试玩功能入口,在用户触发针对试玩功能入口的触发操作后,可跳转至试玩页面,并授予第三方应用所对应的第三方服务器对试玩页面进行布局文件开发。
在一个实施例中,布局文件开发人员可通过由开发人员账户登录的终端开发布局文件,并通过连接组件,将开发完成的布局文件传送至目标应用运行的用户终端上,该用户终端实时加载布局文件,从而实现实时调试,提高布局文件的开发效率。
图6示出了一个实施例中应用页面展示过程的逻辑示意图。参考图6,用户终端定时获取页面控制组件的组件版本号和附加标识及文件池中布局文件的文件版本号,将组件版本号、附加标识和文件版本号发送至服务器。服务器在接收到组件版本号、附加标识和文件版本号后,确定与组件版本号匹配的文件版本区间,然后根据文件版本区间和文件版本号确定用于差量更新、且携带附加标识的布局文件,再将确定的布局文件下发至用户终端。用户终端接收服务器下发的用于差量更新的布局文件,将接收到的布局文件更新至文件池中。
用户终端异步检测目标应用开启指令,根据该目标应用开启指令开启目标应用,获取目标应用中待展示的应用页面所对应的页面标识,将该页面标识发送至服务器。服务器在接收到该页面标识后,查找与该页面标识对应的页面数据与页面布局信息,将查找到的页面布局信息和页面数据下发至用户终端。
用户终端将页面布局信息传递至封装于目标应用的页面控制组件,该页面布局信息包括布局文件列表。通过页面控制组件查看文件池中是否存在布局文件列表指定的布局文件。若是,则继续通过页面控制组件查看布局文件列表指定的各布局文件是否均存在于文件池中,若是,通过页面控制组件从文件池中调取布局文件列表指定的各新版本的布局文件。若布局文件列表指定的各布局文件未全部存在于文件池中,则通过页面控制组件根据应用安装目录调取布局文件列表指定的各默认的布局文件。用户终端再通过页面控制组件解析调取的布局文件,根据解析后的新版本的布局文件展示新版本的应用页面,或,根据解析后的默认的布局文件展示默认的应用页面。
如图7所示,在一个实施例中,提供了一种应用页面展示装置700。参照图7,该应用页面展示装置700包括:获取模块701、确定模块702、调取模块703、解析模块704和展示模块705。
获取模块701,用于获取目标应用的应用页面所对应的页面标识。
确定模块702,用于确定与页面标识对应的页面布局信息。
调取模块703,用于通过封装于目标应用的页面控制组件,从文件池中调取与页面布局信息匹配的布局文件;文件池中存储有从云端拉取的版本更新后的布局文件。
解析模块704,用于通过页面控制组件解析调取的布局文件。
展示模块705,用于根据解析后的布局文件展示应用页面。
上述应用页面展示装置700,在需要进行应用页面展示时,获取待展示的应用页面的页面布局信息,即可通过页面控制组件从文件池中调取与该页面布局信息匹配的布局文件,再通过该页面控制组件解析调取的所述布局文件,便可根据解析后的所述布局文件展示应用页面,提高了应用页面展示效率。其中,页面控制组件封装于目标应用中,属于该应用的原生组成部分,兼容性好,而且页面控制组件可直接从云端拉取版本更新后的布局文件存储在文件池中备用,避免了需要下载新版本的应用安装包来替代旧版本的应用安装包,才能获得新版本的应用安装包中新样式的布局文件导致耗时长的问题,进一步提高了应用页面展示效率。
在一个实施例中,调取模块703还用于将页面布局信息传递至封装于目标应用的页面控制组件;当文件池中存在与页面布局信息匹配的布局文件时,则通过页面控制组件从文件池中调取与页面布局信息匹配的布局文件;当文件池中不存在与页面布局信息匹配的布局文件时,则通过页面控制组件根据应用安装目录调取与页面布局信息匹配的默认的布局文件。
在一个实施例中,页面布局信息包括布局文件列表。调取模块703还用于当布局文件列表指定的各布局文件均存在于文件池中时,则通过页面控制组件从文件池中调取布局文件列表指定的各布局文件;当布局文件列表指定的各布局文件未全部存在于文件池中时,则通过页面控制组件根据应用安装目录调取布局文件列表指定的各默认的布局文件。
如图8所示,在一个实施例中,应用页面展示装置700还包括:更新模块706。
更新模块706,用于获取页面控制组件的组件版本信息及文件池中布局文件的文件版本信息;将组件版本信息和文件版本信息发送至服务器,使得服务器根据组件版本信息和文件版本信息确定用于差量更新的布局文件;接收服务器下发的用于差量更新的布局文件;将接收到的布局文件更新至文件池中。
在一个实施例中,更新模块706还用于将组件版本信息和文件版本信息发送至服务器,以使服务器在确定与组件版本信息匹配的文件版本区间后,根据文件版本区间和文件版本信息确定用于差量更新的布局文件。
在一个实施例中,组件版本信息包括组件版本号和附加标识;文件版本信息包括文件版本号。更新模块706还用于将组件版本号、附加标识和文件版本号发送至服务器,以使服务器在确定与组件版本号匹配的文件版本区间后,根据文件版本区间和文件版本号确定用于差量更新、且携带附加标识的布局文件。
如图9所示,在一个实施例中,应用页面展示装置700还包括:响应模块707。
响应模块707,用于获取针对应用页面的触发指令;在解析后的布局文件中查找触发指令所对应的逻辑响应标签;当判定当前满足逻辑响应标签所指定的操作执行条件时,则执行逻辑响应标签所指定的操作。
在一个实施例中,解析模块704还用于通过页面控制组件启动界面线程;采用界面线程解析调取的布局文件;通过独立于界面线程的后台线程异步解析文件池中剩余的布局文件。
在一个实施例中,展示模块705还用于获取与页面标识对应的页面数据;确定页面布局信息中包括的各布局卡片标识;根据解析后的布局文件渲染各布局卡片标识对应的布局卡片;按照解析后的布局文件指定在布局卡片中显示的数据字段,将页面数据按所属的数据字段添加至布局卡片中。
图10示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图10所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现应用页面展示方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行应用页面展示方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的应用页面展示装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成该应用页面展示装置的各个程序模块,比如,图7所示的获取模块701、确定模块702、调取模块703、解析模块704和展示模块705等。各个程序模块中包括计算机程序,计算机程序用于使计算机设备执行本说明书中描述的本申请各个实施例的应用页面展示方法中的步骤。
例如,图10所示的计算机设备可以通过如图7所示的应用页面展示装置700中的获取模块701获取目标应用的应用页面所对应的页面标识。通过确定模块702确定与页面标识对应的页面布局信息。通过调取模块703通过封装于目标应用的页面控制组件,从文件池中调取与页面布局信息匹配的布局文件;文件池中存储有从云端拉取的版本更新后的布局文件。通过解析模块704通过页面控制组件解析调取的布局文件。通过展示模块705根据解析后的布局文件展示应用页面。
在一个实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,使得处理器执行以下步骤:获取目标应用的应用页面所对应的页面标识;确定与页面标识对应的页面布局信息;通过封装于目标应用的页面控制组件,从文件池中调取与页面布局信息匹配的布局文件;文件池中存储有从云端拉取的版本更新后的布局文件;通过页面控制组件解析调取的布局文件;根据解析后的布局文件展示应用页面。
在一个实施例中,通过封装于目标应用的页面控制组件,从文件池中调取与页面布局信息匹配的布局文件,包括:将页面布局信息传递至封装于目标应用的页面控制组件;当文件池中存在与页面布局信息匹配的布局文件时,则通过页面控制组件从文件池中调取与页面布局信息匹配的布局文件;当文件池中不存在与页面布局信息匹配的布局文件时,则通过页面控制组件根据应用安装目录调取与页面布局信息匹配的默认的布局文件。
在一个实施例中,页面布局信息包括布局文件列表。当文件池中存在与页面布局信息匹配的布局文件时,则通过页面控制组件从文件池中调取与页面布局信息匹配的布局文件,包括:当布局文件列表指定的各布局文件均存在于文件池中时,则通过页面控制组件从文件池中调取布局文件列表指定的各布局文件;当布局文件列表指定的各布局文件未全部存在于文件池中时,则通过页面控制组件根据应用安装目录调取布局文件列表指定的各默认的布局文件。
在一个实施例中,该计算机程序使得处理器执行通过封装于目标应用的页面控制组件,从文件池中调取与页面布局信息匹配的布局文件之前,还执行以下步骤:获取页面控制组件的组件版本信息及文件池中布局文件的文件版本信息;将组件版本信息和文件版本信息发送至服务器,使得服务器根据组件版本信息和文件版本信息确定用于差量更新的布局文件;接收服务器下发的用于差量更新的布局文件;将接收到的布局文件更新至文件池中。
在一个实施例中,将组件版本信息和文件版本信息发送至服务器,使得服务器根据组件版本信息和文件版本信息确定需下发的布局文件,包括:将组件版本信息和文件版本信息发送至服务器,以使服务器在确定与组件版本信息匹配的文件版本区间后,根据文件版本区间和文件版本信息确定用于差量更新的布局文件。
在一个实施例中,组件版本信息包括组件版本号和附加标识;文件版本信息包括文件版本号。将组件版本信息和文件版本信息发送至服务器,以使服务器在确定与组件版本信息匹配的文件版本区间后,根据文件版本区间和文件版本信息确定用于差量更新的布局文件,包括:将组件版本号、附加标识和文件版本号发送至服务器,以使服务器在确定与组件版本号匹配的文件版本区间后,根据文件版本区间和文件版本号确定用于差量更新、且携带附加标识的布局文件。
在一个实施例中,该计算机程序被处理器执行时,还使得处理器执行以下步骤:获取针对应用页面的触发指令;在解析后的布局文件中查找触发指令所对应的逻辑响应标签;当判定当前满足逻辑响应标签所指定的操作执行条件时,则执行逻辑响应标签所指定的操作。
在一个实施例中,通过页面控制组件解析调取的布局文件,包括:通过页面控制组件启动界面线程;采用界面线程解析调取的布局文件;通过独立于界面线程的后台线程异步解析文件池中剩余的布局文件。
在一个实施例中,根据解析后的布局文件展示应用页面,包括:获取与页面标识对应的页面数据;确定页面布局信息中包括的各布局卡片标识;根据解析后的布局文件渲染各布局卡片标识对应的布局卡片;按照解析后的布局文件指定在布局卡片中显示的数据字段,将页面数据按所属的数据字段添加至布局卡片中。
上述存储介质,在需要进行应用页面展示时,获取待展示的应用页面的页面布局信息,即可通过页面控制组件从文件池中调取与该页面布局信息匹配的布局文件,再通过该页面控制组件解析调取的所述布局文件,便可根据解析后的所述布局文件展示应用页面,提高了应用页面展示效率。其中,页面控制组件封装于目标应用中,属于该应用的原生组成部分,兼容性好,而且页面控制组件可直接从云端拉取版本更新后的布局文件存储在文件池中备用,避免了需要下载新版本的应用安装包来替代旧版本的应用安装包,才能获得新版本的应用安装包中新样式的布局文件导致耗时长的问题,进一步提高了应用页面展示效率。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:获取目标应用的应用页面所对应的页面标识;确定与页面标识对应的页面布局信息;通过封装于目标应用的页面控制组件,从文件池中调取与页面布局信息匹配的布局文件;文件池中存储有从云端拉取的版本更新后的布局文件;通过页面控制组件解析调取的布局文件;根据解析后的布局文件展示应用页面。
在一个实施例中,通过封装于目标应用的页面控制组件,从文件池中调取与页面布局信息匹配的布局文件,包括:将页面布局信息传递至封装于目标应用的页面控制组件;当文件池中存在与页面布局信息匹配的布局文件时,则通过页面控制组件从文件池中调取与页面布局信息匹配的布局文件;当文件池中不存在与页面布局信息匹配的布局文件时,则通过页面控制组件根据应用安装目录调取与页面布局信息匹配的默认的布局文件。
在一个实施例中,页面布局信息包括布局文件列表。当文件池中存在与页面布局信息匹配的布局文件时,则通过页面控制组件从文件池中调取与页面布局信息匹配的布局文件,包括:当布局文件列表指定的各布局文件均存在于文件池中时,则通过页面控制组件从文件池中调取布局文件列表指定的各布局文件;当布局文件列表指定的各布局文件未全部存在于文件池中时,则通过页面控制组件根据应用安装目录调取布局文件列表指定的各默认的布局文件。
在一个实施例中,该计算机程序使得处理器执行通过封装于目标应用的页面控制组件,从文件池中调取与页面布局信息匹配的布局文件之前,还执行以下步骤:获取页面控制组件的组件版本信息及文件池中布局文件的文件版本信息;将组件版本信息和文件版本信息发送至服务器,使得服务器根据组件版本信息和文件版本信息确定用于差量更新的布局文件;接收服务器下发的用于差量更新的布局文件;将接收到的布局文件更新至文件池中。
在一个实施例中,将组件版本信息和文件版本信息发送至服务器,使得服务器根据组件版本信息和文件版本信息确定需下发的布局文件,包括:将组件版本信息和文件版本信息发送至服务器,以使服务器在确定与组件版本信息匹配的文件版本区间后,根据文件版本区间和文件版本信息确定用于差量更新的布局文件。
在一个实施例中,组件版本信息包括组件版本号和附加标识;文件版本信息包括文件版本号。将组件版本信息和文件版本信息发送至服务器,以使服务器在确定与组件版本信息匹配的文件版本区间后,根据文件版本区间和文件版本信息确定用于差量更新的布局文件,包括:将组件版本号、附加标识和文件版本号发送至服务器,以使服务器在确定与组件版本号匹配的文件版本区间后,根据文件版本区间和文件版本号确定用于差量更新、且携带附加标识的布局文件。
在一个实施例中,该计算机程序被处理器执行时,还使得处理器执行以下步骤:获取针对应用页面的触发指令;在解析后的布局文件中查找触发指令所对应的逻辑响应标签;当判定当前满足逻辑响应标签所指定的操作执行条件时,则执行逻辑响应标签所指定的操作。
在一个实施例中,通过页面控制组件解析调取的布局文件,包括:通过页面控制组件启动界面线程;采用界面线程解析调取的布局文件;通过独立于界面线程的后台线程异步解析文件池中剩余的布局文件。
在一个实施例中,根据解析后的布局文件展示应用页面,包括:获取与页面标识对应的页面数据;确定页面布局信息中包括的各布局卡片标识;根据解析后的布局文件渲染各布局卡片标识对应的布局卡片;按照解析后的布局文件指定在布局卡片中显示的数据字段,将页面数据按所属的数据字段添加至布局卡片中。
上述计算机设备,在需要进行应用页面展示时,获取待展示的应用页面的页面布局信息,即可通过页面控制组件从文件池中调取与该页面布局信息匹配的布局文件,再通过该页面控制组件解析调取的所述布局文件,便可根据解析后的所述布局文件展示应用页面,提高了应用页面展示效率。其中,页面控制组件封装于目标应用中,属于该应用的原生组成部分,兼容性好,而且页面控制组件可直接从云端拉取版本更新后的布局文件存储在文件池中备用,避免了需要下载新版本的应用安装包来替代旧版本的应用安装包,才能获得新版本的应用安装包中新样式的布局文件导致耗时长的问题,进一步提高了应用页面展示效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的实施例中所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (16)
1.一种应用页面展示方法,由用户终端执行,所述方法包括:
获取目标应用的应用页面所对应的页面标识;
确定与所述页面标识对应的页面布局信息;
通过封装于目标应用中的页面控制组件,从文件池中调取与所述页面布局信息匹配的布局文件;所述文件池是预先设置的所述用户终端本地的存储空间,所述文件池中存储有所述用户终端定期从云端拉取的版本更新后的布局文件;
通过所述页面控制组件解析调取的所述布局文件;
根据解析后的所述布局文件展示所述应用页面;
其中,所述用户终端定期从云端拉取版本更新后的布局文件的步骤包括:
定期获取所述页面控制组件的组件版本信息及所述文件池中布局文件的文件版本信息,将所述组件版本信息和所述文件版本信息发送至服务器,使得所述服务器根据所述组件版本信息,确定所述页面控制组件所能解析的布局文件的文件版本区间;接收所述服务器在比较到接收的所述文件版本信息,低于属于所述文件版本区间的布局文件中最新版本的布局文件的文件版本信息时,所下发的所述最新版本的布局文件,根据接收到的所述最新版本的布局文件,覆盖更新所述文件池中的布局文件。
2.根据权利要求1所述的方法,其特征在于,所述通过封装于目标应用中的页面控制组件,从文件池中调取与所述页面布局信息匹配的布局文件,包括:
将所述页面布局信息传递至封装于目标应用的页面控制组件;
当文件池中存在与所述页面布局信息匹配的布局文件时,则通过所述页面控制组件从所述文件池中调取与所述页面布局信息匹配的布局文件;
当文件池中不存在与所述页面布局信息匹配的布局文件时,则通过所述页面控制组件根据应用安装目录调取与所述页面布局信息匹配的默认的布局文件。
3.根据权利要求2所述的方法,其特征在于,所述页面布局信息包括布局文件列表;
所述当文件池中存在与所述页面布局信息匹配的布局文件时,则通过所述页面控制组件从所述文件池中调取与所述页面布局信息匹配的布局文件,包括:
当所述布局文件列表指定的各布局文件均存在于文件池中时,则通过所述页面控制组件从所述文件池中调取所述布局文件列表指定的各布局文件;
当所述布局文件列表指定的各布局文件未全部存在于文件池中时,则通过所述页面控制组件根据应用安装目录调取所述布局文件列表指定的各默认的布局文件。
4.根据权利要求1所述的方法,其特征在于,所述组件版本信息包括组件版本号和附加标识;所述文件版本信息包括文件版本号;
所述将所述组件版本信息和所述文件版本信息发送至服务器,包括:
将所述组件版本号、所述附加标识和所述文件版本号发送至服务器;
所述接收所述服务器在比较到接收的所述文件版本信息,低于属于所述文件版本区间的布局文件中最新版本的布局文件的文件版本信息时,所下发的所述最新版本的布局文件,包括:
接收所述服务器在比较到接收的所述文件版本信息,与属于所述文件版本区间的布局文件中最新版本的、且携带所述附加标识的布局文件的文件版本信息不一致时,所下发的属于所述文件版本区间的布局文件中最新版本的、且携带所述附加标识的布局文件。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取针对所述应用页面的触发指令;
在解析后的所述布局文件中查找所述触发指令所对应的逻辑响应标签;
当判定当前满足所述逻辑响应标签所指定的操作执行条件时,则
执行所述逻辑响应标签所指定的操作。
6.根据权利要求1所述的方法,其特征在于,所述通过所述页面控制组件解析调取的所述布局文件,包括:
通过所述页面控制组件启动界面线程;
采用所述界面线程解析调取的所述布局文件;
通过独立于界面线程的后台线程异步解析所述文件池中剩余的布局文件。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述根据解析后的所述布局文件展示所述应用页面,包括:
获取与所述页面标识对应的页面数据;
确定所述页面布局信息中包括的各布局卡片标识;
根据解析后的所述布局文件渲染各布局卡片标识对应的布局卡片;
按照解析后的所述布局文件指定在布局卡片中显示的数据字段,将所述页面数据按所属的数据字段添加至布局卡片中。
8.一种应用页面展示装置,包括:
获取模块,用于获取目标应用的应用页面所对应的页面标识;
确定模块,用于确定与所述页面标识对应的页面布局信息;
调取模块,用于通过封装于目标应用中的页面控制组件,从文件池中调取与所述页面布局信息匹配的布局文件;所述文件池是预先设置的用户终端本地的存储空间,所述文件池中存储有所述用户终端定期从云端拉取的版本更新后的布局文件;
解析模块,用于通过所述页面控制组件解析调取的所述布局文件;
展示模块,用于根据解析后的所述布局文件展示所述应用页面;
更新模块,用于定期获取所述页面控制组件的组件版本信息及所述文件池中布局文件的文件版本信息,将所述组件版本信息和所述文件版本信息发送至服务器,使得所述服务器根据所述组件版本信息,确定所述页面控制组件所能解析的布局文件的文件版本区间;接收所述服务器在比较到接收的所述文件版本信息,低于属于所述文件版本区间的布局文件中最新版本的布局文件的文件版本信息时,所下发的所述最新版本的布局文件,根据接收到的所述最新版本的布局文件,覆盖更新所述文件池中的布局文件。
9.根据权利要求8所述的装置,其特征在于,所述调取模块还用于将所述页面布局信息传递至封装于目标应用的页面控制组件;当文件池中存在与所述页面布局信息匹配的布局文件时,则通过所述页面控制组件从所述文件池中调取与所述页面布局信息匹配的布局文件;当文件池中不存在与所述页面布局信息匹配的布局文件时,则通过所述页面控制组件根据应用安装目录调取与所述页面布局信息匹配的默认的布局文件。
10.根据权利要求9所述的装置,其特征在于,所述页面布局信息包括布局文件列表;所述调取模块还用于当所述布局文件列表指定的各布局文件均存在于文件池中时,则通过所述页面控制组件从所述文件池中调取所述布局文件列表指定的各布局文件;当所述布局文件列表指定的各布局文件未全部存在于文件池中时,则通过所述页面控制组件根据应用安装目录调取所述布局文件列表指定的各默认的布局文件。
11.根据权利要求8所述的装置,其特征在于,所述组件版本信息包括组件版本号和附加标识;所述文件版本信息包括文件版本号;
所述更新模块,还用于将所述组件版本号、所述附加标识和所述文件版本号发送至服务器,接收所述服务器在比较到接收的所述文件版本信息,与属于所述文件版本区间的布局文件中最新版本的、且携带所述附加标识的布局文件的文件版本信息不一致时,所下发的属于所述文件版本区间的布局文件中最新版本的、且携带所述附加标识的布局文件。
12.根据权利要求8所述的装置,其特征在于,所述装置还包括:
响应模块,用于获取针对所述应用页面的触发指令;在解析后的所述布局文件中查找所述触发指令所对应的逻辑响应标签;当判定当前满足所述逻辑响应标签所指定的操作执行条件时,则执行所述逻辑响应标签所指定的操作。
13.根据权利要求8所述的装置,其特征在于,所述解析模块还用于通过所述页面控制组件启动界面线程;采用所述界面线程解析调取的所述布局文件;通过独立于界面线程的后台线程异步解析所述文件池中剩余的布局文件。
14.根据权利要求8至13任一项所述的装置,其特征在于,所述展示模块还用于获取与所述页面标识对应的页面数据;确定所述页面布局信息中包括的各布局卡片标识;根据解析后的所述布局文件渲染各布局卡片标识对应的布局卡片;按照解析后的所述布局文件指定在布局卡片中显示的数据字段,将所述页面数据按所属的数据字段添加至布局卡片中。
15.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的方法的步骤。
16.一种计算机设备,包括存储器和处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710805561.2A CN110020280B (zh) | 2017-09-08 | 2017-09-08 | 应用页面展示方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710805561.2A CN110020280B (zh) | 2017-09-08 | 2017-09-08 | 应用页面展示方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110020280A CN110020280A (zh) | 2019-07-16 |
CN110020280B true CN110020280B (zh) | 2022-12-02 |
Family
ID=67186243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710805561.2A Active CN110020280B (zh) | 2017-09-08 | 2017-09-08 | 应用页面展示方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110020280B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515797A (zh) * | 2019-07-31 | 2019-11-29 | 广东浪潮大数据研究有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
CN113127115A (zh) * | 2019-12-31 | 2021-07-16 | 腾讯科技(深圳)有限公司 | 小程序显示界面的生成方法、装置、电子设备及存储介质 |
CN111930455A (zh) * | 2020-07-29 | 2020-11-13 | 腾讯音乐娱乐科技(深圳)有限公司 | 页面更新方法、装置、终端及存储介质 |
CN112199132A (zh) * | 2020-09-01 | 2021-01-08 | 北京声智科技有限公司 | 页面布局方法及装置 |
CN112800362B (zh) * | 2021-02-04 | 2024-05-17 | 百果园技术(新加坡)有限公司 | 一种界面视图延时加载方法及装置 |
CN113127091B (zh) * | 2021-03-17 | 2024-06-04 | 北京达佳互联信息技术有限公司 | 微件的展示方法、装置、设备、存储介质及程序产品 |
CN114357339B (zh) * | 2022-03-17 | 2022-07-22 | 杭州互链互联网技术有限公司 | 一种页面加载方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391725A (zh) * | 2014-12-08 | 2015-03-04 | 畅捷通信息技术股份有限公司 | 页面展示方法和页面展示装置 |
CN105573773A (zh) * | 2014-10-17 | 2016-05-11 | Tcl集团股份有限公司 | 一种布局用户界面的方法、装置和系统 |
CN106502699A (zh) * | 2016-11-03 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 一种应用页面处理方法、装置及系统 |
CN106775637A (zh) * | 2016-11-18 | 2017-05-31 | 腾讯音乐娱乐(深圳)有限公司 | 一种应用程序的页面显示方法和装置 |
-
2017
- 2017-09-08 CN CN201710805561.2A patent/CN110020280B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573773A (zh) * | 2014-10-17 | 2016-05-11 | Tcl集团股份有限公司 | 一种布局用户界面的方法、装置和系统 |
CN104391725A (zh) * | 2014-12-08 | 2015-03-04 | 畅捷通信息技术股份有限公司 | 页面展示方法和页面展示装置 |
CN106502699A (zh) * | 2016-11-03 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 一种应用页面处理方法、装置及系统 |
CN106775637A (zh) * | 2016-11-18 | 2017-05-31 | 腾讯音乐娱乐(深圳)有限公司 | 一种应用程序的页面显示方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110020280A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110020280B (zh) | 应用页面展示方法、装置、存储介质和计算机设备 | |
KR102436987B1 (ko) | 웹페이지 콘텐츠를 추출하기 위한 방법 및 단말 장치 | |
CN108304498B (zh) | 网页数据采集方法、装置、计算机设备和存储介质 | |
CN108108205B (zh) | 应用程序页面处理方法和装置 | |
CN108399072B (zh) | 应用页面更新方法和装置 | |
CN108804159B (zh) | javascript模块加载方法及其预处理方法、装置和计算机设备 | |
CN109901834B (zh) | 文档页面生成方法、装置、计算机设备和存储介质 | |
CN108829485B (zh) | 应用界面布局的更新方法、装置、存储介质及计算机设备 | |
CN109814854B (zh) | 项目框架生成方法、装置、计算机设备和存储介质 | |
CN111026797A (zh) | 业务数据处理方法、服务器及存储介质 | |
CN108804133B (zh) | 虚拟资源的获取方法、系统、计算机设备和存储介质 | |
CN111176996A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN108595697B (zh) | 网页集成方法、装置及系统 | |
CN107276842B (zh) | 接口测试方法、装置及电子设备 | |
CN111866158B (zh) | 路由方法、装置、计算机设备和存储介质 | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN111068328A (zh) | 游戏广告配置表格的生成方法、终端设备及介质 | |
CN111427577A (zh) | 代码处理方法、装置及服务器 | |
CN110941779A (zh) | 加载页面的方法、装置、存储介质及电子设备 | |
CN112835809A (zh) | 一种基于浏览器的测试数据设置方法、装置、设备及介质 | |
CN104182266B (zh) | 一种应用安装方法及装置 | |
CN118192965A (zh) | 页面组件处理方法、装置、计算机设备、存储介质和产品 | |
CN112445960A (zh) | 应用程序框架内关联搜索方法及电子设备 | |
CN113656737A (zh) | 网页内容展示方法、装置、电子设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |