使用解耦的应用编程接口(api)版本化的应用激活的制作方法

文档序号:9732011阅读:374来源:国知局
使用解耦的应用编程接口(api)版本化的应用激活的制作方法
【专利说明】使用解耦的应用编程接口(API)版本化的应用激活
[0001 ] 背景
[0002]应用编程接口(API)常常供开发者在创建应用时使用。随着时间,这些API被更新为包括新功能或者删除功能。通常,对API的更新与API的旧版本兼容。然而,在某一时间点,不再支持API的旧版本。API的每一个版本都包括唯一的名称或数字。例如,API的版本最初可以是1.0,并且每一个后续版本递增该数字(例如,1.1、1.2、2.0、...)。不同的设备可支持不同的API。例如,旧设备可支持高达版本1.2,而新的更强大计算设备可支持版本2.2。为一个平台开发的应用可在该应用尝试在另一平台上运行时出故障。例如,该应用可尝试呼叫该设备的API版本不支持的API方法。
[0003]概述
[0004]提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。
[0005]应用指定它们使用的应用编程接口(API)的一个或多个子集。代替应用指定它使用整个API,该应用指定它使用的子集。API被分割成各自包括API的一部分的不同子集。例如,可基于每一种API方法的功能(例如,绑定置于一个API子集中的API和置于另一 API子集中的用户界面API)将API分割成不同的API子集。主机(S卩,通过API参与应用的底层平台)可以支持或者可以不支持应用使用的API的一个或多个子集。特定主机可选择何时实现API集合的子集,而不必必须支持API的其他子集。当主机实现先前不被支持的API集合的子集时,指定使用新支持子集的应用开始自动地在主机上工作。API的一个或多个子集可随着API的子集的新版本发布而改变。应用可指定具有不同版本的子集。例如,被指定的不同子集的版本可以是不同的。在主机上加载应用时,确定该应用使用的API的子集。在主机支持该应用所使用的子集时,激活(即,“运行”)该应用。在主机不支持该应用所使用的子集中的一个或多个子集时,不激活该应用。
[0006]附图简述
[0007]图1示出指定API集合的系统激活应用;
[0008]图2示出不同的API子集和主机;
[0009]图3示出指定与其他应用交互的API的子集的示例应用;
[0010]图4解说基于API的指定子集来确定何时激活应用;
[0011 ]图5解说将API分割成子集并且使用一个或多个子集来开发应用;
[0012]图6解说基于API的指定子集的示例性在线系统激活应用;以及
[0013]图7、8A、8B和9、以及相关联的描述提供对其中可实践本发明的实施例的各种操作环境的讨论。
[0014]详细描述
[0015]现在参考其中相似的附图标记表示相似的元素的附图,将描述各个实施例。
[0016]图1示出指定API集合的系统激活应用。
[0017]如所解说的,系统100包括应用110、API子集120、平台130、主机140、版本管理器26、平板计算设备150、智能电话设备160、以及计算设备170。
[0018]版本管理器26被配置成确定何时激活应用。应用(诸如应用110)指定它们使用的应用编程接口(API)的一个或多个子集。代替应用指定它使用整个API,该应用指定它使用的子集。
[0019]API子集120包括一个或多个API的不同子集。API被分割成各自包括用于API的API方法的的一部分的不同子集。可基于每一 API方法的功能将API分割成不同的子集。例如,绑定置于一个API子集的用于API的API方法和置于另一 API子集的用户界面API方法。API子集可包括一个或多个API方法。
[0020]主机140包括使用API的一个或多个子集的不同主机。如本文中所使用的,术语“主机”是指定一个或多个子集的应用与平台的组合。例如,一个主机可以是指定在ANDROID平台上运行的API的子集1的版本1的应用。另一主机可以是指定在因特网上运行的API的子集1的版本1、子集2的版本2的应用。存在许多不同的选项。每一个主机可支持应用使用的API的一个或多个子集。主机可被配置成在一范围的客户端上运行,这些客户端的范围为从瘦客户端(例如,浏览器)到丰富客户端等等。特定主机可选择何时实现API集合的子集,而不必必须支持API的其他子集。当主机实现先前不被支持的API集合的子集时,指定使用新支持子集的应用开始自动地在主机上工作。
[0021]API的一个或多个子集可随着API的子集的新版本发布而改变。应用可指定具有不同版本的子集。例如,被指定的不同子集的版本可以是不同的。在平台上加载应用时,确定该应用使用的API的子集。在主机支持该应用所使用的子集时,激活(S卩,“运行”)该应用。在主机不支持该应用所使用的子集中的一个或多个子集时,不激活该应用。
[0022]为了促进与版本管理器26的通信,可实现一个或多个回叫例程。应用110可以是各种应用,诸如商业生产力应用、娱乐应用、音乐应用、旅游应用、视频应用等等。通常,应用110可以是指定API子集的任何应用。应用110可被配置成接收不同类型的输入(例如,语音输入、触摸输入、键盘输入(例如,物理键盘和/或软件输入面板(SIP)))和/或其他类型的输入。
[0023]如所解说的系统100包括检测何时已经接收到触摸输入(例如,手指触摸到或者几乎触摸到触摸屏)的一个或多个触摸屏输入设备,诸如平板计算设备150和智能电话设备160。可利用检测用户的触摸输入的任何类型的触摸屏。以下提供更多的细节。
[0024]图2示出不同的API子集和主机。
[0025]如所解说的,图2示出包括API 210、平台220、主机230、以及版本管理器26的系统200。
[0026]API 210包括API子集1-N。通常,API可被分割成两个或两个以上的子集。根据实施例,根据API提供的不同功能来分割API。通常,基于共享API的共同功能的API方法来分割API。例如,API可被分割成与用户输入、输出、绑定、获得数据、保存数据、输入数据、输出、导航、文件交互等等相关的子集。以下是示例API集合,而并非旨在进行限制。不同的API集合可包括用于导航(Navigat1n)、设置(Settings)、绑定(Bindings)、选择(Select1n)、文件(File)、文档事件(DocumentEvent)、绑定事件(Binding Event)、矩阵绑定(MatrixBinding)、表格绑定(TableBinding)、选择(Select1n)、自定义 XML 部分(CustomXMLPart)、文件(Fi le)、文档事件(DocumentEvent)、绑定事件(BindingEvent)等等的API集合。一个以上的API 210可被分割成子集。
[0027]平台220示出可在其上激活应用的不同平台(例如,平台1-N)。该平台可以是在特定操作环境(例如,110^0?1^??1^、60061^)、诸如瘦客户端(例如,浏览器)、丰富客户端等等的环境下运行的计算设备。
[0028]每一个开发者具有确定他们将可能想要使用API的哪一个或者哪一些子集的灵活性。例如,一个主机(例如,主机1)可指定使用API的两个子集,而另一主机(例如,主机2)可指定API的三个子集。主机可指定具有不同版本的子集。一些子集可在一个版本,而其他子集可以是不同的版本。
[0029]不同的版本化方案可被用于版本化API和组成API的子集。例如,主版本数字(例如,“1”、“2”、...)可与次版本数字(例如,1”、“.2”、...)等等一起使用。通常,主版本数字为了突破性改变而改变,而次版本为了较小改变而改变。次版本数字的改变指示已经添加了新的API空间或者已经发生了错误修复。根据一实施例,在次版本改变之间维护向后兼容性。
[0030]如所讨论的,每一个应用指定它使用的API子集。该应用可指定它使用的API子集和/或可指定它使用的各个API方法。根据一实施例,该应用可指定API子集和各个API方法的组合。通过使用该模型,开发者可将应用紧密地对准提供对指定的API子集的支持的特定主机族。该应用在指定子集被支持时被激活。当平台不支持指定的API子集或指定的API方法时,将不激活该应用。
[0031 ]根据一实施例,该应用可指定API的最低版本和/或指定的子集的最低版本。例如,以下示例将子集“绑定(Bindings)”的最低版本和包括getSelecte
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1