用于构建和使用混合移动应用的系统和方法

文档序号:9278651阅读:269来源:国知局
用于构建和使用混合移动应用的系统和方法
【专利说明】用于构建和使用混合移动应用的系统和方法
【背景技术】
[0001] 在针对移动和/或其他计算平台构建客户端应用的领域中,目前有用来构建客户 端应用的两个主要选项:(1)使用HTML+JavaScript ;或者(2)使用特定于客户端的本机 (native)软件开发工具包(SDK)。
[0002] 使用HTML途径的一个可能的优点是:这基本上是一次编写、随处运行(即,任意平 台)的解决方案,并且非常易于更新。然而,在一些平台上,特别是在移动平台上,对于访问 本地资源--例如本地相册和联系人列表--可能存在某些限制,这在尝试构建纯HTML app (例如,Microsoft SkyDrive?存储app)时是不希望的。
[0003] 另一方面,使用本机SDK途径的一个可能的优点是:app可以利用位于平台本地的 大多数资源。然而,这种途径可能不是跨越不同平台可伸缩的一一例如,每个平台通常具有 不同的SDK,可能必需为单个app开发不同的版本。

【发明内容】

[0004] 以下给出了对于创新的简化概要,以便提供对本文描述的一些方面的基本理解。 本概要不是所要求保护的主题的详尽概述。本概要既不打算标识所要求保护的主题的关键 或必不可少的元素,也不打算描绘本主题创新的范围。本概要的唯一目的在于以简化的形 式给出所要求保护的主题的一些构思,以作为稍后给出的更详细描述的前序。
[0005] 给出了针对移动设备构建混合远程客户端应用并且将之呈现给移动设备的用户 的系统和技术。当用户访问远程客户端应用时,移动设备可以起动(launch)统一的用户界 面(UI),所述用户界面为用户提供与远程客户端应用相关联的可允许操作的列表。这样的 可允许操作可以包括--例如经由HTML网页--被远程客户端应用供给的JavaScript操 作。此外,可允许操作可以包括使用移动设备的本机SDK实现的本机操作。
[0006] 在一个实施例中,提供了一种系统,其包括:处理器;通信模块,其能够与远程客 户端应用通信;应用控制器,其能够由所述处理器执行,其中所述应用控制器还可能能够经 由所述通信模块与远程客户端应用通信。所述应用控制器还可能能够向所述远程客户端应 用询问所述远程客户端应用是否包括至少一个本机操作。
[0007] 在其他实施例中,提供了一种用于在移动设备上执行混合移动应用的方法,所述 移动设备能够执行从所述移动设备本机SDK创建的本机操作,所述方法的步骤包括:在用 户启动(initiate)移动应用后,加载应用控制器,所述应用控制器能够为所述用户提供允 许访问远程客户端应用功能性和本机操作的用户界面(UI)。
[0008] 在另一实施例中,公开了一种向移动设备的用户提供用户界面(UI)的方法。所述 UI允许用户访问与远程客户端应用相关联的功能性,所述方法的步骤包括:向所述用户提 供n,所述n还包括用于驱动(actuate)与所述远程客户端应用相关联的操作的按钮;以 及在用户选择后,调用与所述远程客户端应用相关联的所述操作之一,其中所述操作还包 括一组操作中的一个操作,所述组包括:由所述远程客户端应用执行的远程操作,以及由所 述移动设备执行的本机操作。
[0009] 当结合本申请中给出的附图来阅读时,本系统的其他特征和方面在下面的详细说 明中给出。
【附图说明】
[0010] 在附图的被参考图中举例说明了示范性实施例。意在使本文公开的实施例和图被 看作是举例说明性的而非限制性的。
[0011] 图1描绘了根据本申请的原理做出的、用于使用混合移动应用的系统的一个实施 例。
[0012] 图2描绘了根据本申请的原理做出的、开始混合移动应用的流程图的一个实施 例。
[0013] 图3描绘了初始加载混合移动应用的流程图的一个实施例。
[0014] 图4描绘了在最终加载到移动设备上后操作混合移动应用的流程图的一个实施 例。
[0015] 图5描绘了操控混合移动应用到移动设备上的加载错误的流程图的一个实施例。
[0016] 图6描绘了在混合移动应用的上下文中当用户选择可能的操作时移动设备的操 作的流程图的一个实施例。
【具体实施方式】
[0017]当在本文中使用时,术语"组件"、"系统"和"接口"等等打算指计算机相关的实体, 或硬件、软件(例如,执行中的)和/或固件。例如,组件可以是运行在处理器上的进程、处理 器、对象、可执行文件、程序和/或计算机。举例来说,运行在服务器上的应用和服务器两者 都可以是组件。一个或多个组件可以驻留在进程中,并且组件可以局限于一个计算机上和 /或分布在两个或更多个计算机之间。
[0018] 参考附图来描述所要求保护的主题,其中贯穿全文地,同样的参考数字被用来指 同样的单元。在以下描述中,为了说明的目的,阐述了许多特定的细节以便提供对本主题创 新的全面理解。然而,显然地,没有这些特定的细节也可以实践所要求保护的主题。在其他 实例中,为了便于描述本主题创新,以框图形式示出了众所周知的结构和设备。
[0019]简介 如前面提到的,使用超文本标记语言(HTML)和JavaScript构建的传统客户端应用在 访问特定于平台的资源时可能有限制。然而使用软件开发工具包(SDK)构建客户端应用可 能具有平台依赖性的问题。
[0020] 本申请的许多实施例公开了提供混合途径来利用HTML和本机SDK构建和/或 使用应用的系统和方法。在本实施例的至少一个中,系统和方法可以:(a)允许应用访问 特定于平台的资源;(b)包括统一的UI体验,所述统一的UI体验提供了以本机SDK和 JavaScript两者实现的操作;和/或(c)允许HTML包含与所提供的操作以及这些操作的参 数有关的信息。
[0021] 图1将本申请的系统和/或方法的一个实施例描绘为它可以在普通环境100中操 作。移动设备102可以是任意数目的设备(例如,膝上型电脑、平板、智能电话等等以及同样 的设备)之一,其通常包括处理器、存储器、通信模块(例如,无线的和/或有线的)以及操作 系统。在当今的移动空间中,存在许多不同的竞争的操作系统,用户可以从中选择。
[0022] 时常地,(例如,致力于服务器108的)应用开发商可以构建移动和/或客户端应用 112,并将它们放在互联网110(和/或其他的商业/通信渠道)上以便移动设备用户可访问。 如在技术上已知的,可以使用HTMUJavaScript和CSS来构造应用112。然而如提到的,这 样的应用可能无法访问移动设备自身上全部范围的本地资源,因此对用户而言也许不如其 所可能的那样强大。
[0023] 应用控制器104可以向移动用户呈现为统一(和/或单一)的用户界面(UI),以 允许应用112经由操作容器106访问本地资源。操作容器可以包括操作按钮(例如,106a、 106b、106c),操作按钮允许用户起动与应用相关联的操作。操作容器106可以被实施成例 如作为工具栏等显现给用户。
[0024] 如图1所描绘的,当用户与移动应用112交互时,app控制器104可以采用多种方 式之一来访问应用的功能性--(1)调用HTML页面上的JavaScript (114a)或者(2)调 用以本机SDK实现的操作,如本文中更详细论述的。选取哪种方式来访问应用对用户可以 是透明的。如本文公开的,"GetOperation"调入(例如,用于调用以本机SDK实现的操作) 可以是一种方式,其中移动应用可以操作、运行和/或表现得更像是移动设备的本机操作。 动作114b可以在已加载HTML页面时出现,并且app控制器可以调入GetOperation (取得 操作)以取回所支持的操作的列表。在一个实施例中,本系统可以通过使用(可以被远程访 问的)移动应用的HTML和移动设备的本机SDK两者来构建移动app。这样的系统趋向于结 合HTML和本机SDK的能力。
[0025] 在该实施例中,(在App控制器中可以提供的)主要内容视图可以是HTML + JavaScript (称作app的"HTML部分")以及在App控制器中宿有(host)的操作(称作app 的"本机部分")。操作可以是实际功能性逻辑(即,以JavaScript或者以本机SDK实现的) 与用于访问所述逻辑的n元素(例如,操作容器中的按钮)的组合。
[0026] 在App控制器中向用户示出的n可以针对用户可以在该页面上执行的操作提 供统一的n (例如,菜单或工具栏,称作"操作容器")。在一个实施例中,操作容器可以包 括由本机SDK实现的控件(因此它可以调用由本机SDK实现的其他逻辑)。例如,操作可以 是以本机SDK实现的、能够访问JavaScript不可访问的资源的逻辑。备选地,它可以是由 JavaScript实现的在App控制器中宿有的逻辑。
[0027] 图2描绘了 app控制器如何相关于移动应用来工作的一个实施例(200),所述移动 应用可以与驻留在网络上或者驻留在互联网等上的远程客户端应用相关联。在202,移动 用户可以寻求启动移动应用一一例如以用户命令的某种方式(例
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1