CN103677843A - 一种跨移动终端的native能力开发方法及装置 - Google Patents

一种跨移动终端的native能力开发方法及装置 Download PDF

Info

Publication number
CN103677843A
CN103677843A CN201310706068.7A CN201310706068A CN103677843A CN 103677843 A CN103677843 A CN 103677843A CN 201310706068 A CN201310706068 A CN 201310706068A CN 103677843 A CN103677843 A CN 103677843A
Authority
CN
China
Prior art keywords
ability
native
capability
call
readjustment
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.)
Granted
Application number
CN201310706068.7A
Other languages
English (en)
Other versions
CN103677843B (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.)
Shenzhen Landray Software Co., Ltd.
Original Assignee
SHENZHEN MIBRIDGE TECHNOLOGY Co 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 SHENZHEN MIBRIDGE TECHNOLOGY Co Ltd filed Critical SHENZHEN MIBRIDGE TECHNOLOGY Co Ltd
Priority to CN201310706068.7A priority Critical patent/CN103677843B/zh
Publication of CN103677843A publication Critical patent/CN103677843A/zh
Application granted granted Critical
Publication of CN103677843B publication Critical patent/CN103677843B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出了一种跨移动终端的native能力开发方法,包括如下步骤:将业务需求采用统一规范的js语言实现;不同移动终端分别通过各自的js引擎将所述js语言解析成对应的native能力;所述native能力包括能力js函数,所述能力js函数用于向应用提供统一调用接口;应用调用所述native能力。本发明还涉及一种实现上述开发方法的装置。实施本发明的跨移动终端的native能力开发方法及装置,具有以下有益效果:消耗较少的人力、工作量较小、开发维护成本较低。

Description

一种跨移动终端的native能力开发方法及装置
技术领域
本发明涉及移动终端领域,特别涉及一种跨移动终端的native能力开发方法及装置。
背景技术
目前市场上主流的移动终端操作系统有ios、android,native(原生)能力在不同的操作系统上的表现形式和实现方式都可能不一样。由于不同的操作系统的底层实现存在差异,要想在不同的操作系统上获得表现形式和实现方式一样的native能力,就必须在这些系统上独立做开发适配,以达到接口和表现形式的统一。图1为现有的native能力调用示意图,图1-a为ios的native能力调用示意图,图1-b为android的native能力调用示意图。现有技术中,通过直接调用native能力开发应用,这样会存在以下问题:需要的开发人员较多,每个操作系统都需要有相应的开发人员,并且一直做相应的维护,这样需要消耗大量的人力,同时维护成本较高;同时由于接口不好统一,每个开发人员都需要专注于本系统的接口实现,其工作量较大,开发成本较高。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述消耗大量人力、工作量较大、开发维护成本较高的缺陷,提供一种消耗较少的人力、工作量较小、开发维护成本较低的跨移动终端的native能力开发方法及装置。
本发明解决其技术问题所采用的技术方案是:构造一种跨移动终端的native能力开发方法,包括如下步骤:
      A) 将业务需求采用统一规范的js (JavaScript)语言实现;
B) 不同移动终端分别通过各自的js引擎将所述js语言解析成对应的native能力;所述native能力包括能力js函数,所述能力js函数用于向应用提供统一调用接口;
C) 应用调用所述native能力。
在本发明所述的跨移动终端的native能力开发方法中,所述native能力还包括能力native对象,所述能力native对象为用于执行能力逻辑的native代码集合。
在本发明所述的跨移动终端的native能力开发方法中,所述步骤C)进一步包括:
C1)所述应用携带基础能力接口规定的参数和基础能力回调,通过基础能力js调用基础能力;
C2)所述基础能力js将所述基础能力回调包装好,然后携带能力名称、能力方法、调用参数和包装后的回调方法,请求js/native调用代理对象调用包装后的能力;
C3)所述js/native调用代理对象为本次调用分配回调id,并将所述回调id与回调方法进行键值对映射,同时保存所述回调id;
C4)所述js/native调用代理对象携带所述能力名称、能力方法、调用参数和回调id通过能力管理模块接口请求调用native能力;
C5)能力管理模块根据所述调用参数得到应用id;所述js/native调用代理对象是所述基础能力js和能力管理模块的中间转换层;
C6)所述能力管理模块根据能力名称找到能力组件,并通过所述能力组件请求调用所述native能力;
C7)所述能力组件执行能力逻辑并携带能力执行结果和回调id通过webview传给所述js/native调用代理对象,所述js/native调用代理对象通过所述回调id找到对应的回调方法,并通过所述回调方法将所述能力执行结果通过所述基础能力js回调给所述应用。
在本发明所述的跨移动终端的native能力开发方法中,所述步骤C)进一步包括:
C1)所述应用携带基础能力接口规定的参数和基础能力回调,通过基础能力js调用基础能力;
C2)所述基础能力js将所述基础能力回调包装好,然后携带能力名称、能力方法、调用参数和包装后的回调方法,请求js/native调用代理对象调用包装后的能力;
C3)所述js/native调用代理对象为本次调用分配回调id,并将所述回调id与回调方法进行键值对映射,同时保存所述回调id;
C4)所述js/native调用代理对象携带所述能力名称、能力方法、调用参数和回调id通过能力管理模块接口请求调用native能力;
C5)能力管理模块根据所述调用参数得到应用id;所述js/native调用代理对象是所述基础能力js和能力管理模块的中间转换层;
C6)所述能力管理模块根据能力名称找到能力组件,并通过所述能力组件请求调用所述native能力;
C7)所述能力组件执行能力逻辑并携带执行结果和回调id通过webview传给所述js/native调用代理对象,所述js/native调用代理对象通过所述回调id找到对应的回调方法,并通过所述回调方法将所述执行结果通过所述基础能力js回调给所述应用。
在本发明所述的跨移动终端的native能力开发方法中,所述步骤C7)进一步包括:
C71)所述能力组件执行能力逻辑并得到能力执行结果;
C72)所述能力组件携带所述能力执行结果和回调id,通过装载url执行js函数将其返回给webview(一种JavaScript引擎);
C73)所述webview将所述回调id和能力执行结果传给所述js/native调用代理对象;
C74)所述js/native调用代理对象通过所述回调id找到对应的回调方法;
C75)所述js/native调用代理对象通过所述回调方法将所述能力执行结果回调给所述基础能力js;
C76)所述基础能力js回调给所述应用。
本发明还涉及一种实现上述跨移动终端的native能力开发方法的装置,包括:
业务需求实现单元:用于将业务需求采用统一规范的js语言实现;
解析单元:用于使不同移动终端分别通过各自的js引擎将所述js语言解析成对应的native能力;所述native能力包括能力js函数,所述能力js函数用于向应用提供统一调用接口;
调用单元:用于使应用调用所述native能力。
在本发明所述的实现上述跨移动终端的native能力开发方法的装置中,所述native能力还包括能力native对象,所述能力native对象为用于执行能力逻辑的native代码集合。
在本发明所述的实现上述跨移动终端的native能力开发方法的装置中,所述调用单元进一步包括:
基础能力调用模块:用于使所述应用携带基础能力接口规定的参数和基础能力回调,通过基础能力js调用基础能力;
包装请求模块:用于使所述基础能力js将所述基础能力回调包装好,然后携带能力名称、能力方法、调用参数和包装后的回调方法,请求js/native调用代理对象调用包装后的能力;
分配映射模块:用于使所述js/native调用代理对象为本次调用分配回调id,并将所述回调id与回调方法进行键值对映射,同时保存所述回调id;
native能力调用请求模块:用于使所述js/native调用代理对象携带所述能力名称、能力方法、调用参数和回调id通过能力管理模块接口请求调用native能力;
应用id获取模块:用于使能力管理模块根据所述调用参数得到应用id;所述js/native调用代理对象是所述基础能力js和能力管理模块的中间转换层;
组件寻找请求模块:用于使所述能力管理模块根据能力名称找到能力组件,并通过所述能力组件请求调用所述native能力;
结果回调模块:用于使所述能力组件执行能力逻辑并携带能力执行结果和回调id通过webview传给所述js/native调用代理对象,所述js/native调用代理对象通过所述回调id找到对应的回调方法,并通过所述回调方法将所述能力执行结果通过所述基础能力js回调给所述应用。
在本发明所述的实现上述跨移动终端的native能力开发方法的装置中,所述组件寻找请求模块进一步包括:
能力组件寻找模块:用于使所述能力管理模块根据能力名称找到能力组件;
请求调用模块:用于使所述能力管理模块携带所述应用id、能力方法、调用参数和回调id通过找到的所述能力组件请求调用所述native能力。
在本发明所述的实现上述跨移动终端的native能力开发方法的装置中,所述结果回调模块进一步包括:
能力执行模块:用于使所述能力组件执行能力逻辑并得到能力执行结果;
装载返回模块:用于使所述能力组件携带所述能力执行结果和回调id,通过装载url执行js函数将其返回给webview;
结果传送模块:用于使所述webview将所述回调id和能力执行结果传给所述js/native调用代理对象;
回调方法寻找模块:用于使所述js/native调用代理对象通过所述回调id找到对应的回调方法;
结果回调基础能力模块:用于使所述js/native调用代理对象通过所述回调方法将所述能力执行结果回调给所述基础能力js;
回调应用模块:用于使所述基础能力js回调给所述应用。
实施本发明的跨移动终端的native能力开发方法及装置,具有以下有益效果: 由于将业务需求采用统一规范的js语言实现,不同移动终端分别通过各自的js引擎将js语言解析成对应的native能力;同时native能力包括能力js函数,能力js函数用于向应用提供统一调用接口;然后应用调用所述native能力;由于js语言强大、灵活、面向对象,所以能够实现跨平台(跨移动终端),每个操作系统不再需要有相应的开发人员一直做维护,同时由于提供统一调用接口,所以不需要开发人员专注于某操作系统的接口实现,所以消耗的人力较少、工作量较小,开发维护成本较低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为背景技术中现有的native能力调用示意图;
图2为本发明跨移动终端的native能力开发方法及装置一个实施例中native能力开发的结构示意图;
图3为所述实施例中开发方法的流程图;
图4为所述实施例中应用调用native能力的具体流程图;
图5为所述实施例中能力管理模块根据能力名称找到能力组件,并通过能力组件请求调用native能力的具体流程图;
图6为所述实施例中执行能力逻辑并将执行结果回调给应用的具体流程图;
图7为所述实施例中native能力开发的具体示意图;
图8为所述实施例中开发方法的时序图;
图9为所述实施例中装置的结构示意图;
图10为所述实施例中组件寻找请求模块和结果回调模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明跨移动终端的native能力开发方法及装置实施例中,其native能力开发的结构示意图如图2所示。其开发方法的流程图如图3所示。图3中,该跨移动终端的native能力开发方法包括如下步骤:
   步骤S01 将业务需求采用统一规范的js语言实现:本步骤中,将业务需求采用统一规范的js语言实现。由于js语言强大、灵活和面向对象的特点,这些都足以让它成为一种跨平台开发的通用语言。
步骤S02不同移动终端分别通过各自的js引擎将js语言解析成对应的native能力:本步骤中,不同移动终端分别通过各自的js引擎(泛指能解析JavaScript语言的库,在不同的操作系统,对应不同的库,但他们的功能都一样,就是解析JavaScript语言)将js语言解析成对应的native能力,例如:具有ios操作系统的移动终端采用ios js引擎(webview组件,js引擎的一种),具有android操作系统的移动终端采用android  js引擎(webview组件)。本实施例中,native能力包括能力js函数,能力js函数用于向应用提供统一调用接口;也就是通过js语言,对多个移动操作系统提供统一的native能力调用接口,所以不需要开发人员专注于某操作系统的接口实现,每个操作系统不再需要有相应的开发人员一直做维护,所以消耗的人力较少、工作量较小,开发维护成本较低。值得一提的是,本实施例中,native能力还包括能力native对象,能力native对象为用于执行能力逻辑的native代码集合。 
步骤S03应用调用native能力:本步骤中,应用调用native能力。
对于本实施例而言,上述步骤S03还可进一步细化,其细化后的流程图如图4所示。图4中,上述步骤S03进一步包括如下步骤:
步骤S31 应用携带基础能力接口规定的参数和基础能力回调,通过基础能力js调用基础能力:本步骤中,应用携带基础能力接口规定的参数和能力回调,通过基础能力js调用基础能力。
步骤S32 基础能力js将基础能力回调包装好,然后携带能力名称、能力方法、调用参数和包装后的回调方法,请求js/native调用代理对象调用包装后的能力:本步骤中,基础能力js将基础能力回调包装好,然后携带能力名称、能力方法、调用参数和包装后的回调方法,请求js/native调用代理对象调用包装后的能力。关于js/native调用代理对象,稍后会进行详细描述。
步骤S33 js/native调用代理对象为本次调用分配回调id,并将回调id与回调方法进行键值对映射,同时保存回调id:本步骤中,js/native调用代理对象为本次调用分配一个唯一的回调id,并将回调id与回调方法通过键值对映射,然后保存回调id。对于将回调id与回调方法通过键值对映射,也就是通过回调id,就可以找到其对应的回调方法。
步骤S34 js/native调用代理对象携带能力名称、能力方法、调用参数和回调id通过能力管理模块接口请求调用native能力:本步骤中,js/native调用代理对象携带能力名称、能力方法、调用参数和回调id通过能力管理模块接口请求调用native能力。这里,能力管理模块接口为统一的native能力API接口,这样可让应用能保持高度一致。
步骤S35能力管理模块根据调用参数得到应用id:本步骤中,能力管理模块根据调用参数得到应用id。值得一提的是,js/native调用代理对象是基础能力js和能力管理模块的中间转换层,负责给基础能力js封装回调方法,分配回调id,基础能力js通过它来调用能力管理管理模块。能力组件最终也是通过js/native调用代理对象来将能力执行结果回调给基础能力js。
步骤S36能力管理模块根据能力名称找到能力组件,并通过能力组件请求调用native能力:本步骤中,能力管理模块根据能力名称找到能力组件(或能力组件实例),并通过能力组件请求调用native能力。
步骤S37 能力组件执行能力逻辑并携带执行结果和回调id通过webview传给js/native调用代理对象,js/native调用代理对象通过回调id找到对应的回调方法,并通过回调方法将执行结果通过基础能力js回调给应用:本步骤中,能力组件执行能力逻辑并携带执行结果和回调id通过webview传给js/native调用代理对象,js/native调用代理对象通过回调id找到对应的回调方法,并通过回调方法将执行结果通过基础能力js回调给应用。
对于本实施例而言, 上述步骤S36还可进一步细化,其细化后的流程图如图5所示。图5中,上述步骤S36进一步包括如下步骤:
   步骤S361 能力管理模块根据能力名称找到能力组件:本步骤中,能力管理模块根据能力名称找到能力组件。
步骤S362 能力管理模块携带应用id、能力方法、调用参数和回调id通过找到的能力组件请求调用native能力:本步骤中,能力管理模块携带应用id、能力方法、调用参数和回调id通过找到的能力组件请求调用native能力。
对于本实施例而言,上述步骤S37还可进一步细化,其细化后的流程图如图6所示。图6中,上述步骤S37进一步包括如下步骤: 
步骤S371能力组件执行能力逻辑并得到能力执行结果:本 步骤中,能力组件执行能力逻辑并得到能力执行结果。
步骤S372能力组件携带能力执行结果和回调id,通过装载url执行js函数将其返回给webview:本步骤中,能力组件携带能力执行结果和回调id,通过装载url执行js函数,将能力执行结果和回调id返回给webview。
步骤S373 webview将回调id和能力执行结果传给js/native调用代理对象:本步骤中,webview将回调id和能力执行结果传给js/native调用代理对象。
步骤S374 js/native调用代理对象通过回调id找到对应的回调方法:本步骤中,js/native调用代理对象通过回调id找到对应的回调方法。
步骤S375 js/native调用代理对象通过回调方法将能力执行结果回调给基础能力js:本步骤中,js/native调用代理对象通过回调方法将能力执行结果回调给基础能力js。
步骤S376基础能力js回调给应用:本步骤中,基础能力js将能力执行结果回调给应用。
图7为本实施例中native能力开发的具体示意图,图8为本实施例中开发方法的时序图。
本实施例还涉及一种实现上述跨移动终端的native能力开发方法的装置,其结构示意图如图9所示。图9中,该装置包括业务需求实现单元1、解析单元2和调用单元3;其中,业务需求实现单元1用于将业务需求采用统一规范的js语言实现;解析单元2用于使不同移动终端分别通过各自的js引擎将js语言解析成对应的native能力;native能力包括能力js函数,能力js函数用于向应用提供统一调用接口;调用单元3用于使应用调用native能力。值得一提的是,本实施例中,上述native能力还包括能力native对象,能力native对象为用于执行能力逻辑的native代码集合。
本实施例中,调用单元3进一步包括基础能力调用模块31、包装请求模块32、分配映射模块33、native能力调用请求模块34、应用id获取模块35、组件寻找请求模块36和结果回调模块37;其中,基础能力调用模块31用于使应用携带基础能力接口规定的参数和基础能力回调,通过基础能力js调用基础能力;包装请求模块32用于使基础能力js将基础能力回调包装好,然后携带能力名称、能力方法、调用参数和包装后的回调方法,请求js/native调用代理对象调用包装后的能力;分配映射模块33用于使js/native调用代理对象为本次调用分配回调id,并将回调id与回调方法进行键值对映射,同时保存回调id;native能力调用请求模块34用于使js/native调用代理对象携带能力名称、能力方法、调用参数和回调id通过能力管理模块接口请求调用native能力;应用id获取模块35用于使能力管理模块根据调用参数得到应用id;js/native调用代理对象是基础能力js和能力管理模块的中间转换层;组件寻找请求模块36用于使能力管理模块根据能力名称找到能力组件,并通过能力组件请求调用native能力;结果回调模块37用于使能力组件执行能力逻辑并携带能力执行结果和回调id通过webview传给js/native调用代理对象,js/native调用代理对象通过回调id找到对应的回调方法,并通过回调方法将能力执行结果通过基础能力js回调给应用。值得一提的是,js/native调用代理对象是基础能力js和能力管理模块的中间转换层,负责给基础能力js封装回调方法,分配回调id,基础能力js通过它来调用能力管理管理模块。能力组件最终也是通过js/native调用代理对象来将能力执行结果回调给基础能力js。
图10为本实施例中组件寻找请求模块和结果回调模块的结构示意图。图10中,组件寻找请求模块36进一步包括能力组件寻找模块361和请求调用模块362;其中,能力组件寻找模块361用于使能力管理模块根据能力名称找到能力组件;请求调用模块362用于使能力管理模块携带应用id、能力方法、调用参数和回调id通过找到的能力组件请求调用native能力。结果回调模块37进一步包括能力执行模块371、装载返回模块372、结果传送模块373、回调方法寻找模块374、结果回调基础能力模块375和回调应用模块376;其中,能力执行模块371用于使能力组件执行能力逻辑并得到能力执行结果;装载返回模块372用于使能力组件携带能力执行结果和回调id,通过装载url执行js函数将其返回给webview;结果传送模块373用于使webview将回调id和能力执行结果传给js/native调用代理对象;回调方法寻找模块374用于使js/native调用代理对象通过回调id找到对应的回调方法;结果回调基础能力模块375用于使js/native调用代理对象通过回调方法将能力执行结果回调给基础能力js;回调应用模块376用于使基础能力js回调给应用。
总之,在本实施例中,业务需要的开发采用统一规格的js语言,由于js语言强大、灵活和面向对象的特点,这些都足以让它成为一种跨平台开发的通用语言,所以本发明中可以跨多个移动终端,具备跨平台特性,支持多种常见平台;每个移动终端都有自己的js引擎,可以将js解析成native能力,native能力亦可通过js引擎调用js。同时由于提供统一调用接口,所以不需要开发人员专注于某操作系统的接口实现,所以消耗的人力较少、工作量较小,节省开发和维护成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种跨移动终端的native能力开发方法,其特征在于,包括如下步骤:
A) 将业务需求采用统一规范的js语言实现;
B) 不同移动终端分别通过各自的js引擎将所述js语言解析成对应的native能力;所述native能力包括能力js函数,所述能力js函数用于向应用提供统一调用接口;
C) 应用调用所述native能力。
2.根据权利要求1所述的跨移动终端的native能力开发方法,其特征在于,所述native能力还包括能力native对象,所述能力native对象为用于执行能力逻辑的native代码集合。
3.根据权利要求2所述的跨移动终端的native能力开发方法,其特征在于,所述步骤C)进一步包括:
C1)所述应用携带基础能力接口规定的参数和基础能力回调,通过基础能力js调用基础能力;
C2)所述基础能力js将所述基础能力回调包装好,然后携带能力名称、能力方法、调用参数和包装后的回调方法,请求js/native调用代理对象调用包装后的能力;
C3)所述js/native调用代理对象为本次调用分配回调id,并将所述回调id与回调方法进行键值对映射,同时保存所述回调id;
C4)所述js/native调用代理对象携带所述能力名称、能力方法、调用参数和回调id通过能力管理模块接口请求调用native能力;
C5)能力管理模块根据所述调用参数得到应用id;所述js/native调用代理对象是所述基础能力js和能力管理模块的中间转换层;
C6)所述能力管理模块根据能力名称找到能力组件,并通过所述能力组件请求调用所述native能力;
C7)所述能力组件执行能力逻辑并携带能力执行结果和回调id通过webview传给所述js/native调用代理对象,所述js/native调用代理对象通过所述回调id找到对应的回调方法,并通过所述回调方法将所述能力执行结果通过所述基础能力js回调给所述应用。
4.根据权利要求3所述的跨移动终端的native能力开发方法,其特征在于,所述步骤C6)进一步包括:
C61)所述能力管理模块根据能力名称找到能力组件;
C62)所述能力管理模块携带所述应用id、能力方法、调用参数和回调id通过找到的所述能力组件请求调用所述native能力。
5.根据权利要求3或4所述的跨移动终端的native能力开发方法,其特征在于,所述步骤C7)进一步包括:
C71)所述能力组件执行能力逻辑并得到能力执行结果;
C72)所述能力组件携带所述能力执行结果和回调id,通过装载url执行js函数将其返回给webview;
C73)所述webview将所述回调id和能力执行结果传给所述js/native调用代理对象;
C74)所述js/native调用代理对象通过所述回调id找到对应的回调方法;
C75)所述js/native调用代理对象通过所述回调方法将能力所述执行结果回调给所述基础能力js;
C76)所述基础能力js回调给所述应用。
6.一种实现如权利要求1所述的跨移动终端的native能力开发方法的装置,其特征在于,包括:
业务需求实现单元:用于将业务需求采用统一规范的js语言实现;
解析单元:用于使不同移动终端分别通过各自的js引擎将所述js语言解析成对应的native能力;所述native能力包括能力js函数,所述能力js函数用于向应用提供统一调用接口;
调用单元:用于使应用调用所述native能力。
7.根据权利要求6所述的实现上述跨移动终端的native能力开发方法的装置,其特征在于,所述native能力还包括能力native对象,所述能力native对象为用于执行能力逻辑的native代码集合。
8.根据权利要求7所述的实现上述跨移动终端的native能力开发方法的装置,其特征在于,所述调用单元进一步包括:
基础能力调用模块:用于使所述应用携带基础能力接口规定的参数和基础能力回调,通过基础能力js调用基础能力;
包装请求模块:用于使所述基础能力js将所述基础能力回调包装好,然后携带能力名称、能力方法、调用参数和包装后的回调方法,请求js/native调用代理对象调用包装后的能力;
分配映射模块:用于使所述js/native调用代理对象为本次调用分配回调id,并将所述回调id与回调方法进行键值对映射,同时保存所述回调id;
native能力调用请求模块:用于使所述js/native调用代理对象携带所述能力名称、能力方法、调用参数和回调id通过能力管理模块接口请求调用native能力;
应用id获取模块:用于使能力管理模块根据所述调用参数得到应用id;所述js/native调用代理对象是所述基础能力js和能力管理模块的中间转换层;
组件寻找请求模块:用于使所述能力管理模块根据能力名称找到能力组件,并通过所述能力组件请求调用所述native能力;
结果回调模块:用于使所述能力组件执行能力逻辑并携带能力执行结果和回调id通过webview传给所述js/native调用代理对象,所述js/native调用代理对象通过所述回调id找到对应的回调方法,并通过所述回调方法将所述能力执行结果通过所述基础能力js回调给所述应用。
9.根据权利要求8所述的实现上述跨移动终端的native能力开发方法的装置,其特征在于,所述组件寻找请求模块进一步包括:
能力组件寻找模块:用于使所述能力管理模块根据能力名称找到能力组件;
请求调用模块:用于使所述能力管理模块携带所述应用id、能力方法、调用参数和回调id通过找到的所述能力组件请求调用所述native能力。
10.根据权利要求8或9所述的实现上述跨移动终端的native能力开发方法的装置,其特征在于,所述结果回调模块进一步包括:
能力执行模块:用于使所述能力组件执行能力逻辑并得到能力执行结果;
装载返回模块:用于使所述能力组件携带所述能力执行结果和回调id,通过装载url执行js函数将其返回给webview;
结果传送模块:用于使所述webview将所述回调id和能力执行结果传给所述js/native调用代理对象;
回调方法寻找模块:用于使所述js/native调用代理对象通过所述回调id找到对应的回调方法;
结果回调基础能力模块:用于使所述js/native调用代理对象通过所述回调方法将所述能力执行结果回调给所述基础能力js;
回调应用模块:用于使所述基础能力js回调给所述应用。
CN201310706068.7A 2013-12-19 2013-12-19 一种跨移动终端的native能力开发方法及装置 Active CN103677843B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310706068.7A CN103677843B (zh) 2013-12-19 2013-12-19 一种跨移动终端的native能力开发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310706068.7A CN103677843B (zh) 2013-12-19 2013-12-19 一种跨移动终端的native能力开发方法及装置

Publications (2)

Publication Number Publication Date
CN103677843A true CN103677843A (zh) 2014-03-26
CN103677843B CN103677843B (zh) 2017-05-10

Family

ID=50315510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310706068.7A Active CN103677843B (zh) 2013-12-19 2013-12-19 一种跨移动终端的native能力开发方法及装置

Country Status (1)

Country Link
CN (1) CN103677843B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123157A (zh) * 2014-07-17 2014-10-29 北京京东尚科信息技术有限公司 一种移动终端的跨平台业务逻辑定制方法和装置
CN104461575A (zh) * 2014-12-26 2015-03-25 北京华电万通科技有限公司 一种网页脚本语言跨移动操作系统平台原生接口调用的装置及方法
CN105204875A (zh) * 2014-06-11 2015-12-30 腾讯科技(深圳)有限公司 网页调用native功能的方法和系统
CN106126284A (zh) * 2016-06-21 2016-11-16 东软集团股份有限公司 用于应用程序ui显示的方法及装置
CN106775768A (zh) * 2017-01-13 2017-05-31 深圳市路通网络技术有限公司 Native代码调用系统、方法及APP混合开发系统
CN107291482A (zh) * 2016-03-30 2017-10-24 阿里巴巴集团控股有限公司 应用程序中页面内容的显示方法和装置
CN107895120A (zh) * 2017-11-06 2018-04-10 聚好看科技股份有限公司 跨平台应用中数据处理方法、装置、电子设备和存储介质
CN108595166A (zh) * 2018-05-09 2018-09-28 中国科学院计算技术研究所 一种分布式物联网应用执行引擎实现方法及系统
CN108664507A (zh) * 2017-03-31 2018-10-16 武汉斗鱼网络科技有限公司 用户信息处理方法和装置
CN108874554A (zh) * 2017-05-09 2018-11-23 腾讯科技(深圳)有限公司 信息通信方法及装置
CN109271155A (zh) * 2018-09-11 2019-01-25 Oppo广东移动通信有限公司 游戏平台的能力调用方法及相关产品
CN110955430A (zh) * 2018-09-26 2020-04-03 北京字节跳动网络技术有限公司 应用程序原生能力的调用方法、装置及电子设备
CN112965737A (zh) * 2019-11-27 2021-06-15 亚信科技(南京)有限公司 一种业务功能调用方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309660B (zh) * 2013-05-27 2016-08-17 北京尚友通达信息技术有限公司 移动应用跨平台开发方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105204875A (zh) * 2014-06-11 2015-12-30 腾讯科技(深圳)有限公司 网页调用native功能的方法和系统
CN105204875B (zh) * 2014-06-11 2019-08-06 腾讯科技(深圳)有限公司 网页调用native功能的方法和系统
CN104123157A (zh) * 2014-07-17 2014-10-29 北京京东尚科信息技术有限公司 一种移动终端的跨平台业务逻辑定制方法和装置
CN104123157B (zh) * 2014-07-17 2017-08-29 北京京东尚科信息技术有限公司 一种移动终端的跨平台业务逻辑定制方法和装置
CN104461575B (zh) * 2014-12-26 2017-11-10 北京华电万通科技有限公司 一种网页脚本语言跨移动操作系统平台原生接口调用的装置及方法
CN104461575A (zh) * 2014-12-26 2015-03-25 北京华电万通科技有限公司 一种网页脚本语言跨移动操作系统平台原生接口调用的装置及方法
CN107291482A (zh) * 2016-03-30 2017-10-24 阿里巴巴集团控股有限公司 应用程序中页面内容的显示方法和装置
CN106126284A (zh) * 2016-06-21 2016-11-16 东软集团股份有限公司 用于应用程序ui显示的方法及装置
CN106126284B (zh) * 2016-06-21 2019-05-10 东软集团股份有限公司 用于应用程序ui显示的方法及装置
CN106775768A (zh) * 2017-01-13 2017-05-31 深圳市路通网络技术有限公司 Native代码调用系统、方法及APP混合开发系统
CN108664507B (zh) * 2017-03-31 2022-03-22 武汉斗鱼网络科技有限公司 用户信息处理方法和装置
CN108664507A (zh) * 2017-03-31 2018-10-16 武汉斗鱼网络科技有限公司 用户信息处理方法和装置
CN108874554A (zh) * 2017-05-09 2018-11-23 腾讯科技(深圳)有限公司 信息通信方法及装置
CN107895120A (zh) * 2017-11-06 2018-04-10 聚好看科技股份有限公司 跨平台应用中数据处理方法、装置、电子设备和存储介质
CN108595166B (zh) * 2018-05-09 2020-12-11 中国科学院计算技术研究所 一种分布式物联网应用执行引擎实现方法及系统
CN108595166A (zh) * 2018-05-09 2018-09-28 中国科学院计算技术研究所 一种分布式物联网应用执行引擎实现方法及系统
CN109271155A (zh) * 2018-09-11 2019-01-25 Oppo广东移动通信有限公司 游戏平台的能力调用方法及相关产品
CN110955430A (zh) * 2018-09-26 2020-04-03 北京字节跳动网络技术有限公司 应用程序原生能力的调用方法、装置及电子设备
CN112965737A (zh) * 2019-11-27 2021-06-15 亚信科技(南京)有限公司 一种业务功能调用方法及装置

Also Published As

Publication number Publication date
CN103677843B (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN103677843A (zh) 一种跨移动终端的native能力开发方法及装置
CN104239071A (zh) 一种基于通用组件和中转服务的跨平台移动应用开发框架系统
CN103268230B (zh) 用于构建可拓展服务的云计算信息管理平台的方法
CN103945000A (zh) 一种负载均衡方法及负载均衡器
CA2539460A1 (en) System and method for dynamic version management of applications
CN110737508A (zh) 一种基于浪潮云的云容器服务网络系统及实现方法
CN113596110A (zh) 一种面向异构云的云原生微服务平台
CN110311948B (zh) 容器/容器组间的通信方法及基于此的容器云网络系统
CN110297641A (zh) 基于kubernetes的应用编排部署方法
CN104636329A (zh) 一种跨平台大规模异构数据的统一管理方法
CN103546571A (zh) 一种平台即服务实现方法及装置
CN104461564A (zh) 一种基于字体生成图标的方法及装置
CN107450928A (zh) 一种基于缓存技术的混合开发方法
CN107528924A (zh) 一种分布式集群元数据服务部署方法及系统
Singh et al. Dimensions and issues of mobile agent technology
CN105959420A (zh) 多客户端元数据同步更新方法及系统
CN105975277A (zh) 一种基于模板的混合云弹性伸缩组构建方法
CN105549964A (zh) 页面的显示方法和系统
CN107454148B (zh) 一种面向战术边缘的移动云指控系统
CN105024938A (zh) 一种移动负载均衡方法和系统
CN102722377A (zh) 基于ace框架的网络视频应用处理系统
CN104144210A (zh) 数据服务自动构建的方法及系统
CN103561113B (zh) Web Service接口的生成方法及装置
CN102945264A (zh) 智能启用分布式事务的方法
CN104486444A (zh) 云管理平台的异构api转化系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SHENZHEN IS BLUE TO INSULT THE SOFTWARE LIMITED CO

Free format text: FORMER OWNER: SHENZHEN MAIQIAO TECHNOLOGY CO., LTD.

Effective date: 20150408

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518067 SHENZHEN, GUANGDONG PROVINCE TO: 518000 SHENZHEN, GUANGDONG PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20150408

Address after: 518000 Guangdong city of Shenzhen province Nanshan District sparrow Ridge Road 7 China Metallurgical Science and Technology Building 5 floor A District

Applicant after: Shenzhen Landray Software Co., Ltd.

Address before: Nanshan District Software Park Tower No. 10128 Nanshan District Shennan Road Shenzhen City, Guangdong province 518067 2901, 2902, 2910

Applicant before: SHENZHEN MIBRIDGE TECHNOLOGY CO., LTD.

GR01 Patent grant
GR01 Patent grant