第三方应用脚本能力的制作方法_2

文档序号:8926983阅读:来源:国知局
载有用于软件应用的web服务。IDE可以能够理解哪个应用打开了 IDE。该应用能够传递有关该应用在其打开IDE时可能需要的具体特征的信息。例如,该应用可以发送应当在IDE的代码编辑器中自动完成的应用专属的API的列表。IDE可以是一般性的并且并不了解任何特定应用,同时仍然允许任意应用按照需求对IDE进行定制。该IDE还可以具有创建与软件应用相关联的品牌的方式。例如,应用的标志和颜色方案可以被留给IDE。
[0020]在一些实施例中,示例性系统可以向软件应用开发者提供针对其应用编写客户端侧API的能力。客户端侧API可以包括由第三方脚本开发者可访问的特定软件应用的客户端侧代码和D0M。可能存在标准方法以及用于添加其它方法的模板/风格引导。应用功能和资源可以通过应用的客户端侧API来访问。API定义了哪些应用功能和资源可用于第三方开发者。例如,在电子数据表应用中,可以编写脚本以每当用户选择包含公式的单元格时显示侧边栏。为了编写脚本,该电子数据表应用可以提供包含用于返回当前所选择的单元格的方法的API。所返回的单元格可以具有用于确定该单元格是否为公式并且提供该单元格的数值的属性。该电子数据表API还可以包含用于显示侧边栏的方法。应用想要暴露给第三方脚本的方法和属性应当在该应用内的API内进行定义。
[0021]示例性系统还可以向软件应用开发者提供用于编写可以由第三方脚本访问以便与应用的服务器进行通信的服务器侧web服务的工具。这些web服务可以使用通过脚本环境提供给软件应用开发者的业已存在的API进行编写。这些API可以包括REST和SOAPAP1备选地,软件应用开发者可以构建库,其可以被包括在由第三方脚本开发者开发的脚本中。软件应用开发者可以创建RESTful服务,其支持oAuth认证并且能够被包装到脚本库中。
[0022]示例性实施例可以附加地向软件应用开发者提供用于针对其应用定义并注册触发器的方式。触发器是在事件发生时发起动作的机制。触发器可以是应用专属的并且由应用开发者所选择。示例的触发器包括onEdit、onOpen和onSave。“onEdit”触发器将在应用中发生编辑时开启。“onOpen”触发器将在应用中打开某些内容时发起动作。“onSave”触发器将在应用内保存某些内容时开启。应用开发者可以指定可以被用作能够针对其编写脚本的触发事件的事件名称的列表。脚本随后可以利用代理服务来针对具体事件注册触发器,使得该脚本在特定事件发生时被通知。该事件可以被记录,并且该事件以及可能与该事件相关联的可选有效载荷可以被提供给该代理服务。该代理服务可以将与触发事件相关的消息中继至监听特定事件触发器以便开启的脚本。该代理服务可以是REST服务并且有效载荷可以以JSON来编写。
[0023]在一些实施例中,可以提供前端脚本语言代码以便在每终端用户基础上将所安装的脚本加载到应用中。例如,前端脚本语言可以是JavaScript。每个终端用户可能想要包括针对具体应用所编写的脚本的不同子集。所提供的代码可以找出与该应用相关联的所有脚本并且加载当前访问该应用的终端用户已经安装的脚本。
[0024]除了促进软件应用和第三方脚本之间的客户端/服务器通信之外,示例性实施例可以向软件应用开发者提供链接至可分帧(frameable)web商店视图的URL,使得软件开发者能够在其应用出现在web商店中时对其应用进行查看。应用可以是在web商店中可访问的,使得终端用户可以下载并使用该应用。软件应用开发者的web商店视图可以包括用于针对具体用户显示当前所安装的脚本以及示出能够被安装的脚本的标签。
[0025]第三方脚本开发者
[0026]示例性系统可以向第三方脚本开发者提供每个应用的服务器侧web服务,其知道该应用的上下文。如以上所讨论的,当脚本在示例性服务器上运行时,该脚本有权访问服务器侧脚本环境所提供的API。应用的上下文包括在应用的实例内共享的数据。该数据能够通过来自不同的用户的所有请求而获取。如以上所解释的,应用的web服务由应用开发者编写并且使用脚本环境被提供给第三方脚本开发者。在一些实施例中,第三方脚本开发者可以有权访问针对应用的客户端侧API,脚本开发者能够使用该API来访问来自应用的功能和资源以便编写用于该应用的脚本。如以上所讨论的,客户端侧API向第三方脚本开发者提供了与应用开发者选择授予的一样多的针对软件应用的访问。第三方脚本开发者还可以有权访问在应用中发生某些事件时开启的应用事件触发器。示例性实施例可以提供同步的客户端API,用于脚本以操控或控制应用的用户界面中的非连续区域的能力,以及以浏览器可以将用户事件识别为针对用户动作的直接响应的方式来对诸如按钮点击之类的用户事件作出响应的脚本能力。
[0027]示例性系统还可以向脚本开发者提供集成开发环境,该集成开发环境可以具有预先加载的指定的应用web服务。该脚本开发环境可以经由脚本开发者针对其编写脚本的应用进行访问。此外,示例性系统可以提供web商店整合,这允许脚本开发者指定脚本开发者已经针对其编写了脚本的应用。
[0028]终端用户
[0029]已经支持第三方脚本的软件应用的终端用户可以看到可用于安装的应用专属的脚本的列表。终端用户还可以具有当前所安装脚本的控制面板,在此用户能够以每个应用的基础上管理其所安装的脚本。
[0030]根据示例性实施例,一种示例性方法开始于运行已经针对其开发了第三方脚本的软件应用。该软件应用可以使用终端用户的认证凭证来被运行并且可以运行代码以获得认证的终端用户已经安装的、用于该应用的第三方脚本。可以针对每个脚本返回URL。该脚本随后可以被加载并且与相关联的web应用一起被运行。一些脚本可以依赖于触发器以便执行,但是将监听与该web应用相关联的触发器。
[0031 ] 如以上所讨论的以及如图3所示,根据另一个实施例,示例性系统可以使得web应用开发者能够创建暴露托管的web应用的功能和资源的服务器侧web服务(301)。该系统还可以允许web应用开发者创建暴露web的应用功能和资源中的一些应用功能和资源的客户端侧应用编程接口(API) (303) ο web应用开发者随后可以许可经由应用编程接口针对第三方脚本的可配置访问,使得该脚本可以与该web应用进行交互(305)。第三方脚本随后可以被允许经由由web应用开发者提供的web服务来访问该web应用的服务器(307)。第三方脚本开发者可以开发使用客户端侧API和web服务来与web应用进行交互的脚本。终端用户随后可以被提供以针对第三方脚本的访问并且可以选择将该脚本并入其web应用简档中(309) ο
[0032]图4是示例性计算机(400)的高层级框图,该示例性计算机被配置用于允许第三方脚本开发者在托管的web应用执行环境中使用基于浏览器的脚本编辑器向软件应用安全地添加功能并且可以被用来实施本文中所描述的系统、装置和方法。在非常基础的配置形式(401)中,计算设备(400)通常包括一个或多个处理器(410)和系统存储器(420)。存储器总线(430)能够被用于在处理器(410)和系统存储器(420)之间通信。
[0033]根据所期望的配置,处理器(410)可以是任意类型,包括但不限于微处理器(μρ)、微控制器(yC)、数字信号处理器(DSP)或者它们的任意组合。处理器(410)可以包括诸如一级高速缓存(411)和二级高速缓存(412)的一个或多个层级的高速缓存,处理器核心(413)以及寄存器(414)。处理器核心(413)可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核心(DSP核心)或者它们的任意组合。存储器控制器(416)也可以与处理器(410) —起被使用,或者在一些实施方式中,存储器控制器(415)可以是处理器(41
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1