移动终端设备上应用页面的展示方法及装置与流程

文档序号:12733771阅读:479来源:国知局
移动终端设备上应用页面的展示方法及装置与流程

本申请涉及移动应用技术领域,特别是涉及移动终端设备上应用页面的展示方法及装置。



背景技术:

智能化的便携式终端设备,诸如智能手机、平板电脑等设备得到了大面积的普及,使用便携式终端设备的用户也越来越多。在这些终端设备中,用户可以很方便的安装各种功能的应用软件APP,利用终端设备中安装的应用软件APP,可以获取互联网信息,以及进行工作、娱乐等等活动。如同在个人电脑中使用应用软件一样,在便携式移动终端设备中使用应用软件的过程中,也存在对其中安装的应用软件进行升级的需求。例如为了对应用软件进行性能优化,添加或完善功能,或消除BUG等目的,开发者往往会开发和发布升级版本的应用软件,用户可以通过网络获取到升级的应用版本,并在移动终端设备中安装和使用。

在现有技术条件下,在移动终端设备中进行应用升级的方式主要有两种,一种是用户手动升级,即用户可以自行通过开发者网站等媒介获取升级程序的安装包进行安装;另一种是通过“应用商店”进行应用升级。“应用商店”也是在设备中运行的一种应用程序,主要用以对设备中的其他用户应用进行管理,例如获取,安装,更新,卸载APP等操作一般都可以通过“应用商店”这种应用完成,方便了移动终端设备中用软件应用的管理。应用开发者也可以通过“应用商店”进行应用软件的发布,以便提供给使用者下载安装。比较常见应用商店包括“苹果应用商店”,“谷歌应用商店”等等。

出于安全性和规范性等考虑,应用商店中的APP常常需要通过运营者的审核才可以发布,这就使得开发者开发或者升级的应用,需要经过一段审核时间才能被一般使用者所获得,对于开发者和软件使用者来说,APP的发布和获取的过程往往会因为不可控的审核时间而延迟,造成的后果是,使用者无法在第一时间及时获得APP更新,在某些情况下,例如应用的重大BUG修复,或 遇有重要的推广活动需要对APP进行更新等,这种应用更新造成的延迟常常是无法接受的,尤其对于电商平台应用,其作为平台与终端用户之间互动的工具,如果出现更新延迟,用户可能无法第一时间获取最新的功能或者数据,对于电商平台和终端用户来说,都存在造成经济损失的潜在风险。

综上,需要本领域技术人员解决的技术问题就在于,实现一种移动终端设备上应用页面的展示方法,提高移动终端设备上应用页面的更新效率和便利性。



技术实现要素:

本申请提供了移动终端设备上应用页面的展示方法及装置,可以提高移动终端设备上应用页面的更新效率和便利性。

本申请提供了如下方案:

一种移动终端设备上应用页面的展示方法,所述应用页面用于展示业务对象信息,所述应用页面中包括至少一个与嵌入式脚本关联的视图单元,所述嵌入式脚本用于控制所述视图单元的元素类型,样式,和/或数据内容,所述方法包括:

确定所述视图单元对应的嵌入式脚本;

调用预置的脚本引擎执行所述嵌入式脚本,以便在所述应用页面中展示所述视图单元。

一种移动终端设备上应用页面的展示装置,所述应用页面用于展示业务对象信息,所述应用页面中包括至少一个与嵌入式脚本关联的视图单元,所述嵌入式脚本用于控制所述视图单元的元素类型,样式,和/或数据内容,所述装置包括:

脚本确定单元,用于确定所述视图单元对应的嵌入式脚本;

脚本执行单元,用于调用预置的脚本引擎执行所述嵌入式脚本,以便在所述应用页面中展示所述视图单元。

根据本申请提供的具体实施例,本申请公开了以下技术效果:

通过本申请,首先确定视图单元对应的嵌入式脚本,进而调用预置的脚本引擎执行嵌入式脚本,以便在应用页面中展示所述视图单元。在该方法中,应用页面用于展示业务对象信息,应用页面中包括至少一个与嵌入式脚本关联的视图单元,嵌入式脚本用于控制所述视图单元的元素类型,样式,和/或数据内容;对视图单元中元素类型,样式,数据内容等的控制或操作是通过在脚本引擎的基础上运行嵌入式脚本代理完成,这样,在视图单元中某些元素,样式,数据内容发生了更新时,只需更新嵌入式脚本的脚本代码来实现新的控制逻辑,并调用预置的脚本引擎执行更新的嵌入式脚本,即可完成对应用页面内容及控制逻辑的更新,而不需要重新改写应用的底层代码重新编译来升级应用,从而实现了更加便捷和高效的应用页面的更新。

当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的移动终端设备上应用页面的展示方法的流程图;

图2是本申请实施例提供的通过嵌入式脚本来控制视图单元的应用架构示意图;

图3是本申请实施例提供的通过嵌入式脚本来控制视图单元的示例的示意图;

图4是本申请实施例提供的通过嵌入式脚本处理的用户点击事件的示意图;

图5是本申请实施例提供的移动终端设备上应用页面的展示装置的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例提供了移动终端设备上应用页面的展示方法,其中,应用页面用于展示业务对象信息,例如商品对象信息,店铺信息,或者还可以是广告信息等等。应用页面可以包括至少一个与嵌入式脚本相关联的视图单元,嵌入式脚本用于控制该视图单元的元素类型(例如,图片类型、文本类型、按钮、输入框等控件类型),样式(例如,元素的尺寸、颜色,元素之间的相对位置关系等),和/或数据内容(例如,具体的图片链接地址、文本字符内容等)等,视图单元可以是应用页面中包括的某一个或多个信息展示位,也可以是整个应用页面。如图1所示,为本申请实施例提供的移动终端设备上应用页面的展示方法的流程图,请参看图1,该方法可以包括以下步骤:

S110:确定所述视图单元对应的嵌入式脚本;

在移动终端设备上展示应用页面时,首先可以确定视图单元对应的嵌入式脚本。如前所述,在本申请实施例提供的方法中,用于展示业务对象信息的应用页面中,包括了至少一个与嵌入式脚本相关联的视图单元,这个或这些视图单元的元素类型,样式,和/或数据内容等都可以通过对应的嵌入式脚本来控制,下面结合附图对这种通过嵌入式脚本控制视图单元的页面进行详细的介绍。

如图2所示,其为通过嵌入式脚本来控制视图单元的应用架构示意图,在实现这种应用或应用中的页面时,应用或页面可以包括了如图2所示的应用本地Native层210,脚本引擎220,软件开发工具包SDK230(可选),嵌入式脚本240,以及视图单元250。其中应用本地Native层210可以理解为以软件的基础框架层,应用本地Native层通常以平台的原生语言如C,C++,Obj-C等编程语言实现,具有运行效率高,底层调用灵活,可与上层应用通信和交互等特点。本地Native层可以调用脚本引擎220加载和执行嵌入式脚本240,进而创建和控制视图单元250。软件开发工具包SDK230是可选的,其中可以包括实现某些应用功能的工具包,如可以包括一些可被调用的接口函数等,例如软 件开发工具包SDK可以提供创建一个视图单元的函数:

View();

开发者可以通过SDK中相关的函数接口实现对视图单元的控制,而不需要重新编写相关的代码,例如可以通过调用相关的函数来设置/获取视图单元的大小或位置等等。此外,在嵌入式脚本运行的过程中,本地Native层还可以通过脚本引擎(虚拟机)与运行的嵌入式脚本进行交互,例如,Native层可以向脚本引擎传递要在视图单元中显示的内容数据等,Native层还可以对脚本引擎执行相关的配置操作,等等。

为了更好地理解上述应用架构下,通过嵌入式脚本控制视图单元的过程,以下再以通过嵌入式脚本控制视图单元中的按钮为例,进一步进行详细的介绍。

通常,由嵌入式脚本创建的组件是不包含真实实体的虚拟对象,在创建虚拟对象的同时,嵌入式脚本可以通过脚本引擎在应用的Native层创建对应的真实实体,并由脚本引擎创建和管理虚拟对象与真实实体的映射关系。利用这种映射关系,嵌入式脚本可以实现通过控制虚拟对象来控制对应的真实实体,以及与其进行交互等。请参看图3,为通过嵌入式脚本来控制视图单元的示例的示意图,如图3所示,在该示例中,嵌入式脚本要完成对视图单元的控制任务包括创建按钮A’,配置按钮A’的颜色以及尺寸等,当嵌入式脚本要完成创建按钮A’的任务时,嵌入式脚本所创建的实际上是一个虚拟对象,同时,通过脚本引擎在应用的Native层创建对应的真实实体,如对应于虚拟对象按钮A’,在应用的Native层创建了真实实体按钮A,同时,脚本引擎还创建了虚拟对象(按钮A’)与对应真实实体(按钮A)的映射关系。接下来,嵌入式脚本要完成配置按钮A’颜色以及大小的任务,在嵌入式脚本这一层,可以通过脚本代码执行配置虚拟对象按钮A’的颜色及尺寸,脚本引擎则根据按钮A’与按钮A的映射关系,对对应的真实实体按钮A执行配置颜色以及尺寸的任务。

如前所述,嵌入式脚本可以通调用SDK中的函数来完成指定任务,例如上述对按钮A’的创建以及配置任务可以通过调用SDK中的如下预置函数完成:

Button(Button);//创建一个Button对象;

backgroundColor(color,alpha);//配置按钮颜色;

size(w,h);//配置按钮尺寸。

通过嵌入式脚本控制视图单元的元素类型,样式,和/或数据内容,不仅可以实现视图单元中对象的创建和渲染,还可以在应用运行的过程中对特定的事件进行响应和处理,例如用户点击事件等。请参看图4,为通过嵌入式脚本处理的用户点击事件的示意图。如图4所示,在发生用户点击事件后,首先由应用Native层的真实实体按钮A接收用户点击,从而在应用Native层产生按钮A点击事件,应用Native层将该事件交给脚本引擎,脚本引擎根据脚本引擎可以通过虚拟对象与真实实体的映射关系,确定对应的虚拟对象按钮A’,并执行与该虚拟对象以及事件相关联的事件处理代码,从而完成对用户点击事件的响应和处理。

由以上的示例可见,在通过嵌入式脚本控制所述视图单元的元素,样式,和/或数据内容的实现方式下,对视图单元中元素类型,样式,以及数据内容的控制和操作都可以利用嵌入式脚本完成,更具体一点的说,是通过在脚本引擎的基础上运行嵌入式脚本来“代理”完成的,通过脚本引擎调用的脚本代码运行在应用Native层的上一层次,要实现视图单元中元素,样式,和/或数据内容的更新,仅需对对应的嵌入式脚本进行更新即可,而不必对应用的底层代码(例如应用Native层)进行更改,而嵌入式脚本具有便于编写,执行效率高,以及体积小便于网络交互等特点,利用嵌入式脚本实现的页面展示方法,可以大大提高移动终端设备上应用页面的更新效率和便利性。

具体在确定视图单元对应的嵌入式脚本时,可以有多种实现方式,例如可以首先确定视图单元对应的嵌入式脚本是否为最近版本的嵌入式脚本,若不是,则获取最新的嵌入式脚本进行加载。即可以首先确定视图单元对应的嵌入式脚本是否存在更新,若存在更新,则获取更新的嵌入式脚本,以便通过调用预置的脚本引擎执行更新的嵌入式脚本,并通过更新的嵌入式脚本来控制及更新所述视图单元的元素,样式,和/或数据内容。具体在实现确定嵌入式脚本是否存在更新,以及获取更新的嵌入式脚本时,也可以有多种实现方式,下面从移动终端设备本地应用主动获取或被动接收的角度介绍两种实现方式。

移动终端设备本地应用主动获取的实现方式下,应用或者应用注册的后台 服务可以在某些触发条件下主动向服务器请求最新的嵌入式脚本,例如在预定的时间间隔到达时,或者每次应用启动时,确定本地缓存的嵌入式脚本的第一版本信息,并发送至脚本服务器,脚本服务器根据第一版本信息确定设备缓存的嵌入式脚本是否存在更新,并在判断存在更新时返回更新指令,在接收到更新指令后,本地应用可以根据预置网络地址访问所述脚本服务器,下载更新的嵌入式脚本并保存在本地缓存中。预置网络地址可以包含在更新指令中,或者存储在移动终端设备本地存储中。

在被动接收的方式下,可以是在接收到脚本服务器的版本推送通知后启动嵌入式脚本的下载,即接收脚本服务器下发的嵌入式脚本的版本推送通知,版本推送通知中可以包括脚本服务器中已更新嵌入式脚本的第二版本信息,然后将第二版本信息与本地缓存的对应嵌入式脚本的版本进行比对,根据比对结果确定嵌入式脚本是否存在更新,进而在确定存在更新的情况下,根据预置网络地址访问脚本服务器,下载更新的嵌入式脚本并保存在本地缓存中。被动接收到实现方式可以利用应用注册的后台服务实现,以便在应用的前端停止运行时,也可以接收到接收脚本服务器下发的版本推送通知,以及完成脚本下载等任务,这样在应用页面展示时,可以不必关心脚本的版本而直接加载最新的嵌入式脚本,通过嵌入式脚本的运行完成页面中相关视图单元控制,进而完成应用页面的展示。

上述两种确定和获取更新的嵌入式脚本实现方式,是基于嵌入式脚本的版本控制原理来实现的,而在另一种是实现方式下,也可以将嵌入式脚本与应用要展示的当前页面通过统一资源定位符url绑定,脚本代码可以嵌入页面代码中,也可以存储为与该url关联的独立脚本文件,这样,应用在展示页面要访问页面的url时,就可以同时获取该页面对应的最新的嵌入式脚本,而不必关心其版本。

以上介绍了多种确定和获取更新的嵌入式脚本实现方式,各实现方式都有其各自的优势,本领域技术人员在实施本方法时,可以结合应用的运行环境,嵌入式脚本的代码量,在不同实现方式下数据通信开销,以及更新脚本的实时性等等多个角度的需求和实际情况选择合适的实现方式。

S120:调用预置的脚本引擎执行所述嵌入式脚本,以便在所述应用页面中展示所述视图单元。

在确定了视图单元对应的嵌入式脚本后,可以调用预置的脚本引擎执行嵌入式脚本,以便在应用页面中展示对应的视图单元。如前所述,对于应用页面中与嵌入式脚本关联的视图单元,其中的元素类型,样式,和/或数据内容是通过相关联的嵌入式脚本来控制的,当对相关联的嵌入式脚本的控制方式或控制逻辑进行更新后,对应的视图单元中的元素类型,样式,和/或数据内容也会相应的更新,从而实现了应用页面的更新。这种应用页面的展示方法,在页面的视图单元更新时,只需要对脚本层的嵌入式脚本进行更新即可,而并不需要重新设计应用的底层代码或者框架,从而提高移动终端设备上应用页面的更新效率和便利性。

并且,这种应用页面的展示方法具有广泛的适用性,这种广泛的适用性主要体现在以下两点:其一,就应用的页面而言,在许多应用中,每个应用页面通常包括多个信息展示位,也俗称为“坑位”,例如对于电商应用,一个页面通常包括多个信息展示位用以展示不同的商品对象的摘要信息(例如,包括代表图片、标题文本等内容);同时,不同的信息展示位可以以不同的展示方式展示不同类型的内容,例如在同一页面的不同的信息展示位中,以的不同展示方式展示商品对象信息以及其他类型的信息等。而这些应用需求都可以通过本应用页面的展示方法满足,如可以将信息展示位作为视图单元并与相应嵌入式脚本关联,从而通过嵌入式脚本控制页面每个信息展示位中的元素,样式,和/或数据内容的展示,也可以通过嵌入式脚本实现对具有不同类型信息的信息展示位的不同展示方式。还可以将整个页面作为一个视图单元,进而通过关联的嵌入式脚本控制整个页面的展示。其二,由于脚本语言通常具有跨平台应用的特点,通过嵌入式脚本控制视图单元的元素类型,样式,和/或数据内容,进而实现应用页面展示的方法可以适用于多种平台,从而大大减轻跨平台应用开发的工作量。下面就以上特性的实现进行具体的介绍。

作为嵌入式脚本的控制对象,嵌入式脚本关联的视图单元可以是某页面中的信息展示位,也可以是整个页面。在嵌入式脚本执行时,可以首先根据嵌入式脚本关联的视图单元,确定嵌入式脚本在应用页面中的目标运行环境,进而 调用预置的脚本引擎在所确定的目标运行环境执行嵌入式脚本。例如若嵌入式脚本关联的视图单元为应用页面中的信息展示位,则确定嵌入式脚本在应用页面中的目标运行环境为该信息展示位,并调用预置的脚本引擎在该信息展示位中执行嵌入式脚本;若嵌入式脚本关联的视图单元为整个页面,则确定嵌入式脚本在应用页面中的目标运行环境为当前应用页面,并调用预置的脚本引擎在该当前应用页面中执行嵌入式脚本。

不同的运行环境中,嵌入式脚本对于待展示的内容的获取方式可以不同。例如,在嵌入式脚本作用于页面中某个信息展示位的情况下,关于信息展示位本身的形状、尺寸、在页面中的位置以及信息展示位内具体待展示的数据内容(例如,具体代表图片的地址、标题文本的内容等等),都可以是在native层定义的,嵌入式脚本中可以仅对信息展示位中需要展示的各个元素的样式等(例如图片元素与文本元素的位置关系、按钮等控件元素的位置、颜色、大小等等)进行控制。具体在对这种页面进行展示时,native层首先访问该页面的页面地址,获取到页面数据以及关联的嵌入式脚本,然后,利用页面数据对页面中的信息展示位进行初始化,初始化完成后,各个信息展示位在页面中的位置、尺寸等都已经确定,只是信息展示位内尚未展示出具体的数据内容。也就是说,如果每个信息展示位具有对应的边框,则在初始化完成后,页面中可以展示出一个个空白的框体,这些框体通常为矩形,逐行或者逐列展示在页面中,每个框体对应一个信息展示位。

之后,native层可以从第一个信息展示位开始进行内容展示。具体的,首先将脚本引擎的目标运行环境配置为当前信息展示位,然后,调用脚本引擎执行嵌入式脚本,并将该信息展示位关联的数据内容传入到脚本引擎中,这样,脚本引擎就可以将该当前信息展示位确定为运行环境,也即,对于脚本引擎而言,当前信息展示位就是整个窗口,并可以通过窗口句柄获取到当前信息展示位的属性信息,包括位置、尺寸等等,接下来,就可以按照嵌入式脚本中定义的样式,对native层传入的数据内容展示到该信息展示位中。在完成一个信息展示位的展示后,再将下一个信息展示位确定为当前信息展示位,同样按照上述方式进行该信息展示位的内容展示,直到将页面中各个信息展示位的内容展示完毕。

需要说明的是,在页面中存在多个信息展示位时,不同的信息展示位可以共用同一个嵌入式脚本,也即,同一嵌入式脚本可以在不同的信息展示位之间进行复用,在每展示一个信息展示位中的内容时,脚本引擎执行的都可以同一嵌入式脚本。在这种情况下,各个信息展示位中展示出的元素可以具有样式统一的特点。当然,在实际应用中,如果需要体现出不同信息展示位之间的个性化,或者样式的多样性,还可以为不同的信息展示位配置不同的嵌入式脚本,可以由native层控制信息展示位与嵌入式脚本之间的关联关系,当需要展示某个信息展示位中的内容时,可以调用脚本引擎执行该信息展示位关联的脚本。

当然,在实际应用中,同一页面内可能会包含多个内容类型的信息展示位,例如,有的信息展示位用于展示商品对象的摘要信息,而有的信息展示位是用于展示广告等其他类型的信息,等等。对于不同内容类型的信息展示位而言,信息展示位内的信息展示样式等往往有不同的需求。针对这种情况,为了能够实现在不同信息展示位复用同一嵌入式脚本,可以在嵌入式脚本中包括多个代码段,每个代码段对应不同的内容类型。native层在调用脚本引擎执行脚本时,除了传入当前信息展示位关联的具体内容数据,还可以确定出当前信息展示位的内容类型信息,并将该内容类型信息也传给脚本引擎,以便嵌入式脚本根据该内容类型信息,执行对应的代码段,以控制信息展示位的元素类型,样式,和/或数据内容。

这种嵌入式脚本页面中的具体信息展示位的实现方式下,也就意味着页面中除了信息展示位之外的其他内容,仍然可以是在native层进行定义。考虑到在电子商务销售平台相关的应用页面自身的特点,也即信息展示位之外的其他内容,在展示样式等方面通常不会发生太频繁的更新,因此,更适于在native层定义。而信息展示位内部的元素类型、样式等信息,相对而言,会比较频繁地发生更新,因此,可以仅利用嵌入式脚本定义信息展示位内的元素类型、样式信息,关于信息展示位本身的属性信息,以及信息展示位内的具体内容数据也都可以在native层进行定义,这样可以使得嵌入式脚本仅关注页面中具有较高更新频率的内容,避免嵌入式脚本的代码过于冗长。另一方面,由于页面内的信息展示位往往具有结构化的特点,同一页面内的不同信息展示位之间,在展示的元素类型、样式等方式,往往是相同的,因此,在脚本中仅定义信息展 示位内的元素类型、样式信息,而不需要定义具体内容数据的情况下,可以实现同一脚本在不同信息展示位之间的复用,从而可以提高脚本的使用率,减轻系统的脚本维护、传输压力,也可以提高页面展示效率。

当然,在另一种实现方式下,对于作用于信息展示位的嵌入式脚本,还可以直接在脚本内定义信息展示位本身的属性(包括在页面中的位置、尺寸、形状、背景色等等)以及信息展示位内关联的具体内容数据。例如,以下为加入类型信息判断逻辑的嵌入式脚本伪代码:

{if product==GetViewType()//若信息展示位的类型信息为产品;

{view1=View();//创建视图单元view1;

view1.size(w1,h1);//配置视图单元view1的尺寸为w1*h1;

view1.backgroundColor(color1,100);//配置视图单元view1的背景颜色为color1,透明度100%;

button1=Button(Button);//创建按钮button1;

button1.callback(addToCart);//配置按钮回调函数为“加入购物车”;

……;

};

if ad==GetViewType()//若信息展示位的类型信息为广告;

{view2=View();//创建视图view2;

view2.size(w2,h2);//配置视图view2的尺寸为w2*h2;

view2.backgroundColor(color2,80);//配置视图view2的背景颜色为color2,透明度80%;

button2=Button(Button);//创建按钮button2;

button2.callback(jumpToUrl_1);//配置按钮回调函数为“跳转至Url_1”;

……;

};

}

在上述伪代码示例中,嵌入式脚本根据所确定的视图单元的不同类型信息,进行了不同的展示控制,例如当确定信息展示位的类型信息为产品时,所创建的对应视图单元的尺寸为w1*h1,配置视图单元的背景颜色为color1,透明度100%,以及在其中创建“加入购物车”的按钮;当确定信息展示位的类型信息为广告时,所创建的对应视图单元的尺寸为w2*h2,配置视图单元的背景颜色为color2,透明度80%,以及在其中创建跳转至指定url(Url_1)的按钮。

以上对嵌入式脚本作用于信息展示位的情况进行了介绍,而当嵌入式脚本在应用页面中的目标运行环境为当前应用的整个页面时,关于该页面的元素、样式、数据内容等都可以在嵌入式脚本中进行定义,此时,native层在访问该页面的页面地址并获取到最新的嵌入式脚本后,可以将脚本引擎的运行环境配置为当前整个页面,然后,直接调用脚本引擎执行对应的嵌入式脚本,即可完成对该页面的展示。

如前所述,由于脚本语言通常具有跨平台应用的特点,通过嵌入式脚本控制视图单元的元素,样式,和/或数据内容,可以实现应用页面展示的方法的跨平台应用,从而大大减轻跨平台应用开发的工作量。例如使用Lua脚本语言实现的嵌入式脚本,对应的脚本引擎可以包括Lua虚拟机。Lua脚本语言是一种扩展式程序设计语言,用Lua脚本语言设计的脚本可以被嵌入宿主程序,例如一些移动终端应用中工作,宿主程序可以通过脚本引擎执行Lua代码,读写Lua变量,也可以注入函数让Lua脚本调用。Lua脚本语言以及使用Lua脚本语言实现的嵌入式脚本,与系统原生语言结合紧密,具有很强的可扩展性,语法简洁,执行高效,可移植性好等特点。

以上介绍了本申请实施例提供的移动终端设备上应用页面的展示方法,在该方法中,应用页面用于展示业务对象信息,应用页面中包括至少一个与嵌入式脚本关联的视图单元,嵌入式脚本用于控制所述视图单元的元素,样式,和/或数据内容;对视图单元中元素,样式,数据内容等的控制或操作是通过在脚本引擎的基础上运行嵌入式脚本代理完成,在进行应用页面的展示时,首先 确定视图单元对应的嵌入式脚本,进而调用预置的脚本引擎执行嵌入式脚本,以便在应用页面中展示所述视图单元。这样,在视图单元中某些元素,样式,数据内容发生了更新时,只需更新嵌入式脚本的脚本代码来实现新的控制逻辑,并调用预置的脚本引擎执行更新的嵌入式脚本,即可完成对应用页面内容及一些控制逻辑的更新,而不需要重新改写应用的底层代码重新编译来升级应用,从而实现了更加便捷和高效的应用页面的更新。

与本申请实施例提供的移动终端设备上应用页面的展示方法相对应,还提供了移动终端设备上应用页面的展示装置,其中,应用页面用于展示业务对象信息,应用页面中包括至少一个与嵌入式脚本关联的视图单元,嵌入式脚本用于控制视图单元的元素类型,样式,和/或数据内容。请参看图5,为移动终端设备上应用页面的展示装置的示意图,如图5所示,该装置可以包括:

脚本确定单元510,用于确定视图单元对应的嵌入式脚本;

脚本执行单元520,用于调用预置的脚本引擎执行嵌入式脚本,以便在应用页面中展示视图单元。

其中,脚本确定单元可以包括:

更新检测单元,用于确定视图单元对应的嵌入式脚本是否存在更新;

更新获取单元,用于若存在更新,则获取更新的嵌入式脚本,以便通过调用预置的脚本引擎执行更新的嵌入式脚本,控制视图单元的元素,样式,和/或数据内容。

在这种实现方式下,更新检测单元可以包括:

版本信息发送单元,用于确定本地缓存的嵌入式脚本的第一版本信息,并发送至脚本服务器,以便脚本服务器根据第一版本信息确定嵌入式脚本是否存在更新,并在存在更新时返回更新指令;

更新获取单元,包括:

第一脚本下载单元,用于在接收到更新指令后,根据预置网络地址访问脚本服务器,下载更新的嵌入式脚本并保存在本地缓存中。

在另一种实现方式下,移动终端设备上应用页面的展示装置还可以包括:

通知接收单元,用于接收脚本服务器下发的嵌入式脚本的版本推送通知,版本推送通知中包括在脚本服务器中已更新嵌入式脚本的第二版本信息;

在这种实现方式下,更新检测单元可以包括:

将第二版本信息与本地缓存的对应嵌入式脚本的版本进行比对,根据比对结果确定嵌入式脚本是否存在更新;

更新获取单元可以包括:

第二脚本下载单元,用于若存在更新,根据预置网络地址访问脚本服务器,下载更新的嵌入式脚本并保存在本地缓存中。

为了实现移动终端设备上应用页面的展示装置更广泛的适用性,该装置还可以包括:

运行环境确定单元,用于根据嵌入式脚本关联的视图单元,确定嵌入式脚本在应用页面中的目标运行环境;

在这种实现方式下,脚本执行单元可以包括:

脚本执行子单元,用于调用预置的脚本引擎在目标运行环境执行嵌入式脚本。

其中,运行环境确定单元具体可以用于:

若嵌入式脚本关联的视图单元为应用页面中的信息展示位,确定嵌入式脚本在应用页面中的目标运行环境为该信息展示位;

脚本执行子单元,具体用于:

调用预置的脚本引擎执行嵌入式脚本,以便脚本引擎在所述应用页面中展示所述信息展示位。

具体实现时,可以在应用的本地native层定义所述信息展示位的属性信息,以及信息展示位关联的内容数据,所述嵌入式脚本仅用于定义信息展示位内待展示的元素类型以及样式;

此时,所述装置还可以包括:

页面数据加载单元,用于加载所述应用页面的页面数据,所述页面数据中包括信息展示位的属性信息,以及信息展示位关联的内容数据

初始化单元,用于利用所述信息展示位的属性信息对所述页面内的信息展示位进行初始化;

配置单元,用于将所述脚本引擎的目标运行环境配置为当前信息展示位,并在调用所述脚本引擎执行所述嵌入式脚本时,将所述当前信息展示位关联的内容数据传入所述脚本引擎,以便所述脚本引擎通过调用窗口句柄获取所述当前信息展示位的属性信息,利用所述嵌入式脚本定义的元素类型以及样式,将所述传入的内容数据在该信息展示位内进行展示。

在这种实现方式下,嵌入式脚本可以复用于多个视图单元。

在同一个嵌入式脚本中,可以包括多个代码段,每个代码段对应不同的内容类型,可以对不同内容类型的信息展示位进行不同的展示控制,所述装置还包括:

内容类型信息传入单元,用于确定当前信息展示位的内容类型信息,并将所述内容类型信息传入所述脚本引擎,以便所述嵌入式脚本根据所述内容类型信息,调用脚本中对应的代码段,控制所述信息展示位的元素,样式,和/或数据内容。。

在另一种实现方式下,运行环境确定单元具体可以用于:

若嵌入式脚本关联的视图单元为整个当前应用页面,确定嵌入式脚本在应用页面中的目标运行环境为当前应用页面;

脚本执行子单元具体用于:

将所述脚本引擎的目标运行环境配置为当前应用页面,调用预置的脚本引擎执行嵌入式脚本,以便嵌入式脚本获取整个当前应用页面的待展示数据,并在当前应用页面中展示待展示数据。

此外,嵌入式脚本可以包括Lua脚本语言实现的嵌入式脚本,对应的,预 置的脚本引擎包括Lua虚拟机。

以上介绍了本申请实施例提供的移动终端设备上应用页面的展示装置,在该方法中,应用页面用于展示业务对象信息,应用页面中包括至少一个与嵌入式脚本关联的视图单元,嵌入式脚本用于控制所述视图单元的元素,样式,和/或数据内容;对视图单元中元素,样式,数据内容等的控制或操作是通过在脚本引擎的基础上运行嵌入式脚本代理完成,在进行应用页面的展示时,首先确定视图单元对应的嵌入式脚本,进而调用预置的脚本引擎执行嵌入式脚本,以便在应用页面中展示所述视图单元。这样,在视图单元中某些元素,样式,数据内容发生了更新时,只需更新嵌入式脚本的脚本代码来实现新的控制逻辑,并调用预置的脚本引擎执行更新的嵌入式脚本,即可完成对应用页面内容及一些控制逻辑的更新,而不需要重新改写应用的底层代码重新编译来升级应用,可以更加便捷和高效的更新移动终端设备上应用页面。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上对本申请所提供的移动终端设备上应用页面的展示方法及装置,进行 了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1