CN112035097A - 基于银河锐华操作系统的c++适配层 - Google Patents

基于银河锐华操作系统的c++适配层 Download PDF

Info

Publication number
CN112035097A
CN112035097A CN202010866101.2A CN202010866101A CN112035097A CN 112035097 A CN112035097 A CN 112035097A CN 202010866101 A CN202010866101 A CN 202010866101A CN 112035097 A CN112035097 A CN 112035097A
Authority
CN
China
Prior art keywords
plug
library
callback
interface
calling
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
CN202010866101.2A
Other languages
English (en)
Other versions
CN112035097B (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.)
CETC 32 Research Institute
Original Assignee
CETC 32 Research Institute
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 CETC 32 Research Institute filed Critical CETC 32 Research Institute
Priority to CN202010866101.2A priority Critical patent/CN112035097B/zh
Publication of CN112035097A publication Critical patent/CN112035097A/zh
Application granted granted Critical
Publication of CN112035097B publication Critical patent/CN112035097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基于银河锐华操作系统的C++适配层,包括:C++插件库:根据预设的插件库的基类,C++插件库继承该插件库的基类并根据具体功能需求实现桥接类,桥接类作为C++插件库接受JS的调用指令的入口;插件库模块管理器:将每个C++插件库作为一个模块进行动态管理,保存有系统对C++插件库调用所需的信息;插件对象管理器:每个应用将独立拥有一个专属于该应用进程的插件对象管理器,插件对象管理器向应用封装接口,应用通过所述接口与C++插件库进行交互。本发明在JS端能够通过简单的系统接口调用便能够实现与C++代码的交互,不需要引入额外的第三方框架,从而使得应用对C++代码的调用变得更加简单与安全。

Description

基于银河锐华操作系统的C++适配层
技术领域
本发明涉及,具体地,涉及基于银河锐华操作系统的C++适配层。
背景技术
目前存在的JS/C++混合开发技术使用较多的为nodejs框架以及QWebKit。
对于nodejs框架来说,若要进行JS与C++进行混合编译,需要nodejs扩展模块开发支持包以及node-gyp构建自动化工具支持编译,而这些模块均需要根据不用移动设备进行移植,从而带来较大的工作量以及不可控性,可移植性差。此外,在使用nodejs框架构建工程时,需要编写node包管理文件以及模块描述文件进行大量编译配置工作,使得代码的开发难度,工作量增加。
而QWebKit则是用于在基于QT框架开发的应用中嵌入Web控件并与之进行交互,并不能满足在基于Html5/CSS/JS框架开发的应用中进行JS/C++混合开发的需求。
C++适配层通过扩展系统接口的方式实现JS与C++的交互调用,C++代码的编译完全使用系统的编译器进行,使得C++的开发与编译简单易行,不需要由于C++适配层需要运行不同的移动设备上而产生额外的移植工作;此外系统接口的方式也使得在JS端与C++代码的交互变得简单,开发难度大大降低。
由于Html5/CSS/JS框架的使用使得前段开发变得更加简单、高效,对前端的布局、字体、颜色、背景等效果实现了更加精确的控制,且维护成本更低,这些优势使得Html5/CSS/JS成为前端开发的趋势。但是对于运行在移动操作系统中的应用尤其是系统应用来说,在很多时候需要针对某些特色硬件设备进行操控与访问,而Html5/CSS/JS框架很难直接与硬件驱动进行对接;此外,对于一些算法或功能,在很多情况下存在即有的C/C++实现,而对其进行JS移植则存在很大的工作量。这些问题都使得在移动操作系统上实现JS/C++的混合应用开发变得非常必要。而C++适配层的实现能够在对现有的C++代码进行简单封装后实现与JS的交互调用,从而最大限度的实现代码的复用,减少开发成本。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于银河锐华操作系统的C++适配层。
根据本发明提供的一种基于银河锐华操作系统的C++适配层,包括:
C++插件库:根据预设的插件库的基类,C++插件库继承该插件库的基类并根据具体功能需求实现桥接类,桥接类作为C++插件库接受JS的调用指令的入口;
插件库模块管理器:将每个C++插件库作为一个模块进行动态管理,保存有系统对C++插件库调用所需的信息;
插件对象管理器:每个应用将独立拥有一个专属于该应用进程的插件对象管理器,插件对象管理器向应用封装接口,应用通过所述接口与C++插件库进行交互。
优选地,所述桥接类的主要功能包括:
插件的初始化、插件方法调用;
所述实现桥接类的方法包括:
调用方法的重载实现,调用方法接受JS传递的操作指令,以及指令参数,根据指令插件库进行相应操作决策,并将执行最终结果返回到JS。
优选地,还包括插件回调方法:
通过ID唯一标示每一次回调过程,并使用一个字符串参数传递回调参数,字符串通用需要C++插件库根据需要进行编解码。
优选地,所述统对C++插件库调用所需的信息包括:
插件库句柄:用于保存C++插件库的句柄;
插件库桥接类实例指针:用于保存桥接类的实例;
回调方法指针:用于保存C++插件库发起对JS调用的入口方法;
注册回调指针方法:用于系统向插件库中进行回调方法的注册;
删除回调指针方法:用于系统移出插件库中的回调方法;
调用方法:用于系统发起对C++插件库的调用;
每当发起加载一个C++插件库的请求时,系统为该插件库动态生成插件模块进行保存;
当使用JS进行C++库调用时,插件库模块管理器将通过C++插件库的句柄调用调用方法;
若C++插件库需要进行回调,需要首先通过注册回调指针方法向插件库中注册回调方法指针进行保存,插件库通过插件模块中保存的回调方法指针进行回调。
优选地,所述插件对象管理器向上层应用封装的接口包括:
C++插件库初始化接口init:用于动态加载指定C++插件库,创建该库的模块实例;C++插件库调用接口exec:用于调用C++插件库中的指定功能;
注册回调方法接口addListener:用于注册接受并处理C++插件库中回调事件的方法;
移除回调方法接口removeListener:用于停止接受与处理C++插件库中的回调事件;
检测库是否加载接口isloadedlibrary:用于检测某指定C++插件库是否被成功加载;
卸载C++插件库接口unloadlibrary:用于卸载指定的C++插件库。
优选地,所述C++适配层通过接口的方式向上层应用提供与C++插件库的交互调用功能。
优选地,所述C++适配层通过接口的方式向上层应用提供与C++插件库的交互调用功能包括:
应用通过C++插件库初始化接口init加载指定路径的C++插件库,并为该C++插件库指定一个唯一的标示符;
通过调用执行方法exec指定操作字段,C++插件库根据操作字段进行指定操作;
上层应用调用注册回调方法接口addListener,用于接收处理C++插件库的回调事件,回调事件中包括用于标示每个回调的唯一ID,以及传递的参数,回调事件处理方法通过识别不同的回调ID来进行不同的处理;
当应用于C++插件库的交互调用结束时,通过调用移除回调方法接口removeListener接口结束C++插件库回调的监听,通过调用卸载C++插件库接口unloadlibrary卸载指定C++插件库。
与现有技术相比,本发明具有如下的有益效果:
C++适配层通过对C++代码进行特定封装后能够与JS代码进行交互调用,这就使得在移动操作系统中基于Html5/CSS/JS开发的应用能够方便、安全的与底层硬件设备进行交互,也使得一些通过C/C++实现的即有功能模块能够快速移植,这些都使得应用开发的难度降低,工作量减少,功能更加多样化,也使得移动终端中在针对特殊外设开发特殊应用时不需要进行操作系统的定制,从而缩短开发周期,提高应用的可移植性。
在JS端能够通过简单的系统接口调用便能够实现与C++代码的交互,不需要引入额外的第三方框架,从而使得应用对C++代码的调用变得更加简单与安全。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明提供的C++适配层的架构示意图。
图2为本发明提供的上层应用与C++插件库的交互流程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种基于银河锐华操作系统的C++适配层,包括:
C++插件库:根据预设的插件库的基类,C++插件库继承该插件库的基类并根据具体功能需求实现桥接类,桥接类作为C++插件库接受JS的调用指令的入口;
插件库模块管理器:将每个C++插件库作为一个模块进行动态管理,保存有系统对C++插件库调用所需的信息;
插件对象管理器:每个应用将独立拥有一个专属于该应用进程的插件对象管理器,插件对象管理器向应用封装接口,应用通过所述接口与C++插件库进行交互。
具体地,所述桥接类的主要功能包括:
插件的初始化、插件方法调用;
所述实现桥接类的方法包括:
调用方法的重载实现,调用方法接受JS传递的操作指令,以及指令参数,根据指令插件库进行相应操作决策,并将执行最终结果返回到JS。
具体地,还包括插件回调方法:
通过ID唯一标示每一次回调过程,并使用一个字符串参数传递回调参数,字符串通用需要C++插件库根据需要进行编解码。
具体地,所述统对C++插件库调用所需的信息包括:
插件库句柄:用于保存C++插件库的句柄;
插件库桥接类实例指针:用于保存桥接类的实例;
回调方法指针:用于保存C++插件库发起对JS调用的入口方法;
注册回调指针方法:用于系统向插件库中进行回调方法的注册;
删除回调指针方法:用于系统移出插件库中的回调方法;
调用方法:用于系统发起对C++插件库的调用;
每当发起加载一个C++插件库的请求时,系统为该插件库动态生成插件模块进行保存;
当使用JS进行C++库调用时,插件库模块管理器将通过C++插件库的句柄调用调用方法;
若C++插件库需要进行回调,需要首先通过注册回调指针方法向插件库中注册回调方法指针进行保存,插件库通过插件模块中保存的回调方法指针进行回调。
具体地,所述插件对象管理器向上层应用封装的接口包括:
C++插件库初始化接口init:用于动态加载指定C++插件库,创建该库的模块实例;C++插件库调用接口exec:用于调用C++插件库中的指定功能;
注册回调方法接口addListener:用于注册接受并处理C++插件库中回调事件的方法;
移除回调方法接口removeListener:用于停止接受与处理C++插件库中的回调事件;
检测库是否加载接口isloadedlibrary:用于检测某指定C++插件库是否被成功加载;
卸载C++插件库接口unloadlibrary:用于卸载指定的C++插件库。
具体地,所述C++适配层通过接口的方式向上层应用提供与C++插件库的交互调用功能。
具体地,所述C++适配层通过接口的方式向上层应用提供与C++插件库的交互调用功能包括:
应用通过C++插件库初始化接口init加载指定路径的C++插件库,并为该C++插件库指定一个唯一的标示符;
通过调用执行方法exec指定操作字段,C++插件库根据操作字段进行指定操作;
上层应用调用注册回调方法接口addListener,用于接收处理C++插件库的回调事件,回调事件中包括用于标示每个回调的唯一ID,以及传递的参数,回调事件处理方法通过识别不同的回调ID来进行不同的处理;
当应用于C++插件库的交互调用结束时,通过调用移除回调方法接口removeListener接口结束C++插件库回调的监听,通过调用卸载C++插件库接口unloadlibrary卸载指定C++插件库。
下面通过优选例,对本发明进行更为具体地说明。
优选例1:
本发明涉及在基于Html5/CSS/JS框架进行上层应用开发的操作系统中使用JS/C++进行混合开发的技术,尤其涉及在银河锐华移动操作系统中进行JS/C++混合应用开发的技术。
基于银河锐华操作系统的C++适配层通过插件的方式,动态加载用户按照特定方式实现的功能性C++插件库文件,并以系统接口的形式实现JS与C++插件库之间的交互调用。
C++适配层的架构图如下图1所示。
1、插件库:
用户需要按照特定方式进行C++插件库的开发。
C++适配层提供了一个插件库的基类,C++插件库应继承该基类根据具体功能需求实现一个桥接类,桥接类将作为C++插件库接受JS的调用指令的入口。桥接类的主要功能包括:插件的初始化、插件方法调用。继承插件库基类实现桥接类的关键在于调用方法的重载实现,调用方法接受JS传递的操作指令,以及指令参数,根据指令插件库进行相应操作决策,并将执行最终结果返回到JS。由于指令参数在数量以及类型上均存在不确定性,因此在C++插件库基类声明了一个字符串类型作为指令参数,需要用户根据自己的需要在传入时对参数列表进行编码,并在C++适配层中进行相应的解码工作,以保证参数正确的传递。
C++插件库需要按照约定声明一个全局插件实例,该实例将在C++插件库被加载时被初始化,该实例的指针向外提供用于进行插件库中的方法调用。
此外,C++适配层还提供一个全局方法用于插件回调。在该回调方法中,将通过ID唯一标示每一次回调过程,并使用一个字符串参数传递回调参数,字符串通用需要C++插件库根据需要进行编解码。
2、插件库模块管理器
插件库模块管理器将每个C++插件库作为一个模块进行动态管理,插件模块中保存有系统对该C++插件库调用所需的信息,具体如下:
插件库句柄:用于保存C++插件库的句柄。
插件库桥接类实例指针:用于保存桥接类的实例。
回调方法指针:用于保存C++插件库发起对JS调用的入口方法。
注册回调指针方法:用于系统向插件库中进行回调方法的注册。
删除回调指针方法:用于系统移出插件库中的回调方法。
调用方法:用于系统发起对C++插件库的调用。在该方法中,将通过保存的桥接类实例指针调用用户基于插件库基类实现的调用方法。
每当应用发起加载一个C++插件库的请求时,系统为该插件库动态生成插件模块进行保存;当应用使用JS进行C++库调用时,插件库模块管理器将通过C++插件库的句柄调用调用方法;若C++插件库需要进行回调,需要首先通过注册回调指针方法向插件库中注册回调方法指针进行保存,插件库通过插件模块中保存的回调方法指针进行回调。
3、插件对象管理器
每个应用将独立拥有一个专属于该应用进程的插件对象管理器,插件对象管理器向应用封装接口,应用通过这些接口与C++插件库进行交互。插件对象管理器向上层应用封装的主要接口包括:
C++插件库初始化接口(init):用于动态加载指定C++插件库,创建该库的模块实例;
C++插件库调用接口(exec):用于调用C++插件库中的指定功能;
注册回调方法接口(addListener):用于注册接受并处理C++插件库中回调事件的方法;
移除回调方法接口(removeListener):用于停止接受与处理C++插件库中的回调事件;
检测库是否加载接口(isloadedlibrary):用于检测某指定C++插件库是否被成功加载;
卸载C++插件库接口(unloadlibrary):用于卸载指定的C++插件库。
4、应用与C++插件库的交互调用
C++适配层通过接口的方式向上层应用提供与C++插件库的交互调用功能。
首先应用通过初始化接口(init)加载指定路径的C++插件库,并为该C++插件库指定一个唯一的标示符;再通过调用执行方法(exec)指定操作字段,C++插件库根据操作字段进行指定操作;上层应用注册回调事件处理方法(addListener),用于接收处理C++插件库的回调事件,回调事件中包括用于标示每个回调的唯一ID,以及传递的参数,回调事件处理方法通过识别不同的回调ID来进行不同的处理;当应用于C++插件库的交互调用结束时,通过调用删除回调监听(removeListener)接口结束C++插件库回调的监听,通过调用卸载库接口卸载指定C++插件库。上层应用与C++插件库的交互流程图如下图2所示。
优选例2:
C++插件库的实现
用户通过继承C++适配层提供的基类按照自己的功能需求实现C++插件类。该插件类的实现关键在于对方法Execute的重载实现,该方法的核心在于通过对指令参数的解析来选择需要执行的处理流程,并解析传入参数进行相应的处理。
一个简单的加、减运算C++插件库的实现。在该实现过程中,使用“加”、“减”作为操作指令,并将参数列表按照JSON格式进行解析。在桥接类的实现中,调用方法通过对指令的判断来明确此次调用过程为“加”或是“减”;然后通过解析JSON格式的传入参数;在进行相应的功能实现后将实现结果进行JSON封装后返回。
优选例3:
应用与C++插件库交互调用的实现
上层应用通过插件对象管理器加载C++插件库,并进行对C++插件库的调用,添加回调监听器来监听并处理C++插件库中的回调事件。
一个简单的对上述加、减运算C++插件库的交互JS示例如下所示。首先应用需要实例化一个插件库对象管理器,并调用初始化接口对C++插件库进行初始化;然后通过注册回调方法接口注册一个回调方法;最后将参数进行JSON格式封装后通过C++插件库调用接口进行具体功能的调用。
在本申请的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (7)

1.一种基于银河锐华操作系统的C++适配层,其特征在于,包括:
C++插件库:根据预设的插件库的基类,C++插件库继承该插件库的基类并根据具体功能需求实现桥接类,桥接类作为C++插件库接受JS的调用指令的入口;
插件库模块管理器:将每个C++插件库作为一个模块进行动态管理,保存有系统对C++插件库调用所需的信息;
插件对象管理器:每个应用将独立拥有一个专属于该应用进程的插件对象管理器,插件对象管理器向应用封装接口,应用通过所述接口与C++插件库进行交互。
2.根据权利要求1所述的基于银河锐华操作系统的C++适配层,其特征在于,所述桥接类的主要功能包括:
插件的初始化、插件方法调用;
所述实现桥接类的方法包括:
调用方法的重载实现,调用方法接受JS传递的操作指令,以及指令参数,根据指令插件库进行相应操作决策,并将执行最终结果返回到JS。
3.根据权利要求1所述的基于银河锐华操作系统的C++适配层,其特征在于,还包括插件回调方法:
通过ID唯一标示每一次回调过程,并使用一个字符串参数传递回调参数,字符串通用需要C++插件库根据需要进行编解码。
4.根据权利要求1所述的基于银河锐华操作系统的C++适配层,其特征在于,所述统对C++插件库调用所需的信息包括:
插件库句柄:用于保存C++插件库的句柄;
插件库桥接类实例指针:用于保存桥接类的实例;
回调方法指针:用于保存C++插件库发起对JS调用的入口方法;
注册回调指针方法:用于系统向插件库中进行回调方法的注册;
删除回调指针方法:用于系统移出插件库中的回调方法;
调用方法:用于系统发起对C++插件库的调用;
每当发起加载一个C++插件库的请求时,系统为该插件库动态生成插件模块进行保存;
当使用JS进行C++库调用时,插件库模块管理器将通过C++插件库的句柄调用调用方法;
若C++插件库需要进行回调,需要首先通过注册回调指针方法向插件库中注册回调方法指针进行保存,插件库通过插件模块中保存的回调方法指针进行回调。
5.根据权利要求1所述的基于银河锐华操作系统的C++适配层,其特征在于,所述插件对象管理器向上层应用封装的接口包括:
C++插件库初始化接口init:用于动态加载指定C++插件库,创建该库的模块实例;
C++插件库调用接口exec:用于调用C++插件库中的指定功能;
注册回调方法接口addListener:用于注册接受并处理C++插件库中回调事件的方法;
移除回调方法接口removeListener:用于停止接受与处理C++插件库中的回调事件;
检测库是否加载接口isloadedlibrary:用于检测某指定C++插件库是否被成功加载;
卸载C++插件库接口unloadlibrary:用于卸载指定的C++插件库。
6.根据权利要求5所述的基于银河锐华操作系统的C++适配层,其特征在于,所述C++适配层通过接口的方式向上层应用提供与C++插件库的交互调用功能。
7.根据权利要求6所述的基于银河锐华操作系统的C++适配层,其特征在于,所述C++适配层通过接口的方式向上层应用提供与C++插件库的交互调用功能包括:
应用通过C++插件库初始化接口init加载指定路径的C++插件库,并为该C++插件库指定一个唯一的标示符;
通过调用执行方法exec指定操作字段,C++插件库根据操作字段进行指定操作;
上层应用调用注册回调方法接口addListener,用于接收处理C++插件库的回调事件,回调事件中包括用于标示每个回调的唯一ID,以及传递的参数,回调事件处理方法通过识别不同的回调ID来进行不同的处理;
当应用于C++插件库的交互调用结束时,通过调用移除回调方法接口removeListener接口结束C++插件库回调的监听,通过调用卸载C++插件库接口unloadlibrary卸载指定C++插件库。
CN202010866101.2A 2020-08-25 2020-08-25 基于银河锐华操作系统的c++适配层的装置 Active CN112035097B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010866101.2A CN112035097B (zh) 2020-08-25 2020-08-25 基于银河锐华操作系统的c++适配层的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010866101.2A CN112035097B (zh) 2020-08-25 2020-08-25 基于银河锐华操作系统的c++适配层的装置

Publications (2)

Publication Number Publication Date
CN112035097A true CN112035097A (zh) 2020-12-04
CN112035097B CN112035097B (zh) 2023-10-13

Family

ID=73580839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010866101.2A Active CN112035097B (zh) 2020-08-25 2020-08-25 基于银河锐华操作系统的c++适配层的装置

Country Status (1)

Country Link
CN (1) CN112035097B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116820431A (zh) * 2023-08-30 2023-09-29 山东威尔数据股份有限公司 具有全功能Node.js的嵌入式应用开发及运行方法

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464805A (zh) * 2008-12-24 2009-06-24 中兴通讯股份有限公司 一种插件管理方法及其系统
CN101539859A (zh) * 2008-10-10 2009-09-23 华南理工大学 一种基于uCLinux的嵌入式Konqueor浏览器的插件开发方法
CN102520967A (zh) * 2011-12-28 2012-06-27 深圳市融创天下科技股份有限公司 一种创建与使用移动平台插件的方法、系统和移动终端
CN102880456A (zh) * 2012-07-31 2013-01-16 北京奇虎科技有限公司 一种创建插件方法及装置
US20140109115A1 (en) * 2012-10-16 2014-04-17 Daryl Low Hybrid applications
CN104461575A (zh) * 2014-12-26 2015-03-25 北京华电万通科技有限公司 一种网页脚本语言跨移动操作系统平台原生接口调用的装置及方法
CN105389222A (zh) * 2015-12-15 2016-03-09 中国科学院声学研究所 一种动态调用原生接口的方法、装置和系统
CN106951233A (zh) * 2017-03-02 2017-07-14 广州天高软件科技有限公司 混合模式智能手机应用开发框架
CN108228155A (zh) * 2017-12-26 2018-06-29 江苏润和软件股份有限公司 EasyApp移动开发平台和开发方法
CN109542536A (zh) * 2018-11-12 2019-03-29 北京许继电气有限公司 面向对象的插件数据处理方法
CN109634751A (zh) * 2018-10-19 2019-04-16 深圳市网旭科技有限公司 一种利用electron框架实现应用层和底层通信的方法
CN109857515A (zh) * 2018-12-20 2019-06-07 深圳前海微众银行股份有限公司 桥接通信方法、装置、设备及计算机可读存储介质
CN109976831A (zh) * 2019-03-28 2019-07-05 山东浪潮通软信息科技有限公司 一种JavaScript和原生APP之间数据交互方法
CN110908704A (zh) * 2019-11-14 2020-03-24 亚信科技(中国)有限公司 一种移动端跨平台原生功能的调用方法及装置

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539859A (zh) * 2008-10-10 2009-09-23 华南理工大学 一种基于uCLinux的嵌入式Konqueor浏览器的插件开发方法
CN101464805A (zh) * 2008-12-24 2009-06-24 中兴通讯股份有限公司 一种插件管理方法及其系统
CN102520967A (zh) * 2011-12-28 2012-06-27 深圳市融创天下科技股份有限公司 一种创建与使用移动平台插件的方法、系统和移动终端
CN102880456A (zh) * 2012-07-31 2013-01-16 北京奇虎科技有限公司 一种创建插件方法及装置
US20140109115A1 (en) * 2012-10-16 2014-04-17 Daryl Low Hybrid applications
CN104461575A (zh) * 2014-12-26 2015-03-25 北京华电万通科技有限公司 一种网页脚本语言跨移动操作系统平台原生接口调用的装置及方法
CN105389222A (zh) * 2015-12-15 2016-03-09 中国科学院声学研究所 一种动态调用原生接口的方法、装置和系统
CN106951233A (zh) * 2017-03-02 2017-07-14 广州天高软件科技有限公司 混合模式智能手机应用开发框架
CN108228155A (zh) * 2017-12-26 2018-06-29 江苏润和软件股份有限公司 EasyApp移动开发平台和开发方法
CN109634751A (zh) * 2018-10-19 2019-04-16 深圳市网旭科技有限公司 一种利用electron框架实现应用层和底层通信的方法
CN109542536A (zh) * 2018-11-12 2019-03-29 北京许继电气有限公司 面向对象的插件数据处理方法
CN109857515A (zh) * 2018-12-20 2019-06-07 深圳前海微众银行股份有限公司 桥接通信方法、装置、设备及计算机可读存储介质
CN109976831A (zh) * 2019-03-28 2019-07-05 山东浪潮通软信息科技有限公司 一种JavaScript和原生APP之间数据交互方法
CN110908704A (zh) * 2019-11-14 2020-03-24 亚信科技(中国)有限公司 一种移动端跨平台原生功能的调用方法及装置

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
"基于Hybrid App的移动应用工具集的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 138 - 1727 *
SUNSCHEUNG: "【js设计模式笔记---桥接模式】", pages 1 - 7, Retrieved from the Internet <URL:https://blog.csdn.net/sunscheung/article/details/52682726> *
YONGHONG WU等: "Porting Mobile Web Application Engine to the Android Platform", 2010 10TH IEEE INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION TECHNOLOGY, pages 2157 - 2161 *
八里台行脚僧: "关于jsb中js与c++的相互调用", pages 1 - 3, Retrieved from the Internet <URL:http://blog.csdn.net/balitaimonk/article/details/9970147> *
姜艳: "一种基于JavaScript框架的混合应用开发技术", 网络新媒体技术, no. 04, pages 59 - 64 *
张旭昕等: "一种基于重用和快速开发的系统控制软件架构设计", 电子信息对抗技术, no. 05, pages 76 - 80 *
徐隆龙等: "移动混合开发框架", 计算机系统应用, pages 53 - 59 *
杨艳云: "基于Hybrid_App的移动应用工具集的设计与实现", 中国优秀硕士学位论文全文数据库 信息科技辑, pages 138 - 1727 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116820431A (zh) * 2023-08-30 2023-09-29 山东威尔数据股份有限公司 具有全功能Node.js的嵌入式应用开发及运行方法
CN116820431B (zh) * 2023-08-30 2023-11-14 山东威尔数据股份有限公司 具有全功能Node.js的嵌入式应用开发及运行方法

Also Published As

Publication number Publication date
CN112035097B (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
CN110673853B (zh) 一种编译方法、装置及系统
CN108062252B (zh) 一种信息交互方法、对象管理方法及装置和系统
CN107045438B (zh) 一种应用顶层视图处理方法、装置及组件
CN105242962A (zh) 基于异构众核的轻量级线程快速触发方法
CN101025698A (zh) 强制性地终止输入/输出操作阻止的线程的设备和方法
CN109358839B (zh) 一种嵌入式单片机软件开发的方法及存储介质
CN111209122A (zh) 接口调用方法、装置、电子设备及存储介质
CN112463123A (zh) 任务编译方法、装置、网络节点、系统及存储介质
CN111443919B (zh) Dsp多核处理器上sca核心框架的实现方法
WO2023231320A1 (zh) 无栈协程的实现方法、装置、设备及存储介质
CN113703859A (zh) 一种动态链接库注入方法、装置、设备及存储介质
CN113127050A (zh) 一种应用资源打包过程监控方法、装置、设备和介质
CN112035097A (zh) 基于银河锐华操作系统的c++适配层
CN115268998A (zh) 第三方app中引入小程序的系统、方法、装置及介质
CN114138363A (zh) 程序数据调用方法、装置、设备及存储介质
CN111507676A (zh) 业务订单流程创建和实现方法、装置、存储介质和系统
CN114281404B (zh) 一种工控机算法代码的移植方法及装置
CN113064737B (zh) 使软件通信体系结构的组件在多核处理器并行运行的方法
US20140047410A1 (en) Method and system for semiconductor host simulation automation
US10607037B2 (en) Method for managing programmable logic circuits for applications invoking dynamic libraries
CN113515299A (zh) 软件开发工具包sdk热升级方法、装置、设备及存储介质
WO2022046198A1 (en) Thread-local return structure for asynchronous state machine
CN106919436B (zh) Dalvik虚拟机实现多任务的方法、装置及虚拟机
CN110990167A (zh) 前端通信方法及装置、存储介质及电子设备
CN110908665A (zh) jenkins构建插件开发优化方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant