CN105607895B - 一种基于应用程序编程接口的应用程序的运行方法和装置 - Google Patents

一种基于应用程序编程接口的应用程序的运行方法和装置 Download PDF

Info

Publication number
CN105607895B
CN105607895B CN201410676517.2A CN201410676517A CN105607895B CN 105607895 B CN105607895 B CN 105607895B CN 201410676517 A CN201410676517 A CN 201410676517A CN 105607895 B CN105607895 B CN 105607895B
Authority
CN
China
Prior art keywords
programming interface
application
application programming
calling
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410676517.2A
Other languages
English (en)
Other versions
CN105607895A (zh
Inventor
徐凯
张天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410676517.2A priority Critical patent/CN105607895B/zh
Publication of CN105607895A publication Critical patent/CN105607895A/zh
Priority to HK16112083.5A priority patent/HK1224031A1/zh
Application granted granted Critical
Publication of CN105607895B publication Critical patent/CN105607895B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本申请实施例提供了一种基于应用程序编程接口的应用程序的运行方法和装置,所述方法包括:当接收到应用程序发送的应用程序编程接口的调用请求时,从所述调用请求中提取调用参数;根据所述调用参数查找对应的应用程序编程接口;调用所述应用程序编程接口,获得基于系统组件的处理结果;将所述处理结果返回所述应用程序。本申请实施例Hybrid API的设计面向各类客户端,为Web环境提供一个一致调用Native功能的API库,可运行在Android系统、IOS系统等不同操作系统上,大大提高了使用范围,同时,无需再根据不同的操作系统编译代码,大大减少了开发成本。

Description

一种基于应用程序编程接口的应用程序的运行方法和装置
技术领域
本申请涉及应用程序技术领域,特别是涉及一种基于应用程序编程接口的应用程序的运行方法和一种基于应用程序编程接口的应用程序的运行装置。
背景技术
随着移动通讯快速发展,由于技术的更新和市场的需要,移动终端上的App(Application,第三方应用)由本地应用(Native App),到混合型应用(Hybrid APP),再到基于Web(网络)的网络应用(Web App)进行演进。
其中,Hybrid App是指介于Web App和Native App这两者之间的App,Hybrid App同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装使用的移动应用。因此说,Hybrid App兼具了Native App的所有优势,也兼具了Web App使用HTML5(超文本标记语言的第五次重大修改)跨平台开发低成本的优势。
Hybrid App的开发框架众多,比较流行的是PhoneGap。
PhoneGap可以提供Hybrid API(Application Program Interface,应用程序编程接口),可由JS(JavaScript,一种直译式脚本语言)直接调用诸如加速度、摄像头、指南针、联系人等系统API。
使用基于HTML(Hypertext Markup Language,超文本标记语言)、CSS(CascadingStyle Sheet,级联样式表)和JavaScript开发的内容经过PhoneGap编译打包为各个平台的Native App。
使用PhoneGap开发Hybrid App,需要针对相应的平台环境配置,进行编译,打包测试,发布等等。Phonegap所提供的API只能用于使用了Phonegap框架的APP,需要开发者对各个平台的开发都要需要了解,对硬件等等都要配置,开发成本较大。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何提出一种基于应用程序编程接口的应用程序的运行机制,用以提高适用范围,降低开发成本。
发明内容
本申请实施例所要解决的技术问题是提供一种基于应用程序编程接口的应用程序的运行方法,用以提高适用范围,降低开发成本。
相应的,本申请实施例还提供了一种基于应用程序编程接口的应用程序的运行装置,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种基于应用程序编程接口的应用程序的运行方法,包括:
当接收到应用程序发送的应用程序编程接口的调用请求时,从所述调用请求中提取调用参数;
根据所述调用参数查找对应的应用程序编程接口;
调用所述应用程序编程接口,获得基于系统组件的处理结果;
将所述处理结果返回所述应用程序。
优选地,所述调用参数由所述混合型应用在接收到业务请求时,从对应的服务器中获取。
优选地,所述从所述调用请求中提取调用参数的步骤包括:
将调用请求中的调用参数组织成统一资源定位符;
生成文档;所述文档中具有关联的超文本引用;
将所述括统一资源定位符赋值给所述超文本引用;
当触发系统本地的统一资源定位符变更事件时,获取所述超文本引用中的统一资源定位符。
优选地,所述调用参数包括方法名,所述根据所述调用参数查找对应的应用程序编程接口的步骤包括:
查找所述方法名对应的应用程序编程接口。
优选地,所述应用程序包括混合型应用或者浏览器;
当所述应用程序为浏览器时,所述应用程序编程接口由所述浏览器提供的对应的方法进行模拟。
优选地,所述调用参数包括回调函数和运行参数;
所述调用所述应用程序编程接口,获得基于系统组件的处理结果的步骤包括:
将所述回调函数与一字符串建立映射关系;
将所述调用参数和所述运行参数发送给所述应用程序编程接口;
接收由所述应用程序编程接口返回的,关联有处理结果的字符串;
其中,所述处理结果为基于系统组件按照所述运行参数进行处理获得的结果。
优选地,所述应用程序编程接口包括基础应用程序编程接口,所述基础应用程序编程接口具有关联的系统组件,所述处理结果包括第一运行结果;
所述将所述调用参数和所述运行参数发送给所述应用程序编程接口的步骤包括:
将所述调用参数和所述运行参数发送给所述基础应用程序编程接口;
所述接收由所述应用程序编程接口返回的,关联有处理结果的字符串的步骤包括:
接收由所述基础应用程序编程接口返回的,关联有第一运行结果的字符串;
其中,所述第一运行结果为由所述基础应用程序编程接口关联的系统组件按照所述运行参数进行处理获得的结果。
优选地,所述应用程序编程接口包括业务应用程序编程接口,所述业务应用程序编程接口具有对应的基础应用程序编程接口,所述基础应用程序编程接口具有关联的系统组件,所述处理结果包括业务处理结果;
所述将所述调用参数和所述运行参数发送给所述应用程序编程接口的步骤包括:
将所述调用参数和所述运行参数发送给所述基础应用程序编程接口;
所述接收由所述应用程序编程接口返回的,关联有处理结果的字符串的步骤包括:
接收由所述应用程序编程接口返回的,关联有获得业务处理结果的字符串;
其中,所述业务处理结果为对第二运行结果进行业务处理,获得的业务处理结果;所述第二运行结果为由所述业务应用程序编程接口对应的基础应用程序编程接口所关联的系统组件按照所述运行参数进行处理获得的结果。
优选地,所述将所述处理结果返回所述应用程序的步骤包括:
当接收到字符串时,查找所述字符串映射的回调函数;
触发所述回调函数,将所述字符串关联的处理结果返回给所述应用程序。
优选地,当所述运行参数为空时,系统组件进行处理所需的运行参数为预设的默认运行参数。
本申请实施例公开了一种基于应用程序编程接口的应用程序的运行装置,包括:
调用参数提取模块,用于在接收到应用程序发送的应用程序编程接口的调用请求时,从所述调用请求中提取调用参数;
应用程序编程接口查找模块,用于根据所述调用参数查找对应的应用程序编程接口;
处理结果获得模块,用于所述应用程序编程接口,获得基于系统组件的处理结果;
处理结果返回模块,用于将所述处理结果返回所述应用程序。
优选地,所述调用参数由所述混合型应用在接收到业务请求时,从对应的服务器中获取。
优选地,所述调用参数提取模块包括:
组织子模块,用于将调用请求中的调用参数组织成统一资源定位符;
生成子模块,用于生成文档;所述文档中具有关联的超文本引用;
赋值子模块,用于将所述括统一资源定位符赋值给所述超文本引用;
获取子模块,用于在触发系统本地的统一资源定位符变更事件时,获取所述超文本引用中的统一资源定位符。
优选地,所述调用参数包括方法名,所述应用程序编程接口查找模块包括:
方法名查找子模块,用于查找所述方法名对应的应用程序编程接口。
优选地,所述应用程序包括混合型应用或者浏览器;
当所述应用程序为浏览器时,所述应用程序编程接口由所述浏览器提供的对应的方法进行模拟。
优选地,所述调用参数包括回调函数和运行参数;所述处理结果获得模块包括:
建立子模块,用于将所述回调函数与一字符串建立映射关系;
信息发送子模块,用于将所述调用参数和所述运行参数发送给所述应用程序编程接口;
结果接收子模块,用于接收由所述应用程序编程接口返回的,关联有处理结果的字符串;
其中,所述处理结果为基于系统组件按照所述运行参数进行处理获得的结果。
优选地,所述应用程序编程接口包括基础应用程序编程接口,所述基础应用程序编程接口具有关联的系统组件,所述处理结果包括第一运行结果;
所述信息发送子模块包括:
第一发送子模块,用于将所述调用参数和所述运行参数发送给所述基础应用程序编程接口;
所述结果接收子模块包括:
第一接收子模块,用于接收由所述基础应用程序编程接口返回的,关联有第一运行结果的字符串;
其中,所述第一运行结果为由所述基础应用程序编程接口关联的系统组件按照所述运行参数进行处理获得的结果。
优选地,所述应用程序编程接口包括业务应用程序编程接口,所述业务应用程序编程接口具有对应的基础应用程序编程接口,所述基础应用程序编程接口具有关联的系统组件,所述处理结果包括业务处理结果;
所述信息发送子模块包括:
第二发送子模块,用于将所述调用参数和所述运行参数发送给所述基础应用程序编程接口;
所述信息接收子模块包括:
第二接收子模块,用于接收由所述应用程序编程接口返回的,关联有获得业务处理结果的字符串;
其中,所述业务处理结果为对第二运行结果进行业务处理,获得的业务处理结果;所述第二运行结果为由所述业务应用程序编程接口对应的基础应用程序编程接口所关联的系统组件按照所述运行参数进行处理获得的结果。
优选地,所述处理结果返回模块包括:
回调函数查找子模块,用于在接收到字符串时,查找所述字符串映射的回调函数;
回调函数触发子模块,用于触发所述回调函数,将所述字符串关联的处理结果返回给所述应用程序。
优选地,当所述运行参数为空时,系统组件进行处理所需的运行参数为预设的默认运行参数。
与背景技术相比,本申请实施例包括以下优点:
本申请实施例在接收到应用程序发送的应用程序编程接口的调用请求时,从调用请求中提取调用参数,根据调用参数查找对应的应用程序编程接口,调用应用程序编程接口,获得基于系统组件的处理结果,将所述处理结果返回应用程序,Hybrid API的设计面向各类客户端,为Web环境提供一个一致调用Native功能的API库,可运行在Android系统、IOS系统等不同操作系统上,大大提高了使用范围,同时,无需再根据不同的操作系统编译代码,大大减少了开发成本。
本申请实施例在应用程序为浏览器时,由浏览器提供的对应的方法模拟应用程序编程接口,能够运行在独立浏览器和HybridAPP的API,而无需再根据不同的操作系统编译代码,大大减少了开发成本。
本申请实施例中包括基础应用程序编程接口、业务应用程序编程接口等,分层的架构可以让业务组件库曾充分复用应用程序编程接口,清晰的分层也能在职能分工上带来更大的灵活性,从而提升效率。
附图说明
图1是本申请的一种基于应用程序编程接口的应用程序的方法实施例的步骤流程图;
图2是本申请的一种Hybrid API的架构图;
图3是本申请的一种Web调用Native的示例图;
图4A和图4B是本申请的一种应用Hybrid API的效果示例图;
图5是本申请的一种基于应用程序编程接口的应用程序的装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的核心构思之一在于,提供一套能够运行在混合型应用和独立浏览器的Hybrid API,实现一个通用模块(Bridge)来可运行在诸如Android(安卓)系统、IOS系统、WindowsPhone系统等不同平台上的混合型应用和独立浏览器中,维护Web与Native(系统组件)之间的双向通信机制。
Bridge可以是Native与Web之间的双向通信机制的别称,就像现实生活中的桥用于连接河流湖泊的两岸,让交通工具可通行,从而两岸的沟通得以实现。Bridge可以用于Native和Web之间的通信,让Native和Web这两“岸”间得以交换信息。
参照图1,示出了本申请的一种基于应用程序编程接口的应用程序的运行方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,当接收到应用程序发送的应用程序编程接口的调用请求时,从所述调用请求中提取调用参数;
需要说明但是,应用程序编程接口(API)可以指操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令(动作)。
其中,该操作系统可以包括Android(安卓)系统、IOS系统、WindowsPhone系统等等,本申请实施例对此不加以限制。
如图2所示,该应用程序(又称客户端)可以包括混合型应用(Hybrid App)和浏览器,由于每个应用程序可以具有各自的Bridge。在本申请实施例中,可以通过统一的Bridge与各应用程序可以具有各自的Bridge对接,实现API的调用,因此,该统一的Bridge可以称为Common(通用)Bridge。
Hybrid App是一个移动应用(mobile application),可以同时使用网页语言与程序语言编写,其融合Web App(网络应用)的原理就是嵌入一个WebView(网络视图)组件或其他浏览器内核组件,可以在这个组件中载入页面,相当于内嵌的浏览器。
应用程序编程接口(API)的调用请求可以是指应用程序发出的调用某个应用程序编程接口的指示。在本申请实施例中,该API可以提供HybridAPP调用,因此,该API可以称为Hybrid API。
在具体实现中,所述调用请求可以包括调用参数,该调用参数可以用于配置如何通过应用程序编程接口调用系统组件。
所述调用参数由所述混合型应用在接收到业务请求时,从对应的服务器中获取。
如图3所示,Web(泛指WebView插件、浏览器等中的页面)可以调用消息Bridge.callByJS({name:’func1’,callback:function(){},param:{}})向Bridge发送调用参数。
业务请求可以是指用户发出的执行某个业务操作的指示,例如,在通讯工具(一种应用程序)中,用户可以触发业务操作“摇一摇”,请求通过摇晃移动终端实现在线用户匹配。
在本申请的一种优选实施例中,步骤101可以包括如下子步骤:
子步骤S11,将调用请求中的调用参数组织成统一资源定位符;
子步骤S12,生成文档;所述文档中具有关联的超文本引用;
子步骤S13,将所述括统一资源定位符赋值给所述超文本引用;
子步骤S14,当触发系统本地的统一资源定位符变更事件时,获取所述超文本引用中的统一资源定位符。
在具体实现中,Bridge.callByJS可以将Web端传入的调用参数组织成一个统一资源定位符(Uniform Resource Locator,URL)的形式,例如http://fake-domain?name=func1&token=123456&param={‘frequency’:100},然后动态生成一个iframe文档,将这个URL赋值给iframe文档中的超文本引用iframe.href,这样能够触发Native的统一资源定位符变更事件(例如URLChanged或message等,对于不同的Native具有不同的命名),让Native得知从Web传递了消息,同时获得了这个URL。由于该URL中是携带了调用参数的,这样就可以实现Web调用Native。
进一步而言,可以在移动终端的操作系统中,对WebView组件或浏览器内核组件等进行改写,以实现Web调用Native。
例如,在Android系统中,可以通过重写WebViewClient.shouldOverrideUrlLoading方法实现Web调用Native。
具体示例可以如下:
Figure BDA0000613801750000091
本示例中,当WebView内的URL发生变化时,如点击链接、执行JS(如location.href=”http://”)等等,均可以触发改写后的WebViewClient.shouldOverrideUrlLoading,通过将Web调用Native的调用参数封装在URL,再由Native解析数据并执行响应Native方法。
在Android系统中,也可以重写WebChromeClient.onJsPrompt或onJsConfirm或onJsAlert实现。
以WebChromeClient.onJsPrompt例,具体示例可以如下:
Figure BDA0000613801750000101
本示例中,当执行“window.prompt(“{}”)”这样的JS代码时,将会触发WebChromeClient.onJsPrompt,通过将Web调用Native的调用参数封装在message,再由Native解析数据并执行响应Native方法。
又例如,在IOS系统中,可以通过shouldStartLoadWithRequest监控WebView的URL变化实现Web调用Native。
Figure BDA0000613801750000102
本示例中,当WebView组件内的URL发生变化时,如点击链接、执行JS(如location.href=”http://”)等等,均可以触发
shouldStartLoadWithRequest,通过将Web调用Native的调用参数封装在URL,再由Native解析数据并执行响应Native方法。
当然,上述改写方法只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他改写方法,以实现Web调用Native,本申请实施例对此不加以限制。另外,除了上述改写方法外,本领域技术人员还可以根据实际需要采用其它改写方法,本申请实施例对此也不加以限制。
步骤102,根据所述调用参数查找对应的应用程序编程接口;
本申请实施例中,接收到调用请求后,需要查找对应的API,以响应调用请求。
在本申请的一种优选实施例中,所述调用参数可以包括方法名,步骤102可以包括如下子步骤:
子步骤S21,查找所述方法名对应的应用程序编程接口。
在本申请实施例中,不同的方法可以定义为应用程序编程接口,以供其他组件调用,可以预先为不同的方法配置对应的方法名,即该方法名对应的方法由指定的应用程序编程接口来实现。
如图3所示,Bridge.callByJS中的“name”指示方法名,“func1”为方法名的实例,需要查找Native中名为func1的API。
在具体的示例中,实现判断是否摇晃的方法的方法名可以为“shake”,实现判断是否振动的方法的方法名可以为“viration”,实现计算摇晃强度的方法的方法名可以为“shakeStrength”等等。
在具体实现中,所述应用程序编程接口可以按照万维网联盟(World Wide WebConsortium,W3C)的技术标准进行封装,最大程度兼容W3C相关规范,允许合理的扩展,大大提高了使得应用程序编程接口的扩展性和可移植性。
为解决Web应用中不同平台、技术和开发者带来的不兼容问题,保障Web信息的顺利和完整流通,万维网联盟制定了一系列标准并督促Web应用开发者和内容提供者遵循这些标准。标准的内容包括使用语言的规范,开发中使用的导则和解释引擎的行为等等。
在实际应用中,所述应用程序可以包括混合型应用或者浏览器,由于混合型应用(即Hybrid APP)得到了Native的支持,拥有Bridge,可以直接调用系统中的Hybrid API,无需进行额外的调整。而浏览器为Web APP,没有Bridge,没法得到Native的支持(可以通过一些标记来判断),因此,当所述应用程序为浏览器时,所述应用程序编程接口由所述浏览器提供的对应的方法进行模拟。
由于Web APP的等级比Hybrid API要高,因此,通过浏览器提供的对应的方法模拟应用程序编程接口的方式,也可以称为降级。
例如,在浏览器的环境中调用实现vibrate(震动)的API,则可以调用HTML5(应用超文本标记语言的第五次重大修改)提供的navigator.vibrate方法模拟。
又例如,在浏览器的环境中调用实现摇晃强度的API,则可以调用HTML5提供的devicetionmotion方法模拟。
又例如,在浏览器的环境中调用实现pushWindow的API,则可以通过调用HTML5提供的window.open方法进行降级以实现pushWindow。
本申请实施例在应用程序为浏览器时,由浏览器提供的对应的方法模拟应用程序编程接口,能够运行在独立浏览器和HybridAPP的API,而无需再根据不同的操作系统编译代码,大大减少了开发成本。
步骤103,调用所述应用程序编程接口,获得基于系统组件的处理结果;
本申请实施例中,可以通过调用操作系统的API而使操作系统去执行应用程序的命令(动作)。
在本申请的一种优选实施例中,所述调用参数可以包括回调函数和运行参数。
回调函数,或简称回调,可以指通过函数参数传递到其它代码的,某一块可执行代码的引用。
运行参数可以为传递给Native的额外参数,系统组件可以按照该运行参数进行处理。
例如,如图3所示,Bridge.callByJS中的“callback”为回调函数,function(){}为回调函数的实例,其是一个匿名回调(这个方法不执行任何操作),通常会传入一个有意义的回调,用于接收Native返回的处理结果。若name:’shake’时,会接收处理结果为“是否为摇一摇”,这时回调函数通常设置为function(isShaked){doSomething(isShaked)}。
Bridge.callByJS中的“param”为运行参数,如方法名为shake的方法中,param:{‘frequency’:100}可以代表每100ms获取一次“摇一摇”的处理结果。
则在本申请实施例中,步骤103可以包括如下子步骤:
子步骤S41,将所述回调函数与一字符串建立映射关系;
子步骤S42,将所述调用参数和所述运行参数发送给所述应用程序编程接口;
子步骤S43,接收由所述应用程序编程接口返回的,关联有处理结果的字符串;
其中,所述处理结果为基于系统组件按照所述运行参数进行处理获得的结果。
由于Web和Native是两种不同的语言,他们是无法在运行时(术语运行时泛指代码运行环境)直接互相调用的,换言之Native无法直接触发Web的回调函数callback。
因此,在本申请实施例中解决方案可以是,如图3所示的“callback映射为token”,即将回调函数callback与字符串token建立映射关系,通过这个方式来保证最终触发回调函数,该回调函数可以包括匿名函数和通过闭包实现的私有函数。
需要说明的是,运行参数可以为空,当所述运行参数为空时,系统组件进行处理所需的运行参数可以为预设的默认运行参数,即所述处理结果可以为基于系统组件按照预设的默认运行参数进行处理获得的结果。
例如,对于方法名为shake的方法,若不通过param传入运行参数,则可以按照默认的频率返回“摇一摇”的处理结果。
如图3所示,当Native处理完毕后通过“Native调用Web”的方式调用Bridge.callByNative({token:‘t1234’})返回处理结果,其中,t1234为处理结果。
在本申请的一种优选实施例中,所述应用程序编程接口可以包括基础应用程序编程接口,所述基础应用程序编程接口可以具有关联的系统组件;
则在本申请实施例中,子步骤S42可以包括如下子步骤:
子步骤S421,将所述调用参数和所述运行参数发送给所述基础应用程序编程接口;
子步骤S43可以包括如下子步骤:
子步骤S431,接收由所述基础应用程序编程接口返回的,关联有第一运行结果的字符串;
其中,所述第一运行结果为由所述基础应用程序编程接口关联的系统组件按照所述运行参数进行处理获得的结果。
在本申请实施例中,如图2所示,基础应用程序编程接口可以指与业务无关的应用程序编程接口,该基础应用程序编程接口可以直接由系统组件进行实现,例如Motion(运动)、Orientation(方向)、Device(设备状态)、View(视图)等等,聚集的基础应用程序编程接口可以称为基础库。
例如,某个基础应用程序编程接口预先定义获取加速度传感器(系统组件)测量的加速度,则调用该基础应用程序编程接口,可以获得加速度(运行结果)。
当所述运行参数为空时,所述第一处理结果可以为由所述基础应用程序编程接口关联的系统组件按照预设的默认运行参数进行处理获得的结果。
在本申请的另一种优选实施例中,所述应用程序编程接口可以包括业务应用程序编程接口,所述业务应用程序编程接口可以具有对应的基础应用程序编程接口,所述基础应用程序编程接口可以具有关联的系统组件,所述处理结果包括业务处理结果;
则在本申请实施例中,子步骤S42可以包括如下子步骤:
子步骤S422,将所述调用参数和所述运行参数发送给所述基础应用程序编程接口;
子步骤S43可以包括如下子步骤:
子步骤S432,接收由所述应用程序编程接口返回的,关联有业务处理结果的字符串;
其中,所述业务处理结果为对运行结果进行第二业务处理,获得的业务处理结果;所述第二运行结果为由所述业务应用程序编程接口对应的基础应用程序编程接口所关联的系统组件按照所述运行参数进行处理获得的结果。
在本申请实施例中,如图2所示,业务应用程序编程接口可以指与业务相关的应用程序编程接口,该业务应用程序编程接口不可以直接由系统组件进行实现,例如,Camera(摄像机)、Login(登录)、Shake(摇晃)等等,聚集的业务应用程序编程接口可以称为业务库。
例如,实现“摇一摇”的业务应用程序编程接口可以预先定义根据加速度传感器(系统组件)测量的加速度判断是否摇晃,则调用该业务应用程序编程接口,可以判断移动终端是否摇晃(运行结果)。
又例如,某个业务应用程序编程接口预先定义根据加速度传感器(系统组件)测量的加速度计算摇晃强度,则调用该业务应用程序编程接口,可以判断移动终端的摇晃强度(运行结果)。
当所述运行参数为空时,所述第二运行结果为由所述业务应用程序编程接口对应的基础应用程序编程接口所关联的系统组件按照预设的默认运行参数进行处理获得的结果。
本申请实施例中包括基础应用程序编程接口、业务应用程序编程接口等,分层的架构可以让业务组件库曾充分复用应用程序编程接口,清晰的分层也能在职能分工上带来更大的灵活性,从而提升效率。
步骤104,将所述处理结果返回所述应用程序。
本申请实施例中,当获得Native的处理结果,可以返回Web。
在本申请的一种优选实施例中,步骤104可以包括如下子步骤:
子步骤S51,当接收到字符串时,查找所述字符串映射的回调函数;
子步骤S52,触发所述回调函数,将所述字符串关联的处理结果返回给所述应用程序。
在本申请实施例中,如图3所示,将回调函数callback映射为字符串token,然后将字符串token传递给Native,Native处理完任务后,通知Web(callByNative({token:‘t1234’}))时带上字符串token和处理结果,这样Web拿到字符串token后就能够逆向(通常用一个字典数据结构)找到回调函数callback,进而触发callback(即JS callback)。
当Web拿到结果后,接下来可以实现开发者的代码,比如拿到shake的结果(摇晃的强度)后可以在界面上展示一段动画等。
本申请实施例在接收到应用程序发送的应用程序编程接口的调用请求时,从调用请求中提取调用参数,根据调用参数查找对应的应用程序编程接口,调用应用程序编程接口,获得基于系统组件的处理结果,将所述处理结果返回应用程序,Hybrid API的设计面向各类客户端,为Web环境提供一个一致调用Native功能的API库,可运行在Android系统、IOS系统等不同操作系统上,大大提高了使用范围,同时,无需再根据不同的操作系统编译代码,大大减少了开发成本。
为使本领域技术人员更好地理解本申请实施例,以下通过具体的示例来说明本申请实施例中的Hybrid API。
下表是按优先级降序排序的Hybrid API:
Figure BDA0000613801750000161
Figure BDA0000613801750000171
Figure BDA0000613801750000181
在本示例中,Hybrid API包含了Phonegap所有的API,并且新增了P0的摇一摇、导航、闹钟,P1的光线/气压/气温/湿度传感器、距离传感器等。
在示例中,Hybrid API的价值可以体现在:
1、“GPS定位”、“旋转方向”、“运动加速度”、“振动”、“音频”等系统组件是实现高品质移动设备互动游戏的基础。
例如,“旋转方向”可以在赛车类游戏中作为输入源,运动加速度可以在球类游戏中作为输入源,此前这类应用都是Native App,有了Hybrid API之后能够在独立浏览器或客户端Webview直接开发出此类互动游戏;振动和音频都是输出,可以增加游戏的反馈效果。
2、“光线/气压/气温/湿度传感器”、“距离传感器”、“磁力计”等环境类传感器的系统组件能够实现超越传统概念的产品。
例如,图4A是初始状态,图4B是光线传感器是在手机接受光照后橙子变多变成熟,本示例中考虑过使用光线传感器作为界面换肤的驱动力。使用其他传感器如气压、温度同样可以做出超越传统概念的产品。距离传感器是从功能机时代就有的传感器,虽然古老,但是作用一直被忽视了,目前最常见的用途接听电话时锁屏,但也可以考虑过使用距离传感器作为某些功能的开关。
3、使用“网络类型”、“联网状态改变”、“页面可见性改变”等系统组件能够显著改进产品的性能和易用性。
不同网络类型下加载不同质量图片、改变页面内容区域数量,提升页面加载速度;网络状态切换时页面做相应提示或关闭某些功能,提升产品友好度(而不是让用户等待无尽的加载);页面可见性可以在页面进入后台时关闭一些耗性能的操作,比如关闭“运动加速度”的监控。
4、“设备标识”提供了定位设备的可能性,这对一大类产品而言是基础功能。
标识设备的ID(Identity,身份标识号码)可以让服务器知道目前服务对象是否同一个设备(或人)从而可以分析用户行为,进而投递更精准的内容(推荐信息、广告等)。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图5,示出了本申请一种基于应用程序编程接口的应用程序的运行装置实施例的结构框图,具体可以包括如下模块:
调用参数提取模块501,用于在接收到应用程序发送的应用程序编程接口的调用请求时,从所述调用请求中提取调用参数;
应用程序编程接口查找模块502,用于根据所述调用参数查找对应的应用程序编程接口;
处理结果获得模块503,用于调用所述应用程序编程接口,获得基于系统组件的处理结果;
处理结果返回模块504,用于将所述处理结果返回所述应用程序。
在本申请的一种优选实施例中,所述调用参数可以由所述混合型应用在接收到业务请求时,从对应的服务器中获取。
在本申请的一种优选实施例中,所述调用参数提取模块501可以包括如下子模块:
组织子模块,用于将调用请求中的调用参数组织成统一资源定位符;
生成子模块,用于生成文档;所述文档中具有关联的超文本引用;
赋值子模块,用于将所述括统一资源定位符赋值给所述超文本引用;
获取子模块,用于在触发系统本地的统一资源定位符变更事件时,获取所述超文本引用中的统一资源定位符。
在本申请的一种优选实施例中,所述调用参数包括方法名,所述应用程序编程接口查找模块502可以包括如下子模块:
方法名查找子模块,用于查找所述方法名对应的应用程序编程接口。
在本申请的一种优选实施例中,所述应用程序可以包括混合型应用或者浏览器;
当所述应用程序为浏览器时,所述应用程序编程接口由所述浏览器提供的对应的方法进行模拟。
在本申请的一种优选实施例中,所述调用参数可以包括回调函数和运行参数;所述处理结果获得模块503可以包括如下子模块:
建立子模块,用于将所述回调函数与一字符串建立映射关系;
信息发送子模块,用于将所述调用参数和所述运行参数发送给所述应用程序编程接口;
结果接收子模块,用于接收由所述应用程序编程接口返回的,关联有处理结果的字符串;
其中,所述处理结果为基于系统组件按照所述运行参数进行处理获得的结果。
在本申请的一种优选实施例中,所述应用程序编程接口可以包括基础应用程序编程接口,所述基础应用程序编程接口可以具有关联的系统组件,所述处理结果可以包括第一运行结果;
所述信息发送子模块可以包括如下子模块:
第一发送子模块,用于将所述调用参数和所述运行参数发送给所述基础应用程序编程接口;
所述结果接收子模块可以包括如下子模块:
第一接收子模块,用于接收由所述基础应用程序编程接口返回的,关联有第一运行结果的字符串;
其中,所述第一运行结果为由所述基础应用程序编程接口关联的系统组件按照所述运行参数进行处理获得的结果。
在本申请的一种优选实施例中,所述应用程序编程接口可以包括业务应用程序编程接口,所述业务应用程序编程接口可以具有对应的基础应用程序编程接口,所述基础应用程序编程接口可以具有关联的系统组件,所述处理结果可以包括业务处理结果;
所述信息发送子模块可以包括如下子模块:
第二发送子模块,用于将所述调用参数和所述运行参数发送给所述基础应用程序编程接口;
所述信息接收子模块可以包括如下子模块:
第二接收子模块,用于接收由所述应用程序编程接口返回的,关联有获得业务处理结果的字符串;
其中,所述业务处理结果为对第二运行结果进行业务处理,获得的业务处理结果;所述第二运行结果为由所述业务应用程序编程接口对应的基础应用程序编程接口所关联的系统组件按照所述运行参数进行处理获得的结果。
在本申请的一种优选实施例中,所述处理结果返回模块504可以包括如下子模块:
回调函数查找子模块,用于在接收到字符串时,查找所述字符串映射的回调函数;
回调函数触发子模块,用于触发所述回调函数,将所述字符串关联的处理结果返回给所述应用程序。
在本申请的一种优选实施例中,当所述运行参数为空时,系统组件进行处理所需的运行参数可以为预设的默认运行参数。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种基于应用程序编程接口的应用程序的运行方法和一种基于应用程序编程接口的应用程序的运行装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (18)

1.一种基于应用程序编程接口的应用程序的运行方法,其特征在于,包括:
当接收到应用程序发送的应用程序编程接口的调用请求时,从所述调用请求中提取调用参数;其中,所述应用程序包括混合型应用;
根据所述调用参数查找对应的应用程序编程接口;其中,所述应用程序编程接口包括Hybrid API;所述Hybrid API运行于多平台,所述Hybrid API为向所述混合型应用的Webview提供调用Native功能的API库;
调用所述应用程序编程接口,获得基于系统组件的处理结果;当所述应用程序为所述混合型应用时,通过通用的Bridge调用应用程序编程接口;
将所述处理结果返回所述应用程序;当所述应用程序为所述混合型应用时,通过所述通用的Bridge将所述处理结果返回所述应用程序;
其中,所述从所述调用请求中提取调用参数的步骤包括:
将调用请求中的调用参数组织成统一资源定位符;当所述调用请求为由所述混合型应用发送时,通过所述通用的Bridge将调用请求中的调用参数组织成统一资源定位符;
生成文档;所述文档中具有关联的超文本引用;
将所述统一资源定位符赋值给所述超文本引用;
当触发系统本地的统一资源定位符变更事件时,获取所述超文本引用中的统一资源定位符。
2.根据权利要求1所述的方法,其特征在于,所述调用参数由所述混合型应用在接收到业务请求时,从对应的服务器中获取。
3.根据权利要求1或2所述的方法,其特征在于,所述调用参数包括方法名,所述根据所述调用参数查找对应的应用程序编程接口的步骤包括:
查找所述方法名对应的应用程序编程接口。
4.根据权利要求3所述的方法,其特征在于,所述应用程序包括浏览器;
当所述应用程序为浏览器时,所述应用程序编程接口由所述浏览器提供的对应的方法进行模拟。
5.根据权利要求1所述的方法,其特征在于,所述调用参数包括回调函数和运行参数;
所述调用所述应用程序编程接口,获得基于系统组件的处理结果的步骤包括:
将所述回调函数与一字符串建立映射关系;
将所述调用参数发送给所述应用程序编程接口;
接收由所述应用程序编程接口返回的,关联有处理结果的字符串;
其中,所述处理结果为基于系统组件按照所述运行参数进行处理获得的结果。
6.根据权利要求5所述的方法,其特征在于,所述应用程序编程接口包括基础应用程序编程接口,所述基础应用程序编程接口具有关联的系统组件,所述处理结果包括第一运行结果;
所述将所述调用参数发送给所述应用程序编程接口的步骤包括:
将所述调用参数发送给所述基础应用程序编程接口;
所述接收由所述应用程序编程接口返回的,关联有处理结果的字符串的步骤包括:
接收由所述基础应用程序编程接口返回的,关联有第一运行结果的字符串;
其中,所述第一运行结果为由所述基础应用程序编程接口关联的系统组件按照所述运行参数进行处理获得的结果。
7.根据权利要求5所述的方法,其特征在于,所述应用程序编程接口包括业务应用程序编程接口,所述业务应用程序编程接口具有对应的基础应用程序编程接口,所述基础应用程序编程接口具有关联的系统组件,所述处理结果包括业务处理结果;
所述将所述调用参数发送给所述应用程序编程接口的步骤包括:
将所述调用参数发送给所述基础应用程序编程接口;
所述接收由所述应用程序编程接口返回的,关联有处理结果的字符串的步骤包括:
接收由所述应用程序编程接口返回的,关联有获得业务处理结果的字符串;
其中,所述业务处理结果为对第二运行结果进行业务处理,获得的业务处理结果;所述第二运行结果为由所述业务应用程序编程接口对应的基础应用程序编程接口所关联的系统组件按照所述运行参数进行处理获得的结果。
8.根据权利要求5所述的方法,其特征在于,所述将所述处理结果返回所述应用程序的步骤包括:
当接收到字符串时,查找所述字符串映射的回调函数;
触发所述回调函数,将所述字符串关联的处理结果返回给所述应用程序。
9.根据权利要5或6或7或8所述的方法,其特征在于,当所述运行参数为空时,系统组件进行处理所需的运行参数为预设的默认运行参数。
10.一种基于应用程序编程接口的应用程序的运行装置,其特征在于,包括:
调用参数提取模块,用于在接收到应用程序发送的应用程序编程接口的调用请求时,从所述调用请求中提取调用参数;其中,所述应用程序包括混合型应用;
应用程序编程接口查找模块,用于根据所述调用参数查找对应的应用程序编程接口;其中,所述应用程序编程接口包括Hybrid API;所述Hybrid API运行于多平台,所述HybridAPI为向所述混合型应用的Webview提供调用Native功能的API库;
处理结果获得模块,用于所述应用程序编程接口,获得基于系统组件的处理结果;当所述应用程序为所述混合型应用时,通过通用的Bridge调用应用程序编程接口;
处理结果返回模块,用于将所述处理结果返回所述应用程序;当所述应用程序为所述混合型应用时,通过所述通用的Bridge将所述处理结果返回所述应用程序;
其中,所述调用参数提取模块包括:
组织子模块,用于将调用请求中的调用参数组织成统一资源定位符;当所述调用请求为由所述混合型应用发送时,通过所述通用的Bridge将调用请求中的调用参数组织成统一资源定位符;
生成子模块,用于生成文档;所述文档中具有关联的超文本引用;
赋值子模块,用于将所述统一资源定位符赋值给所述超文本引用;
获取子模块,用于在触发系统本地的统一资源定位符变更事件时,获取所述超文本引用中的统一资源定位符。
11.根据权利要求10所述的装置,其特征在于,所述调用参数由所述混合型应用在接收到业务请求时,从对应的服务器中获取。
12.根据权利要求10或11所述的装置,其特征在于,所述调用参数包括方法名,所述应用程序编程接口查找模块包括:
方法名查找子模块,用于查找所述方法名对应的应用程序编程接口。
13.根据权利要求12所述的装置,其特征在于,所述应用程序包括浏览器;
当所述应用程序为浏览器时,所述应用程序编程接口由所述浏览器提供的对应的方法进行模拟。
14.根据权利要求10所述的装置,其特征在于,所述调用参数包括回调函数和运行参数;所述处理结果获得模块包括:
建立子模块,用于将所述回调函数与一字符串建立映射关系;
信息发送子模块,用于将所述调用参数发送给所述应用程序编程接口;
结果接收子模块,用于接收由所述应用程序编程接口返回的,关联有处理结果的字符串;
其中,所述处理结果为基于系统组件按照所述运行参数进行处理获得的结果。
15.根据权利要求14所述的装置,其特征在于,所述应用程序编程接口包括基础应用程序编程接口,所述基础应用程序编程接口具有关联的系统组件,所述处理结果包括第一运行结果;
所述信息发送子模块包括:
第一发送子模块,用于将所述调用参数发送给所述基础应用程序编程接口;
所述结果接收子模块包括:
第一接收子模块,用于接收由所述基础应用程序编程接口返回的,关联有第一运行结果的字符串;
其中,所述第一运行结果为由所述基础应用程序编程接口关联的系统组件按照所述运行参数进行处理获得的结果。
16.根据权利要求14所述的装置,其特征在于,所述应用程序编程接口包括业务应用程序编程接口,所述业务应用程序编程接口具有对应的基础应用程序编程接口,所述基础应用程序编程接口具有关联的系统组件,所述处理结果包括业务处理结果;
所述信息发送子模块包括:
第二发送子模块,用于将所述调用参数发送给所述基础应用程序编程接口;
所述信息接收子模块包括:
第二接收子模块,用于接收由所述应用程序编程接口返回的,关联有获得业务处理结果的字符串;
其中,所述业务处理结果为对第二运行结果进行业务处理,获得的业务处理结果;所述第二运行结果为由所述业务应用程序编程接口对应的基础应用程序编程接口所关联的系统组件按照所述运行参数进行处理获得的结果。
17.根据权利要求14所述的装置,其特征在于,所述处理结果返回模块包括:
回调函数查找子模块,用于在接收到字符串时,查找所述字符串映射的回调函数;
回调函数触发子模块,用于触发所述回调函数,将所述字符串关联的处理结果返回给所述应用程序。
18.根据权利要14或15或16或17所述的装置,其特征在于,当所述运行参数为空时,系统组件进行处理所需的运行参数为预设的默认运行参数。
CN201410676517.2A 2014-11-21 2014-11-21 一种基于应用程序编程接口的应用程序的运行方法和装置 Active CN105607895B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410676517.2A CN105607895B (zh) 2014-11-21 2014-11-21 一种基于应用程序编程接口的应用程序的运行方法和装置
HK16112083.5A HK1224031A1 (zh) 2014-11-21 2016-10-20 種基於應用程序編程接口的應用程序的運行方法和裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410676517.2A CN105607895B (zh) 2014-11-21 2014-11-21 一种基于应用程序编程接口的应用程序的运行方法和装置

Publications (2)

Publication Number Publication Date
CN105607895A CN105607895A (zh) 2016-05-25
CN105607895B true CN105607895B (zh) 2021-03-02

Family

ID=55987850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410676517.2A Active CN105607895B (zh) 2014-11-21 2014-11-21 一种基于应用程序编程接口的应用程序的运行方法和装置

Country Status (2)

Country Link
CN (1) CN105607895B (zh)
HK (1) HK1224031A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107623704B (zh) * 2016-07-14 2020-08-21 腾讯科技(北京)有限公司 终端设备中的数据交互方法、客户端及浏览器
CN106445531A (zh) * 2016-09-28 2017-02-22 四川长虹电器股份有限公司 基于移动终端的跨平台的文档阅读器及其实现方法
CN106354881A (zh) * 2016-09-28 2017-01-25 四川长虹电器股份有限公司 基于移动终端跨平台的图片浏览器及其实现方法
CN107957911B (zh) 2016-10-18 2019-07-05 腾讯科技(深圳)有限公司 组件调用的方法和装置、组件数据处理的方法和装置
CN108319474B (zh) * 2017-01-16 2021-10-15 腾讯科技(深圳)有限公司 一种页面信息生成方法、装置和设备
CN108469991B (zh) * 2017-02-23 2021-04-09 阿里巴巴(中国)有限公司 多媒体数据处理方法及装置
CN108572965B (zh) * 2017-03-08 2020-03-31 阿里巴巴集团控股有限公司 一种资源加载方法及装置
CN107678778B (zh) * 2017-03-14 2019-12-13 平安科技(深圳)有限公司 基于Hybrid的兼容方法、适配件、运行装置及系统
CN107798617B (zh) * 2017-04-07 2021-04-13 平安科技(深圳)有限公司 保险业务处理方法和装置
CN107203397B (zh) * 2017-05-24 2021-02-05 广州四三九九信息科技有限公司 移动应用的运行方法和装置
CN109213606A (zh) * 2017-06-29 2019-01-15 北京京东尚科信息技术有限公司 一种数据交互的方法和装置
CN107423060B (zh) * 2017-07-07 2021-03-30 北京小米移动软件有限公司 动画效果的呈现方法、装置及终端
CN107861713B (zh) * 2017-07-25 2020-10-27 平安普惠企业管理有限公司 数据调用方法、装置及计算机可读存储介质
CN108958730B (zh) * 2017-08-23 2022-04-19 北京五八信息技术有限公司 应用程序组件共享方法及装置、终端设备及可读存储介质
CN107908426A (zh) * 2017-12-21 2018-04-13 江苏国泰新点软件有限公司 跨平台应用程序的设计方法、装置、移动终端及存储介质
CN109976752A (zh) * 2017-12-27 2019-07-05 沪江教育科技(上海)股份有限公司 一种跨平台开发方法及系统
CN110191141B (zh) * 2018-02-23 2022-03-29 阿里巴巴集团控股有限公司 服务调用信息处理方法、装置及计算机系统
JP7100154B6 (ja) 2018-04-20 2022-09-30 オッポ広東移動通信有限公司 プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体
CN110688161A (zh) * 2018-07-06 2020-01-14 英研智能移动股份有限公司 周边硬件的操作方法与操作系统
CN110955430A (zh) * 2018-09-26 2020-04-03 北京字节跳动网络技术有限公司 应用程序原生能力的调用方法、装置及电子设备
CN109327530B (zh) * 2018-10-31 2023-05-23 网易(杭州)网络有限公司 一种信息处理方法、装置、电子设备和存储介质
CN109714642B (zh) * 2018-12-29 2022-03-08 深圳Tcl数字技术有限公司 Linux应用复用于智能系统的方法、智能电视及存储介质
CN110175307B (zh) * 2019-04-19 2023-02-17 创新先进技术有限公司 一种针对Blueprint的消息处理方法及装置
CN111158695B (zh) * 2019-12-19 2023-07-25 广州方硅信息技术有限公司 接口定位方法、装置、计算机设备和存储介质
CN111984448B (zh) * 2020-08-14 2023-12-12 北京达佳互联信息技术有限公司 页面调用方法、装置、设备及存储介质
CN113448654B (zh) * 2020-12-07 2024-03-01 北京新氧科技有限公司 web应用程序与原生应用程序的交互方法及装置
CN113448746B (zh) * 2020-12-30 2023-09-15 北京新氧科技有限公司 配置处理方法、配置平台及相关设备

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834882A (zh) * 2009-03-13 2010-09-15 华为技术有限公司 一种共享网页的方法、浏览器和通信系统
CN102123196A (zh) * 2010-12-29 2011-07-13 浙大网新科技股份有限公司 在Android手机上实现WinCE/Android混合API的方法
CN102364436A (zh) * 2011-06-24 2012-02-29 浙大网新科技股份有限公司 实现WinCE/Android混合API调试的方法及系统
CN102426589A (zh) * 2011-10-31 2012-04-25 合一网络技术(北京)有限公司 一种用于数据库信息检索的中间层系统及信息检索方法
CN102799477A (zh) * 2012-07-16 2012-11-28 中兴通讯股份有限公司 资源访问方法及装置
CN103081508A (zh) * 2010-08-30 2013-05-01 索尼公司 接收设备、接收方法和程序
CN103106102A (zh) * 2013-01-14 2013-05-15 百度在线网络技术(北京)有限公司 一种web应用程序的运行方法及移动终端
CN103177028A (zh) * 2011-12-23 2013-06-26 腾讯科技(深圳)有限公司 一种信息交互的方法和系统
CN103177115A (zh) * 2013-04-03 2013-06-26 北京奇虎科技有限公司 一种提取网页页面链接的方法和装置
WO2013100990A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Hybrid mobile interactions for native apps and web apps
CN103377079A (zh) * 2012-04-16 2013-10-30 展讯通信(上海)有限公司 终端及其应用运行装置和方法,运行应用程序的方法
CN103701909A (zh) * 2013-12-26 2014-04-02 乐视致新电子科技(天津)有限公司 视频应用的快速生成方法及系统
CN103744652A (zh) * 2013-12-19 2014-04-23 深圳市迈桥科技有限公司 一种跨移动终端的混合app开发方法及装置
CN103838786A (zh) * 2012-11-27 2014-06-04 大连灵动科技发展有限公司 一种Web数据自动采集的方法
CN103942225A (zh) * 2013-01-23 2014-07-23 阿里巴巴集团控股有限公司 一种混合型应用客户端的资源调用方法、客户端及系统
CN104035804A (zh) * 2014-06-26 2014-09-10 北京中电普华信息技术有限公司 一种应用集成方法及装置
CN104063309A (zh) * 2013-03-22 2014-09-24 南京理工大学常熟研究院有限公司 基于模拟攻击的Web应用程序漏洞检测方法
CN104102537A (zh) * 2013-04-07 2014-10-15 华为技术有限公司 一种应用调用方法及用户终端

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001086593A2 (en) * 2000-05-09 2001-11-15 868970 Ontario Inc. Synchronized convergence platform
CN100389572C (zh) * 2005-04-11 2008-05-21 华为技术有限公司 一种远程调用通信组件的系统及方法
CN101384004B (zh) * 2008-10-20 2015-09-16 中兴通讯股份有限公司 一种非结构化的补充业务数据业务的实现方法
AU2010312400A1 (en) * 2009-10-29 2012-05-17 Nec Display Solutions, Ltd. System and software product
CN102622211B (zh) * 2011-01-27 2016-05-25 腾讯科技(深圳)有限公司 一种应用程序开发的方法和装置
CN102203736B (zh) * 2011-05-20 2014-04-02 华为技术有限公司 开放应用程序编程接口调用方法及设备
CN103699367B (zh) * 2012-09-27 2017-07-07 中国电信股份有限公司 Http应用程序接口调用方法与装置

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834882A (zh) * 2009-03-13 2010-09-15 华为技术有限公司 一种共享网页的方法、浏览器和通信系统
CN103081508A (zh) * 2010-08-30 2013-05-01 索尼公司 接收设备、接收方法和程序
CN102123196A (zh) * 2010-12-29 2011-07-13 浙大网新科技股份有限公司 在Android手机上实现WinCE/Android混合API的方法
CN102364436A (zh) * 2011-06-24 2012-02-29 浙大网新科技股份有限公司 实现WinCE/Android混合API调试的方法及系统
CN102426589A (zh) * 2011-10-31 2012-04-25 合一网络技术(北京)有限公司 一种用于数据库信息检索的中间层系统及信息检索方法
CN103177028A (zh) * 2011-12-23 2013-06-26 腾讯科技(深圳)有限公司 一种信息交互的方法和系统
WO2013100990A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Hybrid mobile interactions for native apps and web apps
CN103377079A (zh) * 2012-04-16 2013-10-30 展讯通信(上海)有限公司 终端及其应用运行装置和方法,运行应用程序的方法
CN102799477A (zh) * 2012-07-16 2012-11-28 中兴通讯股份有限公司 资源访问方法及装置
CN103838786A (zh) * 2012-11-27 2014-06-04 大连灵动科技发展有限公司 一种Web数据自动采集的方法
CN103106102A (zh) * 2013-01-14 2013-05-15 百度在线网络技术(北京)有限公司 一种web应用程序的运行方法及移动终端
CN103942225A (zh) * 2013-01-23 2014-07-23 阿里巴巴集团控股有限公司 一种混合型应用客户端的资源调用方法、客户端及系统
CN104063309A (zh) * 2013-03-22 2014-09-24 南京理工大学常熟研究院有限公司 基于模拟攻击的Web应用程序漏洞检测方法
CN103177115A (zh) * 2013-04-03 2013-06-26 北京奇虎科技有限公司 一种提取网页页面链接的方法和装置
CN104102537A (zh) * 2013-04-07 2014-10-15 华为技术有限公司 一种应用调用方法及用户终端
CN103744652A (zh) * 2013-12-19 2014-04-23 深圳市迈桥科技有限公司 一种跨移动终端的混合app开发方法及装置
CN103701909A (zh) * 2013-12-26 2014-04-02 乐视致新电子科技(天津)有限公司 视频应用的快速生成方法及系统
CN104035804A (zh) * 2014-06-26 2014-09-10 北京中电普华信息技术有限公司 一种应用集成方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hybrid App开发初探:使用WebView装载页面;梦想天空;《https://www.cnblogs.com/lhb25/archive/2012/07/16/hybrid-app-developement.html》;20120716;第1-2页 *

Also Published As

Publication number Publication date
CN105607895A (zh) 2016-05-25
HK1224031A1 (zh) 2017-08-11

Similar Documents

Publication Publication Date Title
CN105607895B (zh) 一种基于应用程序编程接口的应用程序的运行方法和装置
US20210311748A1 (en) System and method for identifying, indexing, and navigating to deep states of mobile applications
EP2909998B1 (en) Webpages with onboard hardware functions
US20170132024A1 (en) Deep Linking to Mobile Application States Through Programmatic Replay of User Interface Events
US8966508B2 (en) Method for executing hybrid web application and apparatus therefor
CN110968824A (zh) 页面数据处理方法和装置
CN104821954A (zh) 一种跨平台远程过程调用方法
WO2017081558A1 (en) Monitoring and actuation of view controller parameters to reach deep states without manual developer intervention
CN108170430B (zh) 一种界面展示的方法及系统
CN113536174A (zh) 一种界面加载方法、装置及设备
CN110020370B (zh) 在客户端应用中实现动画的方法、装置及动画脚本的框架
CN111679828B (zh) 一种数据处理的方法及装置、电子设备、存储介质
CN114003835A (zh) 页面渲染方法、装置、设备及存储介质
CN111124399B (zh) 弹窗组件的处理方法及装置、存储介质及处理器
Amatya Cross-platform mobile development: An alternative to native mobile development
CN114254232A (zh) 云产品页面生成方法、装置、计算机设备和存储介质
CN111797009A (zh) 用于检测代码兼容性的方法、装置和电子设备
Madjarov Cloud-based framework for mobile learning content adaptation
CN111078209B (zh) 业务页面的开发处理方法、装置及设备
CN109213943B (zh) 网页加载方法、装置、终端设备、处理器及存储介质
US11770437B1 (en) Techniques for integrating server-side and client-side rendered content
US20140372507A1 (en) Reporting Exceptions from Executing Compressed Scripts
KR20210023528A (ko) 앱 생성 장치
CN116127231A (zh) 页面嵌入方法及相关设备
Gandhi San Diego State University Android Library Resource Application

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1224031

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant