TW202403541A - 第三方行動應用程式中引入小程序的系統、方法、裝置及介質 - Google Patents
第三方行動應用程式中引入小程序的系統、方法、裝置及介質 Download PDFInfo
- Publication number
- TW202403541A TW202403541A TW111148925A TW111148925A TW202403541A TW 202403541 A TW202403541 A TW 202403541A TW 111148925 A TW111148925 A TW 111148925A TW 111148925 A TW111148925 A TW 111148925A TW 202403541 A TW202403541 A TW 202403541A
- Authority
- TW
- Taiwan
- Prior art keywords
- applet
- cross
- platform
- original code
- party
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000006243 chemical reaction Methods 0.000 claims abstract description 32
- 230000005012 migration Effects 0.000 claims description 42
- 238000013508 migration Methods 0.000 claims description 42
- 238000011161 development Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 18
- 238000004458 analytical method Methods 0.000 claims description 14
- 238000010276 construction Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 34
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 9
- 230000000750 progressive effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
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
本發明有關一種第三方行動應用程式
(Application,APP
)中引入小程序的系統、方法、裝置及介質,本發明中,跨平臺應用模組獲取跨平臺小程序原始程式碼,並將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼,然後向第三方APP提供第三方APP小程序原始程式碼。第三方APP集成小程序容器SDK(Software Development Kit,軟體開發套件),接收到轉換得到的第三方APP小程序原始程式碼之後,利用小程序容器SDK載入並運行第三方APP小程序原始程式碼。從而實現了一種將小程序引入第三方APP的技術方案。
Description
本發明屬於APP軟體工程開發技術領域,尤指一種第三方行動應用程式中引入小程序的系統、方法、裝置及介質。
隨著小程序的成功普及,各大互聯網廠商陸續推出了自己的小程序。對於小程序開發商來說,如果要在十幾個端上開發小程序效率非常低下。而且,對於一些應用程式來說,存在不支援小程序這種模式的問題。因此目前亟需一種為第三方APP引入小程序的方案。
本發明提供了第三方行動應用程式中引入小程序的系統、方法、裝置及介質,用以提供一種為第三方APP引入小程序的技術方案。
本發明提供了一種第三方行動應用程式中引入小程序的系統,系統包括:跨平臺應用模組和第三方APP;第三方APP中集成小程序容器SDK;跨平臺應用模組,用於獲取跨平臺小程序原始程式碼,將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼,向第三方APP提供第三方APP小程序原始程式碼;第三方APP,用於利用小程序容器SDK(Software Development Kit,軟體開發套件)載入並運行第三方APP小程序原始程式碼。
進一步地,跨平臺應用模組包括:多端統一開發單元和第三方APP遷移單元;多端統一開發單元,用於編寫跨平臺小程序原始程式碼;第三方APP遷移單元,用於對多端統一開發單元進行編譯命令擴展、編譯平臺擴展和編譯過程擴展,適配第三方APP的元件、API介面(application programming interface,應用程式介面)、修改專案依賴、對齊生命週期。
進一步地,第三方APP遷移單元,具體用於適配第三方APP的API介面與跨平臺應用模組的API介面在入參、出參、回調函數和API介面名稱的差異。
進一步地,跨平臺應用模組還包括:逆向遷移單元;逆向遷移單元,用於獲取待遷移小程序的原始程式碼,將待遷移小程序的原始程式碼轉換為跨平臺小程序原始程式碼。
進一步地,跨平臺應用模組,具體用於對跨平臺小程序原始程式碼進行語法分析、語法樹構建、語法樹轉換生成第三方APP小程序原始程式碼;逆向遷移單元,具體用於對待遷移小程序的原始程式碼進行語法分析、語法樹構建、語法樹轉換生成跨平臺小程序原始程式碼。
進一步地,第三方APP,具體用於在小程序容器SDK上,利用系統原生介面和元件框架template(樣板)對第三方APP小程序原始程式碼動態遞歸渲染DOM(Document Object Model,文件物件模型)樹,展示出小程序頁面。
進一步地,小程序容器SDK是將待遷移小程序框架或跨平臺小程序框架打包生成的。
另一方面,本發明提供了一種第三方行動應用程式中引入小程序的方法,其步驟包括:第三方APP獲取跨平臺應用模組提供的第三方APP小程序原始程式碼,其中,第三方APP小程序原始程式碼是跨平臺應用模組將跨平臺小程序原始程式碼轉換得到的;第三方APP利用自身集成的小程序容器SDK載入並運行第三方APP小程序原始程式碼。
進一步地,利用自身集成的小程序容器SDK載入並運行第三方APP小程序原始程式碼包括:在小程序容器SDK上,利用系統原生介面和元件框架template對第三方APP小程序原始程式碼動態遞歸渲染DOM樹,展示出小程序頁面。
另一方面,本發明提供了一種第三方行動應用程式中引入小程序的方法,其步驟包括:跨平臺應用模組獲取跨平臺小程序原始程式碼,將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼,向第三方APP提供第三方APP小程序原始程式碼,以使第三方APP利用自身集成的小程序容器SDK載載並運行第三方APP小程序原始程式碼。
進一步地,獲取跨平臺小程序原始程式碼包括:獲取跨平臺應用模組中的多端統一開發單元中編寫的跨平臺小程序原始程式碼。
進一步地,獲取跨平臺小程序原始程式碼包括:獲取跨平臺應用模組中的逆向遷移單元提供的跨平臺小程序原始程式碼,其中,跨平臺小程序原始程式碼是逆向遷移單元獲取待遷移小程序的原始程式碼,並將待遷移小程序的原始程式碼轉換得到的。
進一步地,將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼包括:對跨平臺小程序原始程式碼進行語法分析、語法樹構建、語法樹轉換生成第三方APP小程序原始程式碼。
進一步地,將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼之前,其步驟還包括:通過跨平臺應用模組中的第三方APP遷移單元對跨平臺應用模組中的多端統一開發單元進行編譯命令擴展、編譯平臺擴展和編譯過程擴展,適配第三方APP的元件、API介面、修改專案依賴、對齊生命週期。
進一步地,適配第三方APP的API介面包括:適配第三方APP的API介面與跨平臺應用模組的API介面在入參、出參、回調函數和API介面名稱的差異。
另一方面,本發明提供了一種第三方行動應用程式中引入小程序的裝置,其主要包括:第一獲取子單元,用於獲取跨平臺應用模組提供的第三方APP小程序原始程式碼,其中,第三方APP小程序原始程式碼是跨平臺應用模組將跨平臺小程序原始程式碼轉換得到的;載入運行子單元,用於利用小程序容器SDK載入並運行第三方APP小程序原始程式碼。
進一步地,載入運行子單元,具體用於在小程序容器SDK上,利用系統原生介面和元件框架template對第三方APP小程序原始程式碼動態遞歸渲染DOM樹,展示出小程序頁面。
另一方面,本發明提供了一種第三方行動應用程式中引入小程序的裝置,其主要包括:第二獲取子單元,用於獲取跨平臺小程序原始程式碼;原始程式碼轉換子單元,用於將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼,向第三方APP提供第三方APP小程序原始程式碼,以使第三方APP利用自身集成的小程序容器SDK載入並運行第三方APP小程序原始程式碼。
進一步地,第二獲取子單元,具體用於獲取跨平臺應用模組中的多端統一開發單元中編寫的跨平臺小程序原始程式碼。
進一步地,第二獲取子單元,還用於獲取跨平臺應用模組中的逆向遷移單元提供的跨平臺小程序原始程式碼,其中,跨平臺小程序原始程式碼是逆向遷移單元獲取待遷移小程序的原始程式碼,並將待遷移小程序的原始程式碼轉換得到的。
進一步地,原始程式碼轉換子單元,具體用於對跨平臺小程序原始程式碼進行語法分析、語法樹構建、語法樹轉換生成第三方APP小程序原始程式碼。
進一步地,原始程式碼轉換子單元,還用於通過跨平臺應用模組中的第三方APP遷移單元對跨平臺應用模組中的多端統一開發單元進行編譯命令擴展、編譯平臺擴展和編譯過程擴展,適配第三方APP的元件、API介面、修改專案依賴、對齊生命週期。
進一步地,原始程式碼轉換子單元,具體用於適配第三方APP的API介面與跨平臺應用模組的API介面在入參、出參、回調函數和API介面名稱的差異。
另一方面,本發明提供了一種電子設備,包括處理器、通信介面、記憶體和通信匯流排,其中,處理器,通信介面,記憶體通過通信匯流排完成相互間的通信;記憶體,用於存放計算機程式;處理器,用於執行記憶體上所存放的程式時,實現上述任一項所述的方法步驟。
另一方面,本發明提供了一種計算機可讀存儲介質,計算機可讀存儲介質記憶體記憶體有計算機程式,電腦程式被處理器執行時實現上述任一項所述的方法步驟。
本發明提供了一種第三方行動應用程式中引入小程序系統、方法、裝置及介質,第三方行動應用程式中引入小程序系統包括:跨平臺應用模組和第三方APP;第三方APP中集成小程序容器SDK;跨平臺應用模組,用於獲取跨平臺小程序原始程式碼,將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼,向第三方APP提供第三方APP小程序原始程式碼;第三方APP,用於利用小程序容器SDK載入並運行第三方APP小程序原始程式碼。
上述的技術方案具有如下優點或有益效果:本發明中,跨平臺應用模組獲取跨平臺小程序原始程式碼,並將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼,然後向第三方APP提供第三方APP小程序原始程式碼。第三方APP集成小程序容器SDK,接收到轉換得到的第三方APP小程序原始程式碼之後,利用小程序容器SDK載入並運行第三方APP小程序原始程式碼。從而實現了一種將小程序快速、方便引入第三方APP的技術方案。
下面將結合附圖對本發明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域具通常知識者在沒有做出進步性改良前提下所獲得的所有其它實施例,都屬於本發明保護的範圍。
圖1為本發明實施例提供的第三方行動應用程式中引入小程序的系統結構示意圖,該系統包括:跨平臺應用模組11和第三方APP12;第三方APP12中集成小程序容器SDK121;跨平臺應用模組11,用於獲取跨平臺小程序原始程式碼,將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼,向第三方APP12提供第三方APP小程序原始程式碼;第三方APP12,用於利用小程序容器SDK121載入並運行第三方APP小程序原始程式碼。
如圖1所示,第三方行動應用程式中引入小程序的系統包括:跨平臺應用模組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基於系統原生介面和小程序容器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(Near-field communication,近場通訊)等,以及普通小程序特有API如小程序分享、支付等。
第二種方式如圖3所示,跨平臺應用模組還包括:逆向遷移單元113;逆向遷移單元113,用於獲取待遷移小程序的原始程式碼,將待遷移小程序的原始程式碼轉換為跨平臺小程序原始程式碼。
本發明實施例中的待遷移小程序是指市面已有的小程序,該待遷移小程序應用在第三方APP之外的其它APP中,該待遷移小程序的開發環境與跨平臺應用開發環境有可能不同。為了實現將待遷移小程序引入第三方APP,本發明實施例中包括兩次原始程式碼轉換的過程。第一次原始程式碼轉換,是由跨平臺應用模組中的逆向遷移單元獲取待遷移小程序的原始程式碼,將待遷移小程序的原始程式碼轉換為跨平臺小程序原始程式碼。第二次原始程式碼轉換,是由跨平臺應用模組將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼。
因為跨平臺應用模組的功能是將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼,因此對於已有的待遷移小程序,首先需要將該待遷移小程序的原始程式碼轉換為跨平臺小程序原始程式碼,才能保證跨平臺應用模組進行第二次原始程式碼轉換。最終實現將一個已有的待遷移小程序引入第三方APP。
本發明實施例中,跨平臺應用模組,具體用於對跨平臺小程序原始程式碼進行語法分析、語法樹構建、語法樹轉換生成第三方APP小程序原始程式碼;逆向遷移單元,具體用於對待遷移小程序的原始程式碼進行語法分析、語法樹構建、語法樹轉換生成跨平臺小程序原始程式碼。
本發明實施例中,原始程式碼轉換是通過語法分析、語法樹構建、語法樹轉換實現的。對於待遷移小程序的原始程式碼,逆向遷移單元對待遷移小程序的原始程式碼進行語法分析、語法樹構建、語法樹轉換生成跨平臺小程序原始程式碼。對於跨平臺小程序原始程式碼,跨平臺應用模組對跨平臺小程序原始程式碼進行語法分析、語法樹構建、語法樹轉換生成第三方APP小程序原始程式碼。
跨平臺應用模組通過編譯時處理和運行時處理使得跨平臺小程序原始程式碼轉換成通用或專第三方APP小程序原始程式碼,轉換後的原始程式碼用於第三方APP,第三方APP由操作系統模組提供的系統原生介面,實現如介面渲染,攝像頭,藍牙等底層硬體能力。
本發明實施例中,第三方APP,具體用於在小程序容器SDK上,利用系統原生介面和元件框架template對第三方APP小程序原始程式碼動態遞歸渲染DOM樹,展示出小程序頁面。從而將第三方APP小程序原始程式碼渲染展示在第三方APP的顯示介面上。
圖4為本發明實施例提供的第三方行動應用程式中引入小程序的過程示意圖,該過程包括:S101:第三方APP獲取跨平臺應用模組提供的第三方APP小程序原始程式碼,其中,第三方APP小程序原始程式碼是跨平臺應用模組將跨平臺小程序原始程式碼轉換得到的。
S102:第三方APP利用自身集成的小程序容器SDK載入並運行第三方APP小程序原始程式碼。
本發明實施例提供的第三方行動應用程式中引入小程序方法應用於第三方行動應用程式中引入小程序的系統中的第三方APP。
利用自身集成的小程序容器SDK載入並運行第三方APP小程序原始程式碼包括:在小程序容器SDK上,利用系統原生介面和元件框架template對第三方APP小程序原始程式碼動態遞歸渲染DOM樹,展示出小程序頁面。
圖5為本發明實施例提供的第三方行動應用程式中引入小程序的過程示意圖,該過程包括:S201:跨平臺應用模組獲取跨平臺小程序原始程式碼。
S202:將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼,向第三方APP提供第三方APP小程序原始程式碼,以使第三方APP利用自身集成的小程序容器SDK載入並運行第三方APP小程序原始程式碼。
本發明實施例提供的第三方行動應用程式中引入小程序方法應用於第三方行動應用程式中引入小程序的系統中的跨平臺應用模組。
獲取跨平臺小程序原始程式碼包括:獲取跨平臺應用模組中的多端統一開發單元中編寫的跨平臺小程序原始程式碼。
獲取跨平臺小程序原始程式碼包括:獲取跨平臺應用模組中的逆向遷移單元提供的跨平臺小程序原始程式碼,其中,跨平臺小程序原始程式碼是逆向遷移單元獲取待遷移小程序的原始程式碼,並將待遷移小程序的原始程式碼轉換得到的。
將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼包括:對跨平臺小程序原始程式碼進行語法分析、語法樹構建、語法樹轉換生成第三方APP小程序原始程式碼。
將跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼之前,其步驟還包括:通過跨平臺應用模組中的第三方APP遷移單元對跨平臺應用模組中的多端統一開發單元進行編譯命令擴展、編譯平臺擴展和編譯過程擴展,適配第三方APP的元件、API介面、修改專案依賴、對齊生命週期。
適配第三方APP的API介面包括:適配第三方APP的API介面與跨平臺應用模組的API介面在入參、出參、回調函數和API介面名稱的差異。
下面對第三方行動應用程式中引入小程序的過程進行說明。
本發明實施例為第三方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 Component Interconnect,PCI)匯流排或擴展工業標準結構(Extended Industry Standard Architecture,EISA)匯流排等。該通信匯流排可以分為位址匯流排、數據匯流排、控制匯流排等。為便於表示,圖中僅用一條粗線表示,但並不表示僅有一根匯流排或一種類型的匯流排。
通信介面1102用於上述電子設備與其他設備之間的通信。
記憶體可以包括隨機存取記憶體(Random Access Memory,RAM),也可以包括快閃記憶體(Non-Volatile Memory,NVM),例如至少一個磁碟記憶體。可選地,記憶體還可以是至少一個位於遠離前述處理器的儲存裝置。
上述處理器可以是通用處理器,包括中央處理器、網路處理器(Network Processor,NP)等;還可以是數位信號處理器(Digital Signal Processing,DSP)、專用積體電路、現場可程式設計門陳列或者其他可程式設計邏輯裝置、分立門或者晶體管邏輯裝置、分立硬體元件等。
本發明還提供了一種計算機存儲可讀存儲介質,計算機可讀存儲介質內存儲有可由電子設備執行的計算機程式,當程式在電子設備上運行時,使得電子設備執行時實現以上任一方法步驟。
本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程式產品的流程圖和/或方框圖來描述的。應理解可由計算機程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程式指令到通用電腦、專用計算機、嵌入式處理機或其他可程式設計數據處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程式指令也可儲存在能引導計算機或其他可程式設計數據處理設備以特定方式工作的計算機可讀記憶體中,使得存儲在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程式指令也可裝載到計算機或其他可程式設計數據處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在計算機或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
儘管已描述了本發明的優選實施例,但本領域具通常知識者一旦得知了基本進步性概念,則可對這些實施例作出另外的變更和修改。所以,所附申請專利範圍意欲解釋為包括優選實施例以及落入本發明範圍的所有變更和修改。
顯然,本領域具通常知識者可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明申請專利範圍及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
11:跨平臺應用模組
111:多端統一開發單元
112:第三方APP遷移單元
113:逆向遷移單元
12:第三方APP
121:集成小程序容器SDK
61:第一獲取子單元
62:加載運行子單元
71:第二獲取子單元
72:原始程式碼轉換子單元
1101:處理器
1102:通信介面
1103:記憶體
1104:通信匯流排
S101~S102:步驟流程
S201~S202:步驟流程
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域具通常知識者來講,在不付出進步性改良的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例提供的第三方行動應用程式中引入小程序的系統結構示意圖;
圖2為本發明實施例提供的第三方行動應用程式中引入小程序的另一系統結構示意圖;
圖3為本發明實施例提供的第三方行動應用程式中引入小程序的再一系統結構示意圖;
圖4為本發明實施例提供的第三方行動應用程式中引入小程序的過程示意圖;
圖5為本發明實施例提供的第三方行動應用程式中引入小程序的另一過程示意圖;
圖6為本發明實施例提供的第三方行動應用程式中引入小程序的裝置結構示意圖;
圖7為本發明實施例提供的第三方行動應用程式中引入小程序的另一裝置結構示意圖;
圖8為本發明實施例提供的電子設備結構示意圖。
11:跨平臺應用模組
12:第三方APP
121:集成小程序容器SDK
Claims (18)
- 一種第三方行動應用程式中引入小程序的系統,其主要包括:跨平臺應用模組和第三方APP (Application,行動應用程式 );該第三方APP中集成小程序容器SDK(Software Development Kit,軟體開發套件);該跨平臺應用模組用於獲取跨平臺小程序原始程式碼,將該跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼,向該第三方APP提供該第三方APP小程序原始程式碼;該第三方APP用於利用該小程序容器SDK載入並運行該第三方APP小程序原始程式碼。
- 如請求項1所述之第三方行動應用程式中引入小程序的系統,其中該跨平臺應用模組包括:多端統一開發單元和第三方APP遷移單元;該多端統一開發單元,用於編寫該跨平臺小程序原始程式碼;該第三方APP遷移單元,用於對該多端統一開發單元進行編譯命令擴展、編譯平臺擴展和編譯過程擴展,適配該第三方APP的元件、API介面、修改專案依賴、對齊生命週期。
- 如請求項2所述之第三方行動應用程式中引入小程序的系統,其中該第三方APP遷移單元,具體用於適配該第三方APP的API介面與該跨平臺應用模組的API介面(application programming interface,應用程式介面)在入參、出參、回調函數和API介面名稱的差異。
- 如請求項2所述的系統,其中該跨平臺應用模組還包括:逆向遷移單元;該逆向遷移單元,用於獲取待遷移小程序的原始程式碼,將該待遷移小程序的原始程式碼轉換為跨平臺小程序原始程式碼。
- 如請求項4所述之第三方行動應用程式中引入小程序的系統,其中該跨平臺應用模組,具體用於對該跨平臺小程序原始程式碼進行語法分析、語法樹構建、語法樹轉換生成該第三方APP小程序原始程式碼; 該逆向遷移單元,具體用於對該待遷移小程序的原始程式碼進行語法分析、語法樹構建、語法樹轉換生成該跨平臺小程序原始程式碼。
- 如請求項1所述之第三方行動應用程式中引入小程序的系統,其中該第三方APP,具體用於在該小程序容器SDK上,利用系統原生介面和元件框架template(樣板)對該第三方APP小程序原始程式碼動態遞歸渲染DOM(Document Object Model,文件物件模型)樹,展示出小程序頁面。
- 如請求項1所述之第三方行動應用程式中引入小程序的系統,其中該小程序容器SDK是將待遷移小程序框架或跨平臺小程序框架打包生成的。
- 一種第三方行動應用程式中引入小程序的方法,其步驟包括: 第三方APP獲取跨平臺應用模組提供的第三方APP小程序原始程式碼,其中,該第三方APP小程序原始程式碼是該跨平臺應用模組將跨平臺小程序原始程式碼轉換得到的; 該第三方APP利用自身集成的小程序容器SDK載入並運行該第三方APP小程序原始程式碼。
- 如請求項8所述之第三方行動應用程式中引入小程序的方法,其中該利用自身集成的小程序容器SDK載入並運行該第三方APP小程序原始程式碼包括:在該小程序容器SDK上,利用系統原生介面和元件框架template對該第三方APP小程序原始程式碼動態遞歸渲染DOM樹,展示出小程序頁面。
- 一種第三方行動應用程式中引入小程序的方法,其步驟包括: 跨平臺應用模組獲取跨平臺小程序原始程式碼,將該跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼,向第三方APP提供該第三方APP小程序原始程式碼,以使該第三方APP利用自身集成的小程序容器SDK加載並運行該第三方APP小程序原始程式碼。
- 如請求項10所述之第三方行動應用程式中引入小程序的方法,其中該獲取跨平臺小程序原始程式碼包括:獲取跨平臺應用模組中的多端統一開發單元中編寫的該跨平臺小程序原始程式碼。
- 如請求項10所述之第三方行動應用程式中引入小程序的方法,其中該獲取跨平臺小程序原始程式碼包括:獲取跨平臺應用模組中的逆向遷移單元提供的該跨平臺小程序原始程式碼,其中,該跨平臺小程序原始程式碼是該逆向遷移單元獲取待遷移小程序的原始程式碼,並將該待遷移小程序的原始程式碼轉換得到的。
- 如請求項10所述之第三方行動應用程式中引入小程序的方法,其中將該跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼包括:對該跨平臺小程序原始程式碼進行語法分析、語法樹構建、語法樹轉換生成該第三方APP小程序原始程式碼。
- 如請求項10所述之第三方行動應用程式中引入小程序的方法,其中將該跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼之前,其步驟更包括:通過該跨平臺應用模組中的第三方APP遷移單元對該跨平臺應用模組中的多端統一開發單元進行編譯命令擴展、編譯平臺擴展和編譯過程擴展,適配該第三方APP的元件、API介面、修改專案依賴、對齊生命週期。
- 如請求項14所述之第三方行動應用程式中引入小程序的方法,其中適配該第三方APP的API介面包括:適配該第三方APP的API介面與該跨平臺應用模組的API介面在入參、出參、回調函數和API介面名稱的差異。
- 一種第三方行動應用程式中引入小程序的裝置,其主要包括: 第一獲取子單元,用於獲取跨平臺應用模組提供的第三方APP小程序原始程式碼,其中,該第三方APP小程序原始程式碼是該跨平臺應用模組將跨平臺小程序原始程式碼轉換得到的; 載入運行子單元,用於利用小程序容器SDK載入並運行該第三方APP小程序原始程式碼。
- 一種APP中引入小程序的裝置,其主要包括: 第二獲取子單元,用於獲取跨平臺小程序原始程式碼; 原始程式碼轉換子單元,用於將該跨平臺小程序原始程式碼轉換為第三方APP小程序原始程式碼,向第三方APP提供該第三方APP小程序原始程式碼,以使該第三方APP利用自身集成的小程序容器SDK載入並運行該第三方APP小程序原始程式碼。
- 一種計算機可讀存儲介質,其主要存儲有計算機程式,該計算機程式被處理器執行時實現如求項8至9中任一項所述之第三方行動應用程式中引入小程序的方法,或實現如請求項10至15中任一項所述之第三方行動應用程式中引入小程序的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210833937.1A CN115268998A (zh) | 2022-07-14 | 2022-07-14 | 第三方app中引入小程序的系统、方法、装置及介质 |
CN202210833937.1 | 2022-07-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202403541A true TW202403541A (zh) | 2024-01-16 |
Family
ID=83765149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111148925A TW202403541A (zh) | 2022-07-14 | 2022-12-20 | 第三方行動應用程式中引入小程序的系統、方法、裝置及介質 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN115268998A (zh) |
TW (1) | TW202403541A (zh) |
WO (1) | WO2024011825A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115268998A (zh) * | 2022-07-14 | 2022-11-01 | 中国银联股份有限公司 | 第三方app中引入小程序的系统、方法、装置及介质 |
CN116382775B (zh) * | 2023-03-15 | 2024-08-30 | 中电金信软件有限公司 | 基于Hbuilderx插件的多平台程序包生成方法 |
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
Also Published As
Publication number | Publication date |
---|---|
CN115268998A (zh) | 2022-11-01 |
WO2024011825A1 (zh) | 2024-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202403541A (zh) | 第三方行動應用程式中引入小程序的系統、方法、裝置及介質 | |
CN111176626B (zh) | 跨编程语言的代码调用方法及装置、介质、设备 | |
US9678767B2 (en) | Unified extensible firmware interface (UEFI) driver and protocol | |
US20190324729A1 (en) | Web Application Development Using a Web Component Framework | |
US8516455B2 (en) | Dynamic loading of kernel extensions | |
CN112698867A (zh) | 注解信息的动态修改方法、装置、电子设备及介质 | |
CN112114789B (zh) | 一种业务开发方法及设备 | |
CN111880863A (zh) | 应用程序的运行方法、装置、电子设备及存储介质 | |
CN111596951A (zh) | 一种工程文件的配置方法及装置 | |
CN110502439B (zh) | 调试方法、装置、电子设备以及存储介质 | |
CN103631585A (zh) | 一种用于开发应用程序的方法及系统 | |
TWI447647B (zh) | 用於執行機器人應用程序的終端裝置 | |
CN114281404B (zh) | 一种工控机算法代码的移植方法及装置 | |
CN113778451B (zh) | 文件加载方法、装置、计算机系统和计算机可读存储介质 | |
CN112685095B (zh) | 一种虚拟设备的加载方法、装置、设备及存储介质 | |
CN113835680B (zh) | 应用程序的生成方法、装置、电子设备及计算机存储介质 | |
CN112306844B (zh) | 软件开发系统的接口测试方法、装置、设备及存储介质 | |
CN115237458A (zh) | 一种调用推理硬件执行ai应用的方法及相关产品 | |
CN114895921B (zh) | 文件处理方法、装置、电子设备及存储介质 | |
CN113590226B (zh) | 引擎编辑器的启动方法、装置、电子设备及存储介质 | |
CN117056317B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
US20240020133A1 (en) | Systems and methods to bridge platforms | |
KR101019688B1 (ko) | 고레벨 언어 기반 임베디드 시스템 | |
CN102375740A (zh) | 手持装置及利用其实现Java组件与自定义构件互操作的方法 | |
CN115185522A (zh) | H5页面开发方法、装置、终端设备及可读存储介质 |