CN115268998A - 第三方app中引入小程序的系统、方法、装置及介质 - Google Patents
第三方app中引入小程序的系统、方法、装置及介质 Download PDFInfo
- Publication number
- CN115268998A CN115268998A CN202210833937.1A CN202210833937A CN115268998A CN 115268998 A CN115268998 A CN 115268998A CN 202210833937 A CN202210833937 A CN 202210833937A CN 115268998 A CN115268998 A CN 115268998A
- Authority
- CN
- China
- Prior art keywords
- applet
- source code
- party app
- cross
- platform
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-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)
- Stored Programmes (AREA)
Abstract
本发明公开了第三方APP中引入小程序的系统、方法、装置及介质,本发明实施例中,跨平台应用模块获取跨平台小程序源代码,并将跨平台小程序源代码转换为第三方APP小程序源代码,然后向第三方APP提供第三方APP小程序源代码。第三方APP集成小程序容器SDK,接收到转换得到的第三方APP小程序源代码之后,利用小程序容器SDK加载并运行所述第三方APP小程序源代码。从而实现了一种将小程序引入第三方APP的技术方案。
Description
技术领域
本发明涉及APP软件工程开发技术领域,尤其涉及第三方APP中引入小程序的系统、方法、装置及介质。
背景技术
随着小程序的成功普及,各大互联网厂商陆续推出了自己的小程序。对于小程序开发商来说,如果要在十几个端上开发小程序效率非常低下。而且,对于一些应用程序来说,存在不支持小程序这种模式的问题。因此目前亟需一种为第三方APP引入小程序的方案。
发明内容
本发明实施例提供了第三方APP中引入小程序的系统、方法、装置及介质,用以提供一种为第三方APP引入小程序的技术方案。
本发明实施例提供了一种第三方APP中引入小程序的系统,所述系统包括:跨平台应用模块和第三方APP;所述第三方APP中集成小程序容器SDK;
所述跨平台应用模块,用于获取跨平台小程序源代码,将所述跨平台小程序源代码转换为第三方APP小程序源代码,向所述第三方APP提供所述第三方APP小程序源代码;
所述第三方APP,用于利用所述小程序容器SDK加载并运行所述第三方APP小程序源代码。
进一步地,所述跨平台应用模块包括:多端统一开发单元和第三方APP迁移单元;
所述多端统一开发单元,用于编写所述跨平台小程序源代码;
所述第三方APP迁移单元,用于对所述多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方APP的组件、API接口、修改项目依赖、对齐生命周期。
进一步地,所述第三方APP迁移单元,具体用于适配所述第三方APP的API接口与所述跨平台应用模块的API接口在入参、出参、回调函数和API接口名称的差异。
进一步地,所述跨平台应用模块还包括:逆向迁移单元;
所述逆向迁移单元,用于获取待迁移小程序的源代码,将所述待迁移小程序的源代码转换为跨平台小程序源代码。
进一步地,所述跨平台应用模块,具体用于对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方APP小程序源代码;
所述逆向迁移单元,具体用于对所述待迁移小程序的源代码进行语法分析、语法树构建、语法树转换生成所述跨平台小程序源代码。
进一步地,所述第三方APP,具体用于在所述小程序容器SDK上,利用系统原生接口和组件框架template对所述第三方APP小程序源代码动态递归渲染DOM树,展示出小程序页面。
进一步地,所述小程序容器SDK是将待迁移小程序框架或跨平台小程序框架打包生成的。
另一方面,本发明实施例提供了一种第三方APP中引入小程序的方法,所述方法包括:
第三方APP获取跨平台应用模块提供的第三方APP小程序源代码,其中,所述第三方APP小程序源代码是所述跨平台应用模块将跨平台小程序源代码转换得到的;
所述第三方APP利用自身集成的小程序容器SDK加载并运行所述第三方APP小程序源代码。
进一步地,所述利用自身集成的小程序容器SDK加载并运行所述第三方APP小程序源代码包括:
在所述小程序容器SDK上,利用系统原生接口和组件框架template对所述第三方APP小程序源代码动态递归渲染DOM树,展示出小程序页面。
另一方面,本发明实施例提供了一种第三方APP中引入小程序的方法,所述方法包括:
跨平台应用模块获取跨平台小程序源代码,将所述跨平台小程序源代码转换为第三方APP小程序源代码,向第三方APP提供所述第三方APP小程序源代码,以使所述第三方APP利用自身集成的小程序容器SDK加载并运行所述第三方APP小程序源代码。
进一步地,所述获取跨平台小程序源代码包括:
获取跨平台应用模块中的多端统一开发单元中编写的所述跨平台小程序源代码。
进一步地,所述获取跨平台小程序源代码包括:
获取跨平台应用模块中的逆向迁移单元提供的所述跨平台小程序源代码,其中,所述跨平台小程序源代码是所述逆向迁移单元获取待迁移小程序的源代码,并将所述待迁移小程序的源代码转换得到的。
进一步地,所述将所述跨平台小程序源代码转换为第三方APP小程序源代码包括:
对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方APP小程序源代码。
进一步地,所述将所述跨平台小程序源代码转换为第三方APP小程序源代码之前,所述方法还包括:
通过所述跨平台应用模块中的第三方APP迁移单元对所述跨平台应用模块中的多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方APP的组件、API接口、修改项目依赖、对齐生命周期。
进一步地,所述适配所述第三方APP的API接口包括:
适配所述第三方APP的API接口与所述跨平台应用模块的API接口在入参、出参、回调函数和API接口名称的差异。
另一方面,本发明实施例提供了一种第三方APP中引入小程序的装置,所述装置包括:
第一获取子单元,用于获取跨平台应用模块提供的第三方APP小程序源代码,其中,所述第三方APP小程序源代码是所述跨平台应用模块将跨平台小程序源代码转换得到的;
加载运行子单元,用于利用小程序容器SDK加载并运行所述第三方APP小程序源代码。
进一步地,所述加载运行子单元,具体用于在所述小程序容器SDK上,利用系统原生接口和组件框架template对所述第三方APP小程序源代码动态递归渲染DOM树,展示出小程序页面。
另一方面,本发明实施例提供了一种第三方APP中引入小程序的装置,所述装置包括:
第二获取子单元,用于获取跨平台小程序源代码;
源代码转换子单元,用于将所述跨平台小程序源代码转换为第三方APP小程序源代码,向第三方APP提供所述第三方APP小程序源代码,以使所述第三方APP利用自身集成的小程序容器SDK加载并运行所述第三方APP小程序源代码。
进一步地,所述第二获取子单元,具体用于获取跨平台应用模块中的多端统一开发单元中编写的所述跨平台小程序源代码。
进一步地,所述第二获取子单元,还用于获取跨平台应用模块中的逆向迁移单元提供的所述跨平台小程序源代码,其中,所述跨平台小程序源代码是所述逆向迁移单元获取待迁移小程序的源代码,并将所述待迁移小程序的源代码转换得到的。
进一步地,所述源代码转换子单元,具体用于对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方APP小程序源代码。
进一步地,所述源代码转换子单元,还用于通过所述跨平台应用模块中的第三方APP迁移单元对所述跨平台应用模块中的多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方APP的组件、API接口、修改项目依赖、对齐生命周期。
进一步地,所述源代码转换子单元,具体用于适配所述第三方APP的API接口与所述跨平台应用模块的API接口在入参、出参、回调函数和API接口名称的差异。
另一方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的方法步骤。
另一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法步骤。
本发明实施例提供了一种第三方APP中引入小程序系统、方法、装置及介质,所述系统包括:跨平台应用模块和第三方APP;所述第三方APP中集成小程序容器SDK;所述跨平台应用模块,用于获取跨平台小程序源代码,将所述跨平台小程序源代码转换为第三方APP小程序源代码,向所述第三方APP提供所述第三方APP小程序源代码;所述第三方APP,用于利用所述小程序容器SDK加载并运行所述第三方APP小程序源代码。
上述的技术方案具有如下优点或有益效果:
本发明实施例中,跨平台应用模块获取跨平台小程序源代码,并将跨平台小程序源代码转换为第三方APP小程序源代码,然后向第三方APP提供第三方APP小程序源代码。第三方APP集成小程序容器SDK,接收到转换得到的第三方APP小程序源代码之后,利用小程序容器SDK加载并运行所述第三方APP小程序源代码。从而实现了一种将小程序快速、方便引入第三方APP的技术方案。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的第三方APP中引入小程序的系统结构示意图;
图2为本发明实施例提供的第三方APP中引入小程序的另一系统结构示意图;
图3为本发明实施例提供的第三方APP中引入小程序的再一系统结构示意图;
图4为本发明实施例提供的第三方APP中引入小程序的过程示意图;
图5为本发明实施例提供的第三方APP中引入小程序的另一过程示意图;
图6为本发明实施例提供的第三方APP中引入小程序的装置结构示意图;
图7为本发明实施例提供的第三方APP中引入小程序的另一装置结构示意图;
图8为本发明实施例提供的电子设备结构示意图。
具体实施方式
下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例提供的第三方应用程序APP中引入小程序的系统结构示意图,该系统包括:跨平台应用模块11和第三方APP12;所述第三方APP12中集成小程序容器SDK121;
所述跨平台应用模块11,用于获取跨平台小程序源代码,将所述跨平台小程序源代码转换为第三方APP小程序源代码,向所述第三方APP12提供所述第三方APP小程序源代码;
所述第三方APP12,用于利用所述小程序容器SDK121加载并运行所述第三方APP小程序源代码。
如图1所示,第三方APP中引入小程序的系统包括:跨平台应用模块11、第三方APP12。跨平台应用模块11和第三方APP12连接,第三方APP12中集成小程序容器SDK121。跨平台应用模块11获取跨平台小程序源代码,将跨平台小程序源代码转换为第三方APP小程序源代码,再将第三方APP小程序源代码发送至第三方APP12。第三方APP12集成小程序容器SDK121,小程序容器SDK是将待迁移小程序框架或跨平台小程序框架打包生成的。采用小程序容器SDK为第三方APP提供小程序框架的平台能力。若第三方APP已有小程序框架。则无需再集成小程序容器SDK,第三方APP自身具备小程序的应用生态;若第三方APP没有小程序框架,需要集成小程序容器SDK。小程序容器SDK的架构与小程序架构相同,通用语言容器承载小程序的内容,UI组件和API接口为小程序提供底层系统能力,jsbridge实现web语法与系统原生语法的转换。第三方APP利用所述小程序容器SDK加载并运行所述第三方APP小程序源代码。
需要说明的是,第三方APP中引入小程序的系统还包括操作系统模块,操作系统模块和第三方APP连接,操作系统模块向第三方APP提供系统原生接口。第三方APP基于系统原生接口和小程序容器SDK加载并运行第三方APP小程序源代码。从而实现了一种将小程序引入第三方APP的技术方案。
本发明实施例中,跨平台应用模块11获取跨平台小程序源代码包括两种方式。
第一种方式如图2所示,跨平台应用模块11包括:多端统一开发单元111和第三方APP迁移单元112;
所述多端统一开发单元111,用于编写所述跨平台小程序源代码;
所述第三方APP迁移单元112,用于对所述多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方APP的组件、API接口、修改项目依赖、对齐生命周期。
本发明实施例中,跨平台应用模块11包括多端统一开发单元111和第三方APP迁移单元112,多端统一开发单元111可以直接编写小程序源代码,通过多端统一开发单元111编写得到的小程序源代码即为述跨平台小程序源代码。也就是说,该方式中的跨平台小程序源代码是一个新的小程序对应的在多端统一开发单元上编写的跨平台小程序源代码。
第三方APP迁移单元通过对多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配第三方APP的组件、API接口、修改项目依赖、对齐生命周期。使跨平台应用模块11具备将跨平台小程序源代码转换为第三方APP小程序源代码的能力。
所述第三方APP迁移单元,具体用于适配所述第三方APP的API接口与所述跨平台应用模块的API接口在入参、出参、回调函数和API接口名称的差异。
具体的,适配API接口:比如定位getLocation,第三方APP是get GPSLocation,且输入输出参数都不同,第三方APP迁移单元负责适配所有API接口与跨平台应用模块的API接口在入参、出参、回调函数、API接口名称上的差异。
对齐生命周期:跨平台应用模块的生命周期典型的回调函数有onShow,onReady,分别在程序页面展示时以及数据获取后触发回调,在该回调函数里实现程序的大部分跨平台应用源代码。跨平台应用源代码经转换后,生成第三方APP小程序源代码,其生命周期回调函数被转换成符合H5的标准,但是第三方APP又提供了例如onAppShow,onPageShow等独有的回调函数,如onAppShow代表小程序显示,仅限点击小程序进入,以及右上角关闭后再次进入时会触发该事件。因此第三方APP迁移单元需要适配这些第三方APP独有的回调函数,以达到第三方APP在特定场景下触发的效果。
小程序应用开发商可以选择通用Web技术(Vue/React语法)编写代码,开发跨平台小程序。本发明实施例为普通小程序适配所有跨平台小程序的通用API,如手机系统能力-相机、定位、蓝牙、NFC等,以及普通小程序特有API如小程序分享、支付等。
第二种方式如图3所示,所述跨平台应用模块还包括:逆向迁移单元113;
所述逆向迁移单元113,用于获取待迁移小程序的源代码,将所述待迁移小程序的源代码转换为跨平台小程序源代码。
本发明实施例中的待迁移小程序是指市面已有的小程序,该待迁移小程序应用在第三方APP之外的其它APP中,该待迁移小程序的开发环境与跨平台应用开发环境有可能不同。为了实现将待迁移小程序引入第三方APP,本发明实施例中包括两次源代码转换的过程。第一次源代码转换,是由跨平台应用模块中的逆向迁移单元获取待迁移小程序的源代码,将待迁移小程序的源代码转换为跨平台小程序源代码。第二次源代码转换,是由跨平台应用模块将跨平台小程序源代码转换为第三方APP小程序源代码。
因为跨平台应用模块的功能是将跨平台小程序源代码转换为第三方APP小程序源代码,因此对于已有的待迁移小程序,首先需要将该待迁移小程序的源代码转换为跨平台小程序源代码,才能保证跨平台应用模块进行第二次源代码转换。最终实现将一个已有的待迁移小程序引入第三方APP。
本发明实施例中,所述跨平台应用模块,具体用于对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方APP小程序源代码;
所述逆向迁移单元,具体用于对所述待迁移小程序的源代码进行语法分析、语法树构建、语法树转换生成所述跨平台小程序源代码。
本发明实施例中,源代码转换是通过语法分析、语法树构建、语法树转换实现的。对于待迁移小程序的源代码,逆向迁移单元对待迁移小程序的源代码进行语法分析、语法树构建、语法树转换生成跨平台小程序源代码。对于跨平台小程序源代码,跨平台应用模块对跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成第三方APP小程序源代码。
跨平台应用模块通过编译时处理和运行时处理使得跨平台小程序源代码转换成通用或专第三方APP小程序源代码,转换后的源代码用于第三方APP,第三方APP由操作系统模块提供的系统原生接口,实现如界面渲染,摄像头,蓝牙等底层硬件能力。
本发明实施例中,所述第三方APP,具体用于在所述小程序容器SDK上,利用系统原生接口和组件框架template对所述第三方APP小程序源代码动态递归渲染DOM树,展示出小程序页面。从而将第三方APP小程序源代码渲染展示在第三方APP的显示界面上。
图4为本发明实施例提供的第三方APP中引入小程序的过程示意图,该过程包括:
S101:第三方APP获取跨平台应用模块提供的第三方APP小程序源代码,其中,所述第三方APP小程序源代码是所述跨平台应用模块将跨平台小程序源代码转换得到的。
S102:所述第三方APP利用自身集成的小程序容器SDK加载并运行所述第三方APP小程序源代码。
本发明实施例提供的第三方APP中引入小程序方法应用于第三方APP中引入小程序的系统中的第三方APP。
所述利用自身集成的小程序容器SDK加载并运行所述第三方APP小程序源代码包括:
在所述小程序容器SDK上,利用系统原生接口和组件框架template对所述第三方APP小程序源代码动态递归渲染DOM树,展示出小程序页面。
图5为本发明实施例提供的第三方APP中引入小程序的过程示意图,该过程包括:
S201:跨平台应用模块获取跨平台小程序源代码。
S202:将所述跨平台小程序源代码转换为第三方APP小程序源代码,向第三方APP提供所述第三方APP小程序源代码,以使所述第三方APP利用自身集成的小程序容器SDK加载并运行所述第三方APP小程序源代码。
本发明实施例提供的第三方APP中引入小程序方法应用于第三方APP中引入小程序的系统中的跨平台应用模块。
所述获取跨平台小程序源代码包括:
获取跨平台应用模块中的多端统一开发单元中编写的所述跨平台小程序源代码。
所述获取跨平台小程序源代码包括:
获取跨平台应用模块中的逆向迁移单元提供的所述跨平台小程序源代码,其中,所述跨平台小程序源代码是所述逆向迁移单元获取待迁移小程序的源代码,并将所述待迁移小程序的源代码转换得到的。
所述将所述跨平台小程序源代码转换为第三方APP小程序源代码包括:
对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方APP小程序源代码。
所述将所述跨平台小程序源代码转换为第三方APP小程序源代码之前,所述方法还包括:
通过所述跨平台应用模块中的第三方APP迁移单元对所述跨平台应用模块中的多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方APP的组件、API接口、修改项目依赖、对齐生命周期。
所述适配所述第三方APP的API接口包括:
适配所述第三方APP的API接口与所述跨平台应用模块的API接口在入参、出参、回调函数和API接口名称的差异。
下面对第三方APP中引入小程序的过程进行说明。
本发明实施例为第三方APP提供多端小程序内容模块的解决方案,多端小程序包括已有的待迁移小程序、跨平台应用小程序和普通小程序。第三方APP集成小程序容器SDK,以获取小程序生态。普通小程序是指在第三方APP中存在的小程序;跨平台应用小程序是指在跨平台应用模块中编写的小程序;已有的待迁移小程序是指的其它APP中存在的非跨平台应用模块开发环境的小程序。本发明主要涉及将已有的待迁移小程序和跨平台应用小程序引入第三方APP。
对于待迁移小程序,先将待迁移小程序的源代码转换为跨平台小程序源代码,然后将跨平台小程序源代码转换为第三方APP小程序源代码,进而实现将已有的待迁移小程序引入第三方APP。对于跨平台应用小程序,首先编写跨平台应用小程序的跨平台小程序源代码,然后将跨平台小程序源代码转换为第三方APP小程序源代码,进而实现将跨平台应用小程序引入第三方APP。从而实现将已有的待迁移小程序和跨平台应用小程序运行在第三方APP的小程序容器SDK之上。
图6为本发明实施例提供的APP中引入小程序的装置结构示意图,该装置包括:
第一获取子单元61,用于获取跨平台应用模块提供的第三方APP小程序源代码,其中,所述第三方APP小程序源代码是所述跨平台应用模块将跨平台小程序源代码转换得到的;
加载运行子单元62,用于利用小程序容器SDK加载并运行所述第三方APP小程序源代码。
加载运行子单元62,具体用于在所述小程序容器SDK上,利用系统原生接口和组件框架template对所述第三方APP小程序源代码动态递归渲染DOM树,展示出小程序页面。
图7为本发明实施例提供的APP中引入小程序的装置结构示意图,该装置包括:
第二获取子单元71,用于获取跨平台小程序源代码;
源代码转换子单元72,用于将所述跨平台小程序源代码转换为第三方APP小程序源代码,向第三方APP提供所述第三方APP小程序源代码,以使所述第三方APP利用自身集成的小程序容器SDK加载并运行所述第三方APP小程序源代码。
所述第二获取子单元71,具体用于获取跨平台应用模块中的多端统一开发单元中编写的所述跨平台小程序源代码。
所述第二获取子单元71,还用于获取跨平台应用模块中的逆向迁移单元提供的所述跨平台小程序源代码,其中,所述跨平台小程序源代码是所述逆向迁移单元获取待迁移小程序的源代码,并将所述待迁移小程序的源代码转换得到的。
所述源代码转换子单元72,具体用于对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方APP小程序源代码。
所述源代码转换子单元72,具体用于通过所述跨平台应用模块中的第三方APP迁移单元对所述跨平台应用模块中的多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方APP的组件、API接口、修改项目依赖、对齐生命周期。
所述源代码转换子单元72,具体用于适配所述第三方APP的API接口与所述跨平台应用模块的API接口在入参、出参、回调函数和API接口名称的差异。
本发明实施例还提供了一种电子设备,需要说明的是,本发明实施例将第三方APP和跨平台应用模块统称为电子设备,如图8所示,包括:处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信;
所述存储器1103中存储有计算机程序,当所述程序被所述处理器1101执行时,使得所述处理器1101执行以上任一方法步骤。具体的,当电子设备中的第三方APP中的处理器1101执行对应的程序时,使得所述处理器1101执行以上第三方APP侧的任一方法步骤。当电子设备中的跨平台应用模块中的处理器1101执行对应的程序时,使得所述处理器1101执行以上跨平台应用模块侧的任一方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1102用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
本申请还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在电子设备上运行时,使得所述电子设备执行时实现以上任一方法步骤。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (18)
1.一种第三方APP中引入小程序的系统,其特征在于,所述系统包括:跨平台应用模块和第三方APP;所述第三方APP中集成小程序容器SDK;
所述跨平台应用模块,用于获取跨平台小程序源代码,将所述跨平台小程序源代码转换为第三方APP小程序源代码,向所述第三方APP提供所述第三方APP小程序源代码;
所述第三方APP,用于利用所述小程序容器SDK加载并运行所述第三方APP小程序源代码。
2.如权利要求1所述的系统,其特征在于,所述跨平台应用模块包括:多端统一开发单元和第三方APP迁移单元;
所述多端统一开发单元,用于编写所述跨平台小程序源代码;
所述第三方APP迁移单元,用于对所述多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方APP的组件、API接口、修改项目依赖、对齐生命周期。
3.如权利要求2所述的系统,其特征在于,所述第三方APP迁移单元,具体用于适配所述第三方APP的API接口与所述跨平台应用模块的API接口在入参、出参、回调函数和API接口名称的差异。
4.如权利要求2所述的系统,其特征在于,所述跨平台应用模块还包括:逆向迁移单元;
所述逆向迁移单元,用于获取待迁移小程序的源代码,将所述待迁移小程序的源代码转换为跨平台小程序源代码。
5.如权利要求4所述的系统,其特征在于,所述跨平台应用模块,具体用于对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方APP小程序源代码;
所述逆向迁移单元,具体用于对所述待迁移小程序的源代码进行语法分析、语法树构建、语法树转换生成所述跨平台小程序源代码。
6.如权利要求1所述的系统,其特征在于,所述第三方APP,具体用于在所述小程序容器SDK上,利用系统原生接口和组件框架template对所述第三方APP小程序源代码动态递归渲染DOM树,展示出小程序页面。
7.如权利要求1所述的系统,其特征在于,所述小程序容器SDK是将待迁移小程序框架或跨平台小程序框架打包生成的。
8.一种第三方APP中引入小程序的方法,其特征在于,所述方法包括:
第三方APP获取跨平台应用模块提供的第三方APP小程序源代码,其中,所述第三方APP小程序源代码是所述跨平台应用模块将跨平台小程序源代码转换得到的;
所述第三方APP利用自身集成的小程序容器SDK加载并运行所述第三方APP小程序源代码。
9.如权利要求8所述的方法,其特征在于,所述利用自身集成的小程序容器SDK加载并运行所述第三方APP小程序源代码包括:
在所述小程序容器SDK上,利用系统原生接口和组件框架template对所述第三方APP小程序源代码动态递归渲染DOM树,展示出小程序页面。
10.一种第三方APP中引入小程序的方法,其特征在于,所述方法包括:
跨平台应用模块获取跨平台小程序源代码,将所述跨平台小程序源代码转换为第三方APP小程序源代码,向第三方APP提供所述第三方APP小程序源代码,以使所述第三方APP利用自身集成的小程序容器SDK加载并运行所述第三方APP小程序源代码。
11.如权利要求10所述的方法,其特征在于,所述获取跨平台小程序源代码包括:
获取跨平台应用模块中的多端统一开发单元中编写的所述跨平台小程序源代码。
12.如权利要求10所述的方法,其特征在于,所述获取跨平台小程序源代码包括:
获取跨平台应用模块中的逆向迁移单元提供的所述跨平台小程序源代码,其中,所述跨平台小程序源代码是所述逆向迁移单元获取待迁移小程序的源代码,并将所述待迁移小程序的源代码转换得到的。
13.如权利要求10所述的方法,其特征在于,所述将所述跨平台小程序源代码转换为第三方APP小程序源代码包括:
对所述跨平台小程序源代码进行语法分析、语法树构建、语法树转换生成所述第三方APP小程序源代码。
14.如权利要求10所述的方法,其特征在于,所述将所述跨平台小程序源代码转换为第三方APP小程序源代码之前,所述方法还包括:
通过所述跨平台应用模块中的第三方APP迁移单元对所述跨平台应用模块中的多端统一开发单元进行编译命令扩展、编译平台扩展和编译过程扩展,适配所述第三方APP的组件、API接口、修改项目依赖、对齐生命周期。
15.如权利要求14所述的方法,其特征在于,所述适配所述第三方APP的API接口包括:
适配所述第三方APP的API接口与所述跨平台应用模块的API接口在入参、出参、回调函数和API接口名称的差异。
16.一种第三方APP中引入小程序的装置,其特征在于,所述装置包括:
第一获取子单元,用于获取跨平台应用模块提供的第三方APP小程序源代码,其中,所述第三方APP小程序源代码是所述跨平台应用模块将跨平台小程序源代码转换得到的;
加载运行子单元,用于利用小程序容器SDK加载并运行所述第三方APP小程序源代码。
17.一种APP中引入小程序的装置,其特征在于,所述装置包括:
第二获取子单元,用于获取跨平台小程序源代码;
源代码转换子单元,用于将所述跨平台小程序源代码转换为第三方APP小程序源代码,向第三方APP提供所述第三方APP小程序源代码,以使所述第三方APP利用自身集成的小程序容器SDK加载并运行所述第三方APP小程序源代码。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求8-9任一项所述的方法步骤,或实现权利要求10-15任一项所述的方法步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210833937.1A CN115268998A (zh) | 2022-07-14 | 2022-07-14 | 第三方app中引入小程序的系统、方法、装置及介质 |
PCT/CN2022/137358 WO2024011825A1 (zh) | 2022-07-14 | 2022-12-07 | 第三方app中引入小程序的系统、方法、装置及介质 |
TW111148925A TW202403541A (zh) | 2022-07-14 | 2022-12-20 | 第三方行動應用程式中引入小程序的系統、方法、裝置及介質 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210833937.1A CN115268998A (zh) | 2022-07-14 | 2022-07-14 | 第三方app中引入小程序的系统、方法、装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115268998A true CN115268998A (zh) | 2022-11-01 |
Family
ID=83765149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210833937.1A Pending CN115268998A (zh) | 2022-07-14 | 2022-07-14 | 第三方app中引入小程序的系统、方法、装置及介质 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN115268998A (zh) |
TW (1) | TW202403541A (zh) |
WO (1) | WO2024011825A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382775A (zh) * | 2023-03-15 | 2023-07-04 | 中电金信软件有限公司 | 基于Hbuilderx插件的多平台程序包生成方法 |
WO2024011825A1 (zh) * | 2022-07-14 | 2024-01-18 | 中国银联股份有限公司 | 第三方app中引入小程序的系统、方法、装置及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9886249B2 (en) * | 2015-11-16 | 2018-02-06 | Sap Se | Universal transcompiling framework |
CN111414158A (zh) * | 2020-03-15 | 2020-07-14 | 杭州卓健信息科技有限公司 | 跨平台开发方法、跨平台开发系统及电子设备 |
CN112527415A (zh) * | 2020-12-23 | 2021-03-19 | 深圳尚米网络技术有限公司 | 小程序跨平台迁移方法、装置、设备和介质 |
CN115268998A (zh) * | 2022-07-14 | 2022-11-01 | 中国银联股份有限公司 | 第三方app中引入小程序的系统、方法、装置及介质 |
-
2022
- 2022-07-14 CN CN202210833937.1A patent/CN115268998A/zh active Pending
- 2022-12-07 WO PCT/CN2022/137358 patent/WO2024011825A1/zh unknown
- 2022-12-20 TW TW111148925A patent/TW202403541A/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024011825A1 (zh) * | 2022-07-14 | 2024-01-18 | 中国银联股份有限公司 | 第三方app中引入小程序的系统、方法、装置及介质 |
CN116382775A (zh) * | 2023-03-15 | 2023-07-04 | 中电金信软件有限公司 | 基于Hbuilderx插件的多平台程序包生成方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202403541A (zh) | 2024-01-16 |
WO2024011825A1 (zh) | 2024-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115268998A (zh) | 第三方app中引入小程序的系统、方法、装置及介质 | |
CN110134386B (zh) | 一种程序编辑方法和装置 | |
CN111176626B (zh) | 跨编程语言的代码调用方法及装置、介质、设备 | |
CN111240684B (zh) | 一种js代码的裁剪方法、装置、介质和电子设备 | |
CN108845839B (zh) | 应用页面加载方法、装置及计算机可读存储介质 | |
CN110580154A (zh) | 基于h5接入方式的接入方法及其接入组件和移动终端 | |
CN113918195A (zh) | 应用界面更新方法、装置、电子设备及可读存储介质 | |
CN112463123A (zh) | 任务编译方法、装置、网络节点、系统及存储介质 | |
CN107977274B (zh) | Sdk调用的控制方法及装置 | |
CN113407255A (zh) | 组件调用方法、装置及计算机可读存储介质 | |
CN108153533B (zh) | 制作安装程序的方法和装置、程序的安装方法和装置 | |
CN110968358A (zh) | 一种基于浏览器插件加载脚本模块的方法及装置 | |
CN112835615A (zh) | 软件开发工具包的插件化处理方法、装置及电子设备 | |
CN111880786A (zh) | 多应用共享方法、系统、装置、电子设备及存储介质 | |
CN114281404B (zh) | 一种工控机算法代码的移植方法及装置 | |
CN113778451B (zh) | 文件加载方法、装置、计算机系统和计算机可读存储介质 | |
CN115951868A (zh) | 执行脚本命令的方法、设备及存储介质 | |
CN112118285B (zh) | 适用于客户端全版本浏览器的数据传输方法及系统 | |
CN112612550A (zh) | 一种文件配置方法及装置 | |
CN113778388A (zh) | 程序开发方法和装置 | |
CN111782196A (zh) | 基于mvp架构的开发方法及装置 | |
CN117056317B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
US20240020133A1 (en) | Systems and methods to bridge platforms | |
RU2799988C2 (ru) | Система и способ динамической визуализации элементов программного обеспечения | |
CN117093286B (zh) | 插件生成方法、装置、设备及计算机可读存储介质 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40075818 Country of ref document: HK |