从应用本身内初始化和引导的应用定制的制作方法_3

文档序号:9794009阅读:来源:国知局
于该应用内定制,原始开发者能够利用软件开发套件(SDK)(无论是通过IDE 还是文本编辑器)来创建诸如模板/原始应用300的应用。SDK可以包括针对应用的元件的属 性。本文所描述的应用内定制的各种实现方式暴露开发者指示的特定元件的那些准许修改 的属性,以使得当应用的用户希望修改元件时,该元件的属性也是可修改的。在一些情况 下,特定定制接口 315能够由开发者平台310生成以提供用于访问开发者平台310的功能或 者能够利于对应用修改的另一服务的接口。
[0051] 当应用正在开发工具内开发且被分配了具有声明性本质的属性时,在开发过程中 那些属性可以改变。在例如通过开发者工具创建应用的上下文中,属性是将元数据(也称为 声明性信息)与代码(例如,汇编、类型、方法、性质等)相关联的性质。Visual Basic和 Visual C#是包括属性的开发语言的示例。
[0052] 一旦诸如模板/原始应用300的应用被开发完成,模板/原始应用300能够作为应用 内定制应用(例如,具有定制许可)能够共享(320)以及可供用户使用。用户能够接收模板/ 原始应用300的实例(330)以及使用他们的模板/原始应用300的实例340。
[0053] 用户能够通过进行来自一组可用修改中的一个或多个修改来定制他们的模板/原 始应用的实例340。在一些实现方式中,应用内定制能够通过终端用户使得修改属性的能力 可供使用来实现,就好像应用正由应用开发者在开发工具内修改一样。定制接口 315能够利 于使用来自开发者平台服务350的功能(这可以或者可以不与用于开发模板/原始应用的开 发者平台310相关联)。
[0054] 提供该能力的一个示例性方法是通过开发工具的应用编程接口(API),当应用处 于定制模式时,应用与开发工具通信以向用户提供功能并且应用中的元件的属性变得可修 改。然后,应用调用服务来启用定制。服务可从服务器提供(例如,从"云"、企业服务器、或运 行应用的计算设备与其通信的另一计算设备)。在一些情况下,可从与在其上运行应用内定 制应用的计算设备相同的计算设备提供服务。
[0055] 虽然使得开发者工具的一些能力可供应用使用,但是在提供应用内定制的同时, 应用未在开发者工具中打开。在一些情况下,能够保留原始应用的基础的代码和逻辑。在一 些情况下,能够保留原始开发者的知识产权(例如,来自基础代码和逻辑)。
[0056]除了访问开发者平台服务350之外,功能商店360可被访问(或者直接通过应用实 例340或者经由开发者平台服务350)以使能包含来自功能商店的特征和功能。
[0057]在一些实施例中,提供开发者工具,其经由例如使能操纵应用的概要和布局的一 组API来显露功能。可以包括用于应用的一组性质,以针对每个应用的元数据的形式。这些 性质可以包括但不限于标题、背景、控件、形式、字体和颜色。提供一组修改的可用API功能 的非限制性示例可以包括改变颜色,添加控件,移动控件,添加新的字段,添加用于智能渲 染的布局提示,重新排布,改变过滤器/分类,隐藏字段/节,改变绑定,追加,隐藏,以及在一 些情况下为删除。在一些情况下,删除功能可以在应用内定制应用中最小化以抑制应用内 定制应用的用户潜在的破坏动作。例如,能够防止删除固有的应用数据,或者可以提供"智 能"删除,以使得确保在元件永久地去除之前不存在对元件的依赖性。
[0058] 在一些情况下,应用作者(例如,原始开发者或定制器用户)能够规定什么是可定 制的,例如包括一些预定义的模式来防止或鼓励一些修改。许可也可以在应用内可控和/或 由原始开发者建立一些许可。
[0059] 在修改体验中,用户能够添加或移除特征以及将事物四处移动。在一些下,升级或 更新应用仍能够实施,以使得由应用的原始开发者(或"作者")提供的更新或者甚至由应用 的前一定制器用户提供的更新能够在应用的实例内可得到以及在用户进行的定制内可得 到。对于更新可供使用的一些情况,对应用内定制应用的更新能够供下载应用的特定实例 的任何人使用。应用可以在通过自动或手动合并而保持每个用户的特定定制的同时来升 级/更新。如果用户偏离原始过远而具有来自所应用的升级的新特征,则该信息可传达给用 户。升级是指其旧的功能映射到新的功能且数据能够或者不能在版本间保留的新一代应 用。
[0060] 例如,如果地图的功能被添加且连接至应用中的某数据,并且应用由原始作者升 级来更新,则地图能够保持在同一地点,具有相同的数据。这能够由应用来执行,即使原作 者没有留下供用户添加事物的空的地点。例如,用户可以决定表格中的一些地址应当包含 地图。地图特征能够被添加到第一应用,并且当被升级时,维持那些改变。例如,升级的应用 能够"恢复"成之前定制的特征。
[0061] 图4示出了能够实施应用的应用内定制的操作环境。特别地,一旦开发者创建模板 或应用,则可供开发者从IDE内使用的方面可以至少部分地通过模板或应用本身来维持,以 使得对应用的改变能够在位于应用内的同时来进行,而不是作为编程环境的一部分。
[0062] 参考图4,诸如但不限于个人计算机、台式计算机、终端、膝上型计算机、平板设备、 个人数字助理(PDA)、移动电话(或智能手机)、冰箱、全球定位系统(GPS)、游戏控制台、电视 机、可佩戴计算设备(例如,基于手表、基于眼镜)或者大形状因数设备(例如,Microsoft Perception Pixel(PPI)触摸设备)的客户端计算设备400可用于经由网络420访问应用商 店或"市场"服务器410(或多个服务器)以下载或以其它方式购买应用内定制应用。在一些 方案中,用户可以直接从另一用户(例如,经由电子邮件或其它电子消息)和/或经由网络 420从计算设备(例如,服务器430)访问(以及甚至下载)应用内定制应用。
[0063]网络420可以是互联网、内联网、外联网、或它们的组合,并且可以是任何适当的通 信网络,包括但不限于蜂窝(例如,无线电话)网络、因特网、局域网(LAN)、广域网(WAN)、 WiFi网络、点对点网络或它们的组合。这些网络可涉及到网络元件的连接,诸如集线器、桥 接器、路由器、交换机、服务器和网关。
[0064]网络420可以包括一个或多个连接的网络(例如,多网络环境),包括公共网络,诸 如因特网,和/或私有网络,诸如安全企业私有网络。对网络420的访问可以经由一个或多个 有线或无线访问网络(未示出)来提供,如本领域技术人员将会理解的。如本领域技术人员 也将意识到的,通信网络可以采取若干不同形式并且能够使用若干不同的通信协议。
[0065] 一般地,客户端计算设备400可以执行操作系统401以及一个或多个应用程序,诸 如在图示的实施例中为应用内可定制应用402和/或网络浏览器应用403。操作系统401是用 于控制客户端计算设备400的操作的计算机程序。应用内可定制应用402可以是任何针对各 种实现方式中的至少一个实现方式的具有此处所描述的功能的可执行程序。
[0066]网络浏览器应用403是用于经由网络420来检索并遍历万维网("网络")上的信息 资源以及由网络服务器在私有网络中提供的资源以及将信息资源呈现给用户(例如,渲染 以用于显示)的应用程序。而且,网络浏览器应用401允许用户访问由服务器提供的信息和 各种功能。在一些情况下,网络浏览器应用403能够用作访问由服务器410执行的(以及与用 于存储能通过应用商店平台411得到的应用(或者应用的地址)的资源412通信的)的应用商 店平台411的端口。
[0067]网络浏览器应用403还能够用作例如服务器计算机430的服务器(或多个服务器) 的端口,在该服务器上应用内定制应用作为网络应用而被执行。服务器计算机430可具体实 施有结合图5B的系统550所描述的方面。图示的服务器计算机430被配置为执行诸如应用内 定制应用432和/或一个或多个其它应用的一个或多个应用程序。
[0068]客户端计算设备400可具体实施为结合图5A的系统500所描述的方面。
[0069] 在图4所示的一个操作方案中,应用内可定制应用可以涉及到利用"瘦"客户端440 访问的基于云的应用(例如,应用内可定制应用432)。
[0070] 瘦客户端是指依赖于另一计算设备(通常是一个或多个服务器)来执行计算以及 其它编程角色的计算设备和/或计算机程序。在一些情况下,瘦客户端涉及图形用户接口, 用户通过所述图形用户接口与在服务器(或多个服务器)处操作的计算机程序进行交互。有 时,网络浏览器可供在瘦客户端处使用以向服务器(或多个服务器)处操作的计算机程序提 供端口。在一些情况下,仅应用内可定制应用的软件应用是"瘦客户端",因为瘦客户端正在 其上操作的计算设备能够执行针对其它软件应用的计算以及其它编程角色。
[0071 ]原始应用定义和应用内定制定义能够存储在云(由服务器计算机430来表示)中, 并且瘦客户端440使用户能够通过渲染应用441而与基于云的应用(例如,应用内定制应用 432)相接,这可以包括针对应用内定制应用的网络浏览器应用或者图形用户接口。瘦客户 端440可以可替代地或者另外地包括音频用户接口(例如,到接收音频输入且发送音频输出 的应用内定制应用的音频接口)。瘦客户端440可以是包括那些结合客户端计算设备400所 描述的那些的任何适当的客户端计算设备。在一些情况下,客户端计算设备400能够作为瘦 客户端来操作和/或包括充当瘦客户端的客户端应用。
[0072]在图4所示的另一操作方案中,应用内定制应用402、432可以经由网络420与提供 开发者程序服务451的一个或多个服务器450通信以使用可从开发者程序服务451得到的功 能来许可来自应用402、432内的定制。
[0073]各种应用内定制应用和开发者程序服务可以利用API彼此通信以发送请求和接收 信息。
[0074] API是由程序代码组件或硬件组件(下文称为"API实现组件")实现的接口,其允许 不同的程序代码组件或硬件组件(下文称为"API调用组件")访问和使用由API实现组件提 供的一个或多个功能、方法、程序、数据结构、类和/或其它服务。API能够定义在API调用组 件与API实现组件之间传递的一个或多个参数。API能够用于访问由API实现组件提供的服 务或数据或者开始由API实现组件提供的操作或计算的执行。通过示例的方式,API实现组 件和API调用组件可各自是操作系统、库、设备驱动器、API、应用程序或其它模块中的任何 一个(应当理解,API实现组件和API调用组件可以是彼此相同或不同类型的模块)。在一些 情况下,API实现组件可以至少部分地用固件、微代码或其它硬件逻辑来实施。
[0075] API调用组件可以是本地组件(即,在与API实现组件相同的数据处理系统上)或远 程组件(即,在不同于API实现组件的数据处理系统上),本地组件或远程组件在网络上通过 API与API实现组件通信。API通常在因特网上实现,以使得其由一组超文本传输协议(HTTP) 请求消息以及符合REST(代表状态传输)或SOAP(简单对象访问协议)体系结构的用于响应 消息的规定格式或结构构成。
[0076] 应当理
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1