用于通过使用辅助应用来评价应用的技术的制作方法

文档序号:12484853阅读:189来源:国知局
用于通过使用辅助应用来评价应用的技术的制作方法与工艺

本公开内容总体上涉及计算机实现的方法和系统,并且更具体地涉及通过使用执行在计算设备中的查看器应用来评价处于开发中的应用。



背景技术:

考虑到移动设备和其他类型的计算设备的扩增,已经鼓励许多人开发针对这些计算设备的应用。这些人中的一些人可以是有经验的应用开发者,而其他人不仅对创作应用所需要的不同程序不熟悉,而且对构建和测试应用所需要的不同程序不熟悉。简化应用开发过程的开发环境是可获得的,但是构建并测试针对不同类型的计算设备并且针对不同操作系统的应用仍然可能是复杂的、耗时的过程。



技术实现要素:

公开了用于通过使用执行在移动设备中的查看器应用来评价处于开发中的应用的各种实施例。查看器应用取回包括针对目标应用的代码的应用程序包。在一些实施方式中,从内容管理系统(CMS)取回程序包。在其他实施方式中,如果存在,可以从移动设备中的本地存储取回程序包。

查看器应用将针对目标应用的代码存储在移动设备的、对查看器应用可访问的存储器中。在一些实施方式中,查看器应用通过利用针对目标应用的代码替换移动设备的存储器中的查看器应用的代码的至少一部分,来将针对目标应用的代码添加到存储器。在各种实施方式中,针对目标应用的代码被修改以包括具有对针对查看器应用的代码的引用的补充代码。在一些实施方式中,修改在针对目 标应用的代码中定义的更新服务器以使用CMS作为更新服务器。在其他实施方式中,补充代码被添加到目标应用,以用于取回目标应用的经更新的版本并发起对目标应用的经更新的版本的执行。在另外的其他实施例中,补充代码被添加到目标应用,以用于在执行期间捕获目标应用的用户接口的一个或多个屏幕截图。

查看器应用执行针对目标应用的所存储的代码以用于评价。在查看器应用的执行中,执行目标应用的所存储的代码执行目标应用。在另外的实施方式中,目标应用监视对应于用于经由引用返回到包括用户接口的查看器应用的执行的请求的输入。在一些实施方式中,输入是对来自补充菜单的项目的选择。在其他实施方式中,输入时经由触敏显示器接收到的手势。

附图说明

本公开内容的许多方面可以参考下面的附图得到更好地理解。附图中的部件不一定是按比例绘制的,而重点被放在清楚地说明本公开内容的原理上。此外,在附图中,类似的附图标记贯穿多个视图中指代对应的部分。

图1是根据本公开内容的各种实施例的网络化环境的绘图。

图2-4是由根据本公开内容的各种实施例的图1的网络化环境中的客户端呈现的示例性用户接口的示意图。

图5是图示用于在从内容管理系统获得目标应用之后在查看器应用内执行目标应用并且修改目标应用以包括补充代码的功能的一个示例的流程图,其中功能被实施为在根据本公开内容的各种实施例的图1中的网络化环境中的客户端中执行的查看器应用的一部分。

图6是图示用于在查看器应用内执行目标应用的功能的示例的流程图,其中使用web技术来构建目标应用,并且功能被实施为在根据本公开内容的各种实施例的图1中的网络化环境中的客户端中执行的查看器应用的一部分。

图7是图示用于修改目标应用的代码以包括用于在目标应用的 执行期间回到查看器应用的补充代码的功能的示例的流程图,其中功能被实施为在根据本公开内容的各种实施例的图1中的网络化环境中的客户端中执行的查看器应用的一部分。

图8是提供在根据本公开内容的各种实施例的图1的网络化环境中采用的客户端的一个示例图示的示意性框图。

具体实施方式

本文公开了用于简化用于通过使用执行在计算设备中的查看器应用来测试和评价处于开发中的应用的操作的技术。传统上,评价针对诸如智能电话的计算设备的、处于开发中的应用需要开发者或其他用户完成编译针对正确硬件和操作系统的应用、部署应用并将应用安装作为独立应用的复杂过程。此外,针对用户想要评价的每个个体应用并且可能针对要评价其中的应用的每种类型的设备将需要这些过程。

在评价给定计算设备中的应用涉及的流程方面,对于用户而言,将明显较不复杂的是使综合的现有应用(即,查看器应用)安装在如下计算设备中,该现有应用能够在不进行针对作为独立应用的目标应用的各种编译和安装程序的情况下,执行被选择用于评价的任何应用(即“目标应用”)的代码。为此,使用本文公开的技术,执行在计算设备中的查看器应用获取针对目标应用的代码,将针对目标应用的代码放置在存储器中,并且发起被位于存储器中的、针对目标应用的代码的执行。因此,用户能够在没有针对作为独立应用的目标应用的复杂的且易于出错的编译和安装程序的情况下,评价特定计算设备(可能是应用应当在其中被测试的许多不同类型计算设备之中的一个计算设备)中的目标应用。另外,查看器应用被通用化使得其能够以与针对当前目标应用执行的相同的方式发起针对处于开发中的其他应用的代码的执行。在下面的讨论中,提供对系统和其部件的一般描述,接着是对其操作的讨论。

如本文所使用的,“目标应用”是已经由用户对在客户端设备 中进行评价而选择的应用。

如本文所使用的,“查看器应用”是促进由用户对客户端设备中的一个或多个应用的评价的、在客户端设备中所执行的应用。

如本文所使用的,“内容管理系统”(CMS)是允许用户管理对可执行在一个或多个计算设备中的应用(或简称为“app”)的内容支持开发的创建、编辑和删除的具有网络功能的服务。另外,CMS能够支持允许在应用开发过程期间与其他用户合作的特征以及管理在多个用户之中对内容的访问的认证和授权能力。

参考图1,示出了根据各种实施例的网络化环境100。网络化环境100包括计算环境103和一个或多个客户端设备106,它们经由网络109与彼此进行数据通信。网络109包括例如因特网、内联网、外联网、广域网(WAN)、局域网(LAN)、有线网络、无线网络、或者其他适当的网络、等等或者两个或多个这样的网络的任何组合。例如,这样的网络能够包括蜂窝网络、卫星网络、线缆网络、以太网网络、和/或其他类型的网络。

计算环境103包括例如服务器计算机或提供计算能力的任何其他系统。备选地,计算环境103采用被布置在例如一个或多个服务器库或计算机库或其他布置中的多个计算设备。这样的计算设备能够位于在单个安装中或被分布在许多不同的地理位置之中。例如,在一些实施例中,计算环境103包括多个计算设备,其一起包括主机计算资源、网格计算资源、和/或任何其他分布式计算布置。在一些情况下,计算环境103对应于其中处理、网络、存储或其他计算相关的资源的分配能力可以随时间改变的弹性计算资源。

根据各种实施例,可以在计算环境103中执行各种应用和/或其他功能。此外,各种数据被存储在对计算环境103可访问的数据存储装置112中。如能够认识到的,数据存储装置112能够表示多个数据存储装置112。在数据存储装置112中所存储的数据例如与下面描述的各种应用和/或功能实体的操作相关联。

执行在计算环境103上的部件例如包括内容管理系统(CMS) 121和其他应用、服务、过程、系统、引擎或没有在本文详细讨论的功能。CMS 121被执行以允许用户管理对可执行在一个或多个计算设备中(例如,在客户端设备106中)的应用(或简称为“app”)的内容支持开发的创建、编辑和删除。在其他特征之中,CMS 121能够支持利用其对用户进行认证的证书的使用、管理针对开发项目的各种文件和其他数据的用户许可、针对开发数据的版本历史、针对开发项目的版本发行和发布信息、和/或如能够认识到的其他可能的特征。

在数据存储装置112中所存储的数据包括例如用户账户数据131、应用记录133和可能的其他数据。用户账户数据131包括针对与CMS 121相关联的用户账户的证书、用户偏好、用户与CMS 121交互的历史、与应用和开发项目相关联的用户许可、和/或其他可能的数据。应用记录133各自包括与应用的开发相关联的各种内容和元数据。应用记录133各自与应用数据135、应用元数据137以及可能的其他数据相关联。应用数据135包括与特定应用的开发相关联的内容,例如针对应用的源代码和可执行代码、文本字符串、音频、视频、图像和/或如能够认识到的其他类型的内容。应用元数据137包括与特定应用相关联的各种元数据,例如针对发行的或发布的版本的描述、关键字、版本历史、指示符、针对各种不同的计算设备的构建指令、发布的应用能够从其被更新的网络地址、变化日志、发布说明、针对(一个或多个)应用拥有者/(一个或多个)贡献者的标识符、和/或其他可能的元数据。

客户端106表示能够耦合到网络109的多个客户端设备。客户端106包括例如基于处理器的系统,例如计算机系统。这样的计算机系统可以以如下形式来实现:智能电话、台式计算机、膝上型计算机、个人数字助理(PDA)、蜂窝电话、机顶盒、音乐播放器、web平板、平板计算机系统、游戏控制台、电子书阅读器、或具有类似的能力的其他设备。客户端106可以包括显示器161。显示器161可以包括例如一个或多个设备,例如液晶显示器(LCD)显示器、 等离子体平板显示器、有机发光二极管(OLED)显示器、电子墨水(E ink)显示器、LCD投影仪、或其他类型的显示设备、等等。在一些实施例中,显示器161是触敏的并且能够支持各种基于手势的形式的输入。

客户端106可以被配置为执行各种应用,例如查看器应用163和/或其他应用。查看器应用163被执行在客户端106中例如以访问由计算环境103和/或其他服务器提供服务的内容,由此将用户接口164呈现在显示器161上。为此,查看器应用163可以包括例如浏览器、专用应用、等等,并且用户接口164可以包括网络页面、应用屏幕、等等。在由查看器应用163可访问的各种类型的内容之中包括由CMS 121管理的处于开发中的应用。所选择的应用(还称为“目标应用”)能够分别经由应用请求165和目标应用数据167来被请求和被接收。目标应用171能够从目标应用数据167中提取并被准备以供查看器应用163执行。准备过程可以包括到目标应用171的补充代码173的添加和/或修改,如本文更详细地描述的。客户端106还能够被配置为执行在查看器应用163以外的应用,例如电子邮件应用、社交联网应用、文字处理器、电子表格制作和/或其他应用。

接下来,提供对网络化环境100的各种部件的操作的一般描述。首先,要测试正被开发的应用的应用开发者或其他用户建立在查看器应用163与CMS 121之间的通信会话。通信会话可以使用各种协议来执行,各种协议例如超文本传输协议(HTTP)、单个对象访问协议(SOAP)、代表性状态传输(REST)、用户数据报协议(UDP)、传输控制协议(TCP)、和/或用于通过网络109通信数据的其他协议。在一些实施方式中,使用一个或多个用户证书来将用户认证给CMS 121。

其后,用户被呈现以针对查看器应用163的用户接口164,例如如图2所示。在用户接口164的各种可能的屏幕之中是应用选择屏幕203,在其中向用户示出从CMS 121接收到的包括能够通过查看器应用163评价的任何应用的列表。在一些实施方式中,应用选择 屏幕203还包括在本地存储在客户端106上的能够通过查看器应用163评价的应用。应用的列表,例如应用面板205中示出的三个应用,还能够包括名称、版本信息、修改日期和/或未示出的其他可能的元数据,例如图标、屏幕截图、关键字、描述、等等。在一些实施例中,应用面板205还包括菜单207,例如弹出菜单,通过其能够发现与应用和查看器应用相关联的各种信息和设置。例如,菜单能够允许用户发起对所选择的应用的评价,找到与应用有关的信息(例如,应用大小、描述、等等),针对查看器应用163的选项或其他用户偏好(例如,用户证书、CMS服务器地址、等等)和/或其他可能性。

一旦用户已经提供选择要评价的应用(即,“目标应用”)的输入,则查看器应用163经由网络109将应用请求615发送到CMS 121。应用请求165能够包括针对要评价的目标应用的标识符,针对目标应用要在其中被执行以进行评价的查看器应用163和客户端106的描述符和版本信息,和/或其他可能的信息。响应于应用请求165,CMS 121将目标应用数据167发送到请求查看器应用163。如前面所描述的,在一些实施例中,目标应用数据167可以被缓存并被本地存储在客户端106或另一存储设备上,而非从CMS 12取回其。目标应用数据167包括包含从查看器应用163执行目标应用171需要的可执行代码和静态内容两者的内容。如能够认识到的,目标应用171的执行还利用插件或预存在于客户端106上的和/或单独地取回的其他代码。在一些实施例中,目标应用数据167包括应用包,例如APK(Android应用包)、ZIP、等等,其包括针对目标应用的内容,以及指示如何从内容执行应用的表示和/或其他元数据,例如能够用于适应在各种类型的客户端106和/或每个客户端106的操作系统之中的差异。由查看器应用163对目标应用的内容进行的改变和修改也对保存在存储器和被分配给查看器应用163的客户端106的存储空间中的内容做出本地副本。

在其他实施例中,目标应用在执行时提供检查对目标应用的更新并允许终端用户在这样的更新存在的情况下更新应用的特征。为 了执行该特征,目标应用被配置具有在其处检查对目标应用的发布的更新的更新服务器的网络地址,例如统一资源标识符(URI),其中更新服务器可以不受目标应用的开发者控制。为了在目标应用的发布之前或者关于目标应用的开发版本评价目标应用的“应用更新”或“应用中更新”特征,查看器应用163能够修改在目标应用的代码的本地副本中的更新服务器的网络地址信息。例如,CMS 121的网络地址能够被插入作为更新服务器。其后,在客户端106中对目标应用171的执行期间,应用更新特征将相反关于CMS 121检查目标应用的更近版本(即,开发的、预发布的版本),而非先前定义的更新服务器。

为了在客户端设备106中执行目标应用171,查看器应用163将包括目标应用171的内容(包括可执行代码)存储在客户端106的存储器中。在一些实施例中,当查看器应用163将目标应用171的内容添加到存储器时,查看器应用163在存储器中替换它自己的内容的一部分。因此,目标应用171能够开始在客户端106中执行,如同目标应用已经通过传统应用安装例程被编译和被安装在客户端中。

在一些实施方式中,查看器应用163启动使用诸如HTML和JavaScript/CSS(层叠样式表)的web内容技术构建的目标应用171,由此查看器应用163包含占据客户端106的显示器161的完整宽度和高度的web查看用户接口。一旦针对目标应用171的应用程序包已经由客户端106获得并打开程序包,则查看器应用163检查目标应用的元数据以确定针对目标应用的根HTML文档。查看器应用163之后通过对提供查看器应用的web查看用户接口的内容查看器进行重定向以下载针对目标应用171的根HTML文档,来发起目标应用171的执行。目标应用171的该根HTML文档之后将负责请求需要的任何其他本地资产,其可以已经被包含作为应用包的部分(例如,脚本、字体、图像、样式、等等)和/或在客户端设备106上的其他地方可获得。

在各种实施例中,针对查看器应用163的代码的副本也被存储在客户端106上的、与其正在存储器中执行的位置不同的单独的位置(例如在闪速存储或其他非易失性存储、存储器中的任何其他位置等中)。通过这种方式,针对查看器应用的代码仍然存在于客户端106上并且能够在存储器中的查看器应用163的代码的部分被目标应用171替换的情况下被发起以用于执行。

例如,先前由用户通过查看器应用163选择以进行评价的目标应用171是“应用Foxtrot”,示例性图像编辑应用。如图3所示,应用Foxtrot的内容现在已经被放置在存储器中并且正在被执行,使得查看器应用163或者至少针对查看器应用163的用户接口不再执行。

因此,在没有进一步的修改的情况下,为了使用户评价目标应用171以返回到针对查看器应用163的用户接口,用户将需要离开目标应用171并重新发起查看器应用163。因此,在一些实施例中,为了简化从目标应用171的执行切换回到查看器应用163的用户接口所需要的用户交互,查看器应用163修改目标应用的代码的本地副本以插入补充代码173,除了其他可能的功能之外,补充代码173允许用户从目标应用171内“回”到查看器应用163的用户接口。为此,查看器应用163能够将补充代码173插入到目标应用171中,其中补充代码173包含返回到本地存储和/或客户端106上的存储器中的其他地方中的、针对查看器应用163的用户接口的代码的指针或其他类型的引用。因此,当作为目标应用171的执行的一部分被执行时,补充代码173能够基于由用户输入的手势、从菜单选择项目和/或在其他情况下通过目标应用171的用户接口,来激活该引用以开始执行由该引用指定的针对查看器应用163的用户接口的代码。

例如,如图4所示,现在执行在客户端106中的应用Foxtrot(即目标应用)先前已经被查看器应用163修改以包括补充代码173,补充代码173包含返回到存储在对客户端106可访问的位置中的、针对查看器应用的用户接口的代码的引用。在该实例中,补充代码173 提供由特定手势或从用户接收到的其他输入触发的补充菜单403。从补充菜单403,用户能够从菜单选择一个或多个项目,诸如激活该引用于启动针对查看器应用163而非应用Foxtrot的用户接口的执行代码的“回到查看器应用”。在一些实施例中,来自在开始执行目标应用171之前的查看器应用163的状态被保留在存储器中。在其他实施例中,针对查看器应用163的代码从单独的位置被重新发起,并且来自刚好开始执行目标应用171之前的状态不被保留。

代替或除了以上描述的回到查看器应用的特征,补充代码173能够包括针对能够被添加到目标应用171的其他特征的代码。在各种实施例中,查看器应用163将补充代码173添加到目标应用171以“刷新”目标应用。在这些实施例中,当被激活时,被添加到目标应用171的代码从CMS 121取回目标应用的新副本,并在用户不必须首先回到查看器应用之后手动地取回新副本的情况下,开始执行目标应用171的该新副本。用于刷新目标应用的补充代码173能够被配置为获得CMS 121上的目标应用的最新版本、当前正在执行的目标应用的相同版本,除非在CMS 121上可获得目标应用的更新版本否则什么都不做,和/或如能够认识到的其他可能性。如前面所讨论的,尽管一些类型的目标应用能够支持使用升级服务器的应用中更新,但是不是所有模板应用都这样。此外,即使针对的确支持应用中更新的应用,用户可能也想要在不配置和测试应用中特征的情况下简单地更新目标应用。

在另外的其他实施例中,查看器应用163将补充代码173添加到目标应用171以捕获一个或多个屏幕截图。在这些实施例中,当激活时,添加到目标应用171的代码捕获在执行期间目标应用171的用户接口164的屏幕截图。屏幕截图可以以各种可能的静止图像和/或视频格式来捕获,例如JPEG(联合图象专家组)、BMP(位图)、GIF(图像交换格式)、MPEG 1/2/4(移动图像专家组)、等等。另外,屏幕截图特征能够支持将从客户端106被捕获的屏幕截图图像发送到CMS 121。如能够认识到的,在补充菜单403能够被 用于发起补充代码173中可获得的各种特征时,代替或除了补充菜单403,特征中的每个特征能够直接通过用户接口从用户输入被发起。例如,三手指触摸手势发起到查看器应用的返回,圆圈触摸手势发起屏幕截图捕获,并且三角手势发起对目标应用的刷新。

接下来参考图5-7,示出了各自提供根据各种实施例的查看器应用163的一部分的操作的一个示例的流程图。应当理解,图5-7的流程图中的每个流程图仅仅提供可以被用于实施如本文描述的查看器应用163的一部分的操作的许多不同类型的功能布置的示例。作为备选,图5-7的流程图中的每个流程图可以被视为描绘根据一个或多个实施例的实施在客户端106中的方法的元素的示例。

图5是图示用于在从内容管理系统获得目标应用之后在查看器应用内执行目标应用并且修改目标应用以包括补充代码的功能的流程图,其中功能被实施为执行在客户端106中的查看器应用163的一部分。图5中描述的查看器应用163的操作可以响应于用户在客户端设备106上发起对查看器应用163的执行而被执行。以框503开始,要测试处于开发中的应用的应用开发者或其他用户建立在查看器应用163与CMS 121之间的通信会话。通信会话可以使用各种协议来执行,各种协议例如HTTP、SOAP、REST、UDP、TCP和/或用于在网络109上通信数据的其他协议。在一些实施方式中,使用一个或多个用户证书将用户认证给CMS 121。

接下来,在框506中,查看器应用163从CMS 121接收列表,其包括能够由用户通过查看器应用163评价的应用。应用的列表还能够包括与应用相关联的名称、版本信息、修改日期、图标、屏幕截图、关键字、描述和/或其他可能的元数据。应用的列表经由用户接口被呈现给用户,用户能够从用户接口选择目标应用以进行评价。

然后,在框509中,用户应用确定用户是否已经接收到选择用于评价的应用的输入。如果用户还没有做出选择,则查看器应用的执行返回到509。备选地,如果用户已经选择了目标应用,则在框512中,查看器应用163将应用请求165经由网络109发送到CMS 121。应用请求165能够包括针对要被评价的目标应用的标识符、针对在其中要执行目标应用以进行评价的查看器应用163和客户端106的描述符和版本信息、和/或其他可能的信息。

随后,在框515中,查看器应用确定是否已经响应于应用请求而接收到目标应用数据167。如果还没有接收到目标应用数据167,则查看器应用163的执行返回到框515。备选地,如果已经接收到目标应用数据167,则在框518中,查看器应用163可以修改接收到的目标应用的内容以包括任何补充代码,包括对目标应用的现有代码的改变。例如,补充代码能够包括对用于应用中更新的网络服务器的网络地址的改变、具有从目标应用171内恢复包括用户接口的查看器应用163的执行(即,“回到查看器应用”)的引用的代码、发起目标应用171的刷新的代码、捕获目标应用的屏幕截图的代码、和/或对目标应用171的本地副本的代码或内容的其他可能变化。

接下来,在框521中,查看器应用163将包括可执行代码的、目标应用171的内容存储在存储器中。之后,在框524中,查看器应用163在客户端106中执行所存储的目标应用171的代码。此时,查看器应用163或至少查看器应用163的用户接口的执行停止包括任何补充代码173的目标应用171的执行的开始。

如以上所讨论的,在一些实施例中,包括用户接口的查看器应用的执行能够通过用户提供发起补充代码173的“回到查看器应用”特征的输入来进行恢复。在这些实施例中,针对查看器应用的代码仍然存在于客户端106上(例如在闪速存储或其他非易失性存储、存储器中的任何其他位置、等等中)并且能够在目标应用171的执行已经开始之后被发起以执行。

图6是图示用于在查看器应用内执行目标应用的功能的流程图,其中目标应用使用web技术来构建,并且功能被实施为在客户端106中执行的查看器应用163的一部分。图6中描述的查看器应用163的操作响应于用户在客户端设备106的查看器应用163中选择用于评价的目标应用171而被执行。针对目标应用的应用包可以被驻留 在客户端106上的本地存储装置中或经由网络从诸如CMS的服务器取回。从框603开始,查看器应用163获得使用诸如HTML、XML(可扩展标记语言)、JavaScript/CSS和/或其他web技术的web内容构建的针对目标应用171的应用包。应用包可以是ZIP、RAR、BZIP、APK或其他文件打包格式。

接下来,在框606中,查看器应用163检查在应用包中提供的针对目标应用171的元数据以确定针对目标应用执行的初始内容。在一些实施方式中,初始内容可由查看器应用163基于对目标应用171的内容的检查来确定。例如,如果目标应用使用具有JavaScript/CSS的HTML来构建,则初始内容将是根HTML文档。之后,在框609中,查看器应用163获得由客户端106支持目标应用171的执行所需要的任何插件或附加的代码。例如,插件可以用于提供针对目标应用的视频的回放。

继续在框612中,查看器应用163指示提供针对查看器应用的web查看用户接口的内容查看器重定向到针对目标应用171确定的初始内容。在一个实施例中,内容查看器是存在于查看器应用163和各种可能的目标应用中的各种web内容的渲染引擎。接下来,在框615中,针对查看器应用163的内容查看器将至少针对目标应用171的初始内容加载到客户端106的存储器中。

在一个实施例中,针对目标应用171的内容替换查看器应用163的至少一部分,例如针对查看器应用的用户接口的内容的一部分。除了其他可能的优点之外,利用目标应用171的代码来替换查看器应用163的代码的至少一部分提供关于执行目标应用所消耗的客户端106的存储器资源量的减少的优点。在另一实施例中,针对目标应用171的内容被添加到存储器,而不替换查看器应用163中的任何。除了其他可能的优点之外,这提供允许客户端106从其刚好在开始执行目标应用171之前的状态及时回到并恢复查看器应用163的执行的优点。

在查看器应用的执行内执行目标应用,使得目标应用不需要作 为独立应用被安装在设备上。当在框618中针对查看器应用163的内容查看器发起目标应用171的初始内容的执行时,在查看器应用的执行内执行目标应用的代码。在一些实施例中,执行初始内容包括内容查看器执行并呈现针对目标应用171的初始web内容,包括HTML和JavaScript/CSS。一旦已经开始了目标应用171的执行,查看器应用163的该部分(例如用户接口)的执行如所示出的结束。目标应用的执行将如同其已经通过传统安装例程被安装一样地进行,传统安装例程能够包括全屏幕用户接口、到传感器和其他输入设备的访问、通过网络接口和/或通过本地存储器发送/接收数据的访问、以及其他可能的资源。在一些实施方式中,目标应用171的执行将继续直到当执行被(例如,经由目标应用171的UI请求退出应用)用户输入或被客户端106的另一功能(例如操作系统终止目标应用的执行)中断。在其他实施方式中,除了其他可能的功能,响应于用户请求从目标应用171的执行内回到查看器应用163的执行的输入的补充代码173被添加到目标应用171,如前面所描述的。

图7是图示用于修改目标应用的代码以包括用于在目标应用的执行期间回到查看器应用的补充代码的功能的流程图,其中功能被实施为在客户端106中执行的查看器应用163的一部分。图7中描述的查看器应用163的操作响应于用户在客户端设备106的查看器应用163中选择用于评价的目标应用而被执行。具体地,所描述的操作涉及对用于从目标应用171的执行内回到查看器应用163的补充代码的添加。在客户端106中被修改以包括补充代码的针对目标应用171的应用程序包可以被驻留在客户端106的本地存储装置上或经由网络从诸如CMS的服务器取回。以框703开始,查看器应用163获得针对目标应用171的应用包。应用包能够以ZIP、RAR、BZIP、APK或其他文件打包格式。

然后,在框706中,查看器应用163确定补充代码173是否应当被添加到目标应用171以支持从执行目标应用171内回到查看器应用163。这样的确定能够基于查看器应用163的用户接口164内的 选择、基于用户偏好、和/或其他可能的资源。如果回到查看器应用的代码没有被添加到针对目标应用171的代码,查看器应用163的执行进行到框715。备选地,如果回到查看器应用的代码要被添加到针对目标应用171的代码,则在框709中,查看器应用163确定查看器应用163中的、在其处执行应当从目标应用171返回的参考点。

在其中使用web内容来构建查看器应用163的实施例中,参考点可以是针对提供针对查看器应用的用户接口和其他功能的根HTML文档的标识符。在其他实施例中,参考点是客户端106的存储器中的地址或到针对客户端106上的非易失性存储的文件系统中的位置的链接。接下来,在框712中,查看器应用163修改目标应用171的代码以包括用于将执行重定向到查看器应用163的参考点的补充代码。在一些实施例中,补充代码响应于由用户在触敏显示器上做出的独特手势,其在目标应用171的执行期间发起回到查看器应用163。在其他实施例中,补充代码提供从目标应用的执行内发起的动作的补充菜单,动作中的一个动作是回到查看器应用163。

继续在框715中,查看器应用将包括添加的任何补充代码的、针对目标应用171的代码存储在客户端106中。从该点出发,能够使针对目标应用171的代码可由查看器应用163立即地或在稍后的时间获得以进行评价。其后,查看器应用163的执行的该部分如所示出的结束。

参考图8,示出了根据本公开内容的实施例的客户端设备106的示意性框图。每个客户端设备106包括至少一个处理器电路,例如具有处理器803和存储器806,这两者都耦合到本地接口809。本地接口809可以包括例如具有如能够认识到的伴随的地址/控制总线结构的数据总线。

在存储器806中存储的是可由处理器803执行的数据和若干部件两者。具体地,在存储器806中存储的并且可由处理器803执行的是查看器应用163、目标应用171、补充代码173以及可能的其他应用。另外,操作系统可以被存储在存储器806中并且可由处理器 803执行。

应理解,如能够认识到的,可以存在被存储在存储器806中并可由处理器803执行的其他应用。在本文讨论的任何部件以软件的形式来实施的情况下,可以采用许多编程语言中的任何一种,诸如C、C++、C#、Objective C、Perl、PHP、VisualRuby、或其他编程语言。

许多软件部件被存储在存储器806中并由处理器803可执行。在这方面,术语“可执行”意指以能够最终由处理器803执行的形式的程序文件。可执行程序的示例可以例如是经编译的程序,其能够被转化成以能够被加载到存储器806的随机访问部分中并由处理器803执行的格式的机器代码、可以以诸如能够被加载到存储器806的随机访问部分中并由处理器803执行的目标代码的恰当格式表示的源代码、或者可以由另一可执行程序解释以生成存储器806的随机访问部分中的要由处理器803执行的指令的源代码等。可执行程序可以被存储在存储器806的任何部分或部件中,包括例如随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态驱动器、USB闪速驱动器、存储器卡、诸如紧凑盘(CD)或数字多用盘(DVD)的光盘、软盘、磁带或其他存储器部件。

存储器806在本文被定义为包括易失性存储器和数据存储部件以及非易失性存储器和数据存储部件两者。易失性部件是在断电时不保留数据值的部件。非易失性部件是在断电后保留数据值的部件。因此,存储器806可以包括例如随机访问存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态驱动器、USB闪速驱动器、经由存储器读卡器访问的存储器卡、经由相关联的软盘驱动器访问的软盘、经由适当的磁带驱动器访问的磁带、和/或其他存储器部件、或者这些存储器部件中的任何两个或更多个的组合。另外,RAM可以包括例如静态随机访问存储器(SRAM)、动态随机访问存储器(DRAM)、或者磁性随机访问存储器(MRAM)以及其他这样的设备。ROM可以包括例如可编程只读存储器(PROM)、可擦可编 程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)或其他类似的存储器设备。

此外,处理器803可以表示多个处理器803和/或多个处理器核心,并且存储器806可以表示分别在并行处理电路中执行的多个存储器806。在这样的情况下,本地接口809可以是促进在多个处理器803中的任何两个之间、在任何处理器803与存储器806中的任何之间或者在存储器806中的任何两个之间等的通信的适当网络。本地接口809可以包括被设计用于协调该通信(包括例如执行负载平衡)的附加的系统。处理器803可以具有电气结构或某种其他可用结构。

图5-7的流程图每个流程图示出了查看器应用163的实施部分的功能和操作。如果被实现在软件中,每个框可以表示包括实施(一个或多个)指定逻辑功能的程序指令的模块、代码段或代码部分。程序指令可以以包括以编程语言编写的人类可读语句的源代码的形式来实现,或者可以以包括可由计算机系统或其他系统中的适当的执行系统(诸如处理器803)识别多条指令的机器代码的形式来实现。机器代码可以从源代码等被转换。

尽管图5-7的流程图每个流程图示出了执行的特定顺序,但是应理解执行的顺序可以与所描绘的执行的顺序不同。例如,两个或更多个框的执行的顺序可以相对于示出的顺序而被打乱。此外,图5-7中连续示出的两个或更多个框可以同时地或部分部同时地被执行。另外,在一些实施例中,图5-7中示出的框中的一个或多个框可以被跳过或被省略。另外,为了增强实用性、结算、性能测量或提供故障查找辅助等的目的,任何数量的计数器、状态变量、警告信号或消息可以被添加到本文所描述的逻辑流。应理解所有这样的变化在本公开内容的范围内。

此外,本文所描述的任何逻辑或应用(包括查看器应用163、目标应用171和包括软件或代码的补充代码173)能够被实现在用于由指令执行系统或结合指令执行系统使用的任何非瞬态计算机可读介质,指令执行系统例如计算机系统或其他系统中的处理器803。在这 个意义上,逻辑可以包括例如包括能够从计算机可读介质提取并由指令执行系统执行的指令和声明的语句。在本公开内容的上下文中,“计算机可读介质”能够是能够包含、存储或维持本文所描述的用于由指令执行系统或结合指令执行系统使用的逻辑或应用。

计算机可读介质能够包括诸如磁性介质、光学介质或半导体介质的许多物理介质中的任何一个物理介质。适当的计算机可读介质的更具体的示例将包括但不限于磁带、磁性软盘、磁性硬盘驱动器、存储器卡、固态驱动器、USB闪速驱动器、或光盘。此外,计算机可读介质可以是随机访问存储器(RAM),包括例如静态随机访问存储器(SRAM)和动态访问存取存储器(DRAM),或者磁性随机访问存储器(MRAM)。另外,计算机可读介质可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)或其他类型的存储器设备。

另外,本文描述的任何逻辑或应用(包括查看器应用163、目标应用171和补充代码173)可以以各种方式来实施和构造。例如,所描述的一个或多个应用可以被实施为单个应用的模块或部件。附加地,应当理解,诸如“应用”、“服务”、“系统”、“引擎”、“模块”等的术语可以是可互换的并且不旨在为限制性的。

除非另行明确陈述,否则诸如“X、Y或Z中的至少一个”的析取语言在如一般用于呈现项目、术语等的上下文中理解为可以是X、Y或Z或者其任何组合(例如,X、Y和/或Z)。因此,这样的析取语言通常不旨在并且不应当暗示某些实施例需要X中的至少一个、Y中的至少一个或者Z中的至少一个中每个都存在。

应当强调,本公开内容的上述实施例仅仅是为了本公开内容的原理的清楚理解而阐述的实施方式的可能示例。可以在实质上不脱离本公开内容的精神和原理的情况下,对(一个或多个)上述实施例进行许多变型和修改。所有这样的修改和变型旨在被包含在本公开内容的范围内的本文中并受所附的权利要求保护。

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