TWI650645B - 基於Hybrid的兼容方法、適配件、運行裝置及系統 - Google Patents
基於Hybrid的兼容方法、適配件、運行裝置及系統 Download PDFInfo
- Publication number
- TWI650645B TWI650645B TW106138203A TW106138203A TWI650645B TW I650645 B TWI650645 B TW I650645B TW 106138203 A TW106138203 A TW 106138203A TW 106138203 A TW106138203 A TW 106138203A TW I650645 B TWI650645 B TW I650645B
- Authority
- TW
- Taiwan
- Prior art keywords
- component
- hybrid
- native
- data
- adaptation
- Prior art date
Links
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/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Coupling Device And Connection With Printed Circuit (AREA)
- Telephonic Communication Services (AREA)
Abstract
本發明實施例公開了一種基於Hybrid的兼容方法、適配件、運行裝置及系統,其中方法包括:JS適配組件從第二Hybrid的JS組件獲取第二組件資料;JS適配組件將第二組件資料封裝成適用於第一Hybrid的參數資料包;JS適配組件將第一組件資料傳給第一Hybrid的橋接模組;原生適配組件從第一Hybrid的橋接模組獲取第一組件資料中的參數資料包;原生適配組件解析參數資料包來獲取第二Hybrid的原生組件的類名和方法名;原生適配組件根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用規則調用第二Hybrid的原生組件的介面,進而可以實現不同Hybrid的相互相容。
Description
本發明涉及電腦領域,尤其涉及一種基於Hybrid的兼容方法、適配件、運行裝置及系統。
為了適應移動應用程式的開發需求,利用Hybrid(混合)開發技術開發的混合式移動應用(Hybrid APP)基於開發成本低、維護簡單、用戶體驗較好、可以跨平臺等優勢而越來越受歡迎,Hybrid APP係指介於原生應用和網頁應用之間,常採用原生Web視圖控制項(Webview)為載體,將wap或者web頁面嵌入到用戶端軟體中提供功能。Hybrid APP兼具原生應用開發(Native App)良好互動體驗的優勢和網頁應用開發(Web App)跨平臺開發的優勢。然而現有方式中由於每個Hybrid框架都有各自的資料封裝方式,一個Hybrid框架內的資料形式與另一個Hybrid框架的資料形式的不同導致了一個Hybrid框架不能使用另一個Hybrid框架的組件,即使一個開源Hybrid框架的組件也不能被另一個Hybrid框架使用,這使得混合式移動應用開發工作的開發成本升高,開發人員的開發工效低。
本發明實施例提供一種基於Hybrid的兼容方法、適配件、運行裝置及系統,可以使不同Hybrid相互相容,即一個Hybrid框架可以使用另一個Hybrid框架的組件,節省了開發工作的開發成本和提高開發人員的開發工效。
第一方面,本發明實施例提供了一種基於Hybrid的兼容方法,該方法包括:第一Hybrid的JS適配組件從第二Hybrid的JS組件獲取第二組件資料,第二組件資料包括用於執行當前業務的第二Hybrid的原生組件的類名和方法名;JS適配組件將第二組件資料封裝成適用於第一Hybrid的參數資料包;JS JS適配組件將第一組件資料傳給第一Hybrid的橋接模組,第一組件資料包括參數資料包以及預存的與JS適配組件相對應的第一Hybrid中的原生適配組件的類名和方法名,原生適配組件的類名和方法名用於供第一Hybrid的橋接模組調用相對應的原生適配組件的介面進行資料傳輸;相對應的原生適配組件從第一Hybrid的橋接模組獲取第一組件資料中的參數資料包;原生適配組件解析參數資料包來獲取第二Hybrid的原生組件的類名和方法名;原生適配組件根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸,以供第二Hybrid的原生組件執行當前業務。
另一方面,本發明實施例提供了一種適配件,適配件設置於第一Hybrid,用於使第二Hybrid的組件與第一Hybrid相相容,適配件包括JS適配組件和原生適配組件,JS適配組件包括第一接收單元、第一封裝單元和第一調用單元,原生適配組件包括第二接收單元、解析單元以及第二調用單元;第一接收單元,用於從第二Hybrid的JS組件獲取第二組件資料,第二組件資料包括用於執行當前業務的第二Hybrid的原生組件的類名和方法名;第一封裝單元,用於將第二組件資料封裝成適用於第一Hybrid的參數資料包;第一調用單元,用於將第一組件資料傳給第一Hybrid的橋接模組,第一組件資
料包括參數資料包以及預存的與JS適配組件相對應的第一Hybrid中的原生適配組件的類名和方法名,原生適配組件的類名和方法名用於供第一Hybrid的橋接模組調用相對應的原生適配組件的介面進行資料傳輸;第二接收單元,用於相對應的原生適配組件從第一Hybrid的橋接模組獲取第一組件資料中的參數資料包;解析單元,用於解析參數資料包來獲取第二Hybrid的原生組件的類名和方法名;第二調用單元,用於根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸,以供第二Hybrid的原生組件執行當前業務。
另一方面,本發明實施例提供了一種基於Hybrid的運行裝置,運行裝置包括第一Hybrid的框架,第一Hybrid包括適配件和橋接模組,適配件包括JS適配組件和原生適配組件,第一Hybrid的橋接模組用於連接JS適配組件和原生適配組件;JS適配組件包括第一接收單元、第一封裝單元和第一調用單元,原生適配組件包括第二接收單元、解析單元以及第二調用單元;第一接收單元,用於從第二Hybrid的JS組件獲取第二組件資料,第二組件資料包括用於執行當前業務的第二Hybrid的原生組件的類名和方法名;第一封裝單元,用於將第二組件資料封裝成適用於第一Hybrid的參數資料包;第一調用單元,用於將第一組件資料傳給第一Hybrid的橋接模組,第一組件資料包括參數資料包以及預存的與JS適配組件相對應的第一Hybrid中的原生適配組件的類名和方法名,原生適配組件的類名和方法名用於供第一Hybrid的橋接模組調用相對應的原生適配組件的介面進行資料傳輸;第二接收單元,用於相對應的原生適配組件從第一Hybrid的橋接模組獲取第一組件資料中的參數資
料包;解析單元,用於解析參數資料包來獲取第二Hybrid的原生組件的類名和方法名;第二調用單元,用於根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸,以供第二Hybrid的原生組件執行當前業務。
另一方面,本發明實施例提供了一種基於Hybrid的運行系統,運行系統包括第一Hybrid和第二Hybrid的JS組件和第二Hybrid的原生組件,第一Hybrid包括適配件和橋接模組,適配件包括JS適配組件和原生適配組件,第一Hybrid的橋接模組用於連接JS適配組件和原生適配組件,JS適配組件用於連接第二Hybrid的JS組件和第一Hybrid的橋接模組,原生適配組件用於連接第一Hybrid的橋接模組和第二Hybrid的原生組件;其中,JS適配組件包括第一接收單元、第一封裝單元和第一調用單元,原生適配組件包括第二接收單元、解析單元以及第二調用單元;第一接收單元,用於從第二Hybrid的JS組件獲取第二組件資料,第二組件資料包括用於執行當前業務的第二Hybrid的原生組件的類名和方法名;第一封裝單元,用於將第二組件資料封裝成適用於第一Hybrid的參數資料包;第一調用單元,用於將第一組件資料傳給第一Hybrid的橋接模組,第一組件資料包括參數資料包以及預存的與JS適配組件相對應的第一Hybrid中的原生適配組件的類名和方法名,原生適配組件的類名和方法名用於供第一Hybrid的橋接模組調用相對應的原生適配組件的介面進行資料傳輸;第二接收單元,用於相對應的原生適配組件從第一Hybrid的橋接模組獲取第一組件資料中的參數資料包;解析單元,用於解析參數資料包來獲取第二Hybrid的原生組件的類名和方法名;第二調用單元,用於根據第二Hybrid的原生組件的類名和方法名並按
照預設的第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸,以供第二Hybrid的原生組件執行當前業務。
本發明實施例所公開的一種基於Hybrid的兼容方法、適配件、運行裝置及系統,通過上述方法將第二Hybrid的第二組件資料封裝成適用於第一Hybrid的參數資料包,以便可以將其傳入第一Hybrid的橋接模組,並使原生適配組件按照第二Hybrid的原生組件的調用規則調用第二Hybrid的原生組件的介面來傳輸資料,實現不同Hybrid的相互相容,進而使一個Hybrid可以調用另一個Hybrid的組件,節省開發周期以及成本並提高開發效率。
1‧‧‧JS組件
11‧‧‧JS組件介面
2‧‧‧橋接模組
21‧‧‧JS層
211‧‧‧JS介面
212‧‧‧JS回調介面
22‧‧‧原生Web視圖控制項
23‧‧‧原生層
231‧‧‧原生層介面
232‧‧‧原生層回調介面
3‧‧‧原生組件
31‧‧‧原生組件介面
4‧‧‧JS組件
5‧‧‧原生組件
6‧‧‧第一Hybrid
7‧‧‧橋接模組
8‧‧‧JS適配組件
9‧‧‧原生適配組件
10‧‧‧JS組件
11‧‧‧原生組件
12‧‧‧適配件
S301‧‧‧第一Hybrid的JS適配組件從第二Hybrid的JS組件獲取第二組件資料
S302‧‧‧JS適配組件將第二組件資料封裝成適用於第一Hybrid的參數資料包
S303‧‧‧JS適配組件將第一組件資料傳給第一Hybrid的橋接模組,第一組件資料包括參數資料包以及預存的與JS適配組件相對應的原生適配組件的類名和方法名
S304‧‧‧第一Hybrid的橋接模組的JS層將第一組件資料傳輸至原生層。具體的,第一組件資料經由Webview再傳入原生層,即通過調用第一Hybrid的原生層介面來實現資料傳輸
S305‧‧‧原生層根據第一組件資料中的原生適配組件的類名和方法名調用相對應的第一Hybrid的原生適配組件的原生適配介面來實現資料傳輸
S306‧‧‧相對應的原生適配組件從第一Hybrid的橋接模組獲取該第一組件資料中的參數資料包
S307‧‧‧原生適配組件解析參數資料包來獲取第二Hybrid的原生組件的類名和方法名
S308‧‧‧適配組件根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸,以供第二Hybrid的原生組件執行當前業務
S401‧‧‧原生適配組件從第二Hybrid的原生組件獲取完成任務後的回調資料
S402‧‧‧原生適配組件根據預設的第一Hybrid的回調規則將回調資料封裝為適於第一Hybrid的回調資料
S403‧‧‧原生適配組件發送回調資料至第一Hybrid的橋接模組
S404‧‧‧JS適配組件從第一Hybrid的橋接模組獲取回調資料
S405‧‧‧JS適配組件按照預設的第二Hybrid的JS組件的回調規則將回調資料發送給第二Hybrid的JS組件
50‧‧‧運行系統
51‧‧‧運行裝置
52‧‧‧JS組件
53‧‧‧原生組件
54‧‧‧橋接模組
541‧‧‧第一傳送單元
542‧‧‧第二傳送單元
543‧‧‧第一產生實體單元
55‧‧‧適配件
56‧‧‧JS適配組件
561‧‧‧第一接收單元
562‧‧‧第一封裝單元
563‧‧‧第一調用單元
564‧‧‧第一回調單元
565‧‧‧第一發送單元
57‧‧‧原生適配組件
571‧‧‧第二接收單元
572‧‧‧解析單元
573‧‧‧第二調用單元
574‧‧‧第二回調單元
575‧‧‧第二封裝單元
576‧‧‧第二發送單元
601‧‧‧處理器
602‧‧‧記憶體
[圖1]係本發明提供的一種標準Hybird的架構示意圖;[圖2]係本發明實施例提供的一種基於Hybrid的運行系統的架構示意圖;[圖3]係本發明實施例提供的一種基於Hybrid的兼容方法的示意性流程圖;[圖4]係本發明實施例提供的一種基於Hybrid的兼容方法中回調過程的示意性流程圖;[圖5]係本發明實施例提供的一種基於Hybrid的運行系統的功能模組圖;[圖6]係本發明實施例提供的一種基於Hybrid的運行系統的硬體結構圖。
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例係本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
應當理解,當在本說明書和所附權利要求書中使用時,術語“包括”和“包含”指示所描述特徵、整體、步驟、操作、元素和/或組件的存在,但並不排除一個或若干個其它特徵、整體、步驟、操作、元素、組件和/或其集合的存在或添加。還應當理解,在此本發明說明書中所使用的術語僅僅係出於描述特定實施例的目的而並不意在限制本發明。如在本發明說明書和所附權利要求書中所使用的那樣,除非上下文清楚地指明其它情況,否則單數形式的“一”、“一個”及“該”意在包括複數形式。
請看圖1,係本發明提供的一種標準Hybird的框架第一示意圖。如圖所示,現有的標準Hybird框架包括橋接模組2、與橋接模組2通訊連接的一個或一個以上的JS(Javascript)組件1,和一個或一個以上的原生(Native)組件3,其中,JS組件1與原生組件3係具有對應關係。本實施例中優選具有相對應關係的JS組件1與原生組件3係具有特定功能的一個Hybird組件在JS側的代碼和在Native側的代碼,即一個Hybird組件包括一組JS組件1和原生組件3。特定功能表示為處理特定業務的功能。如圖所示,Hybird組件A包括JS組件和原生組件,該JS組件係組件A在JS側的代碼,該原生組件係組件A在Native側的代碼。
需要說明的係,橋接模組2為Hybird中的JSBirdge,橋接模組2的作用為JS組件1與原生組件3的通訊橋樑。橋接模組2包括JS層21和原生(Native)層23,其中原生層23係原生代碼層,而原生代碼係ios/android傳統用戶端軟體發展,即使用特定平臺語音和工具開發用戶端軟體方式。JS層21包括JS介面211和JS回調介面212,原生層23包括原生層介面231和原生層回調介面232。JS介面211用於接收JS組件1的調用通知;JS回調介面用於回調相應的JS組件的JS組件介面;原生層介面231用於Hybird的原生層23接收JS層21調用通知;原生層回調
介面232用於Hybird的原生層23接收到原生組件3的回調後再發送給JS回調介面212。利用Hybird開發的應用程式APP係將網頁應用開發和原生應用開發相結合,例如前端頁面上的一個按鈕,點擊按鈕後需要本地端執行一個耗時任務。
因此,標準的Hybird執行業務時的資料傳輸過程如下所示:JS組件1通過JS組件介面11從HTML5/javascript業務層接收業務資料,JS組件1再調用橋接模組2中的JS介面211來傳輸資料,資料經由原生Web視圖控制項22傳輸至原生(Native)層23,原生層23再調用原生組件3中的原生組件介面31來傳輸資料用以執行業務。而執行業務後的回調資料由原生組件3調用橋接模組2中的原生層回調介面232來傳輸資料,並經由原生Web視圖控制項22傳輸至JS層21,再調用JS組件介面11將回調資料返回至JS組件1。其中,原生Web視圖控制項22係作為載體的APP嵌入式瀏覽器控制項。
由於不同Hybird中JS組件1、原生組件3與橋接模組2之間的調用方式可能不同或資料封裝方式不同,如一個Hybird調用原生組件的調用規則不同或者一個Hybird的資料封裝方式與另一個Hybird的資料封裝方式不同均可導致一個Hybird不能調用另一個Hybird的組件,進而使得不同Hybird無法相兼容。為瞭解决上述不同Hybird不相兼容的問題,本發明實施例提供了一種適配件,係用於實現第二Hybrid的JS組件和第二Hybrid的原生組件與第一Hybrid通訊的適配組件,適配件係根據第一Hybrid組件的規則進行開發,因此,適配件可視為具有適配功能的第一Hybrid組件如適配組件,本發明實施例中,適配件包括JS適配組件和原生適配組件,其中JS適配組件可視為一個第一Hybrid的JS組件,原生適配組件可視為一個第一Hybrid的原生組件,JS適配組件和原生適配組件係適配組件在JS側的代碼和在Native側的代碼。
請看圖2,係本發明實施例提供的一種基於Hybrid的運行系統的架構示意圖。如圖所示,運行系統包括第一Hybrid 6和一個或一個以上的第二Hybrid的JS組件4和一個或一個以上的第二Hybrid的原生組件5。第一Hybrid 6包括適配件12和橋接模組7以及一個或一個以上的第一Hybrid的JS組件10和一個或一個以上的第一Hybrid的原生組件11,其中,適配件12包括JS適配組件8和原生適配組件9,第一Hybrid的橋接模組7連接於JS適配組件8和原生適配組件9。適配件12係用於實現第二Hybrid的JS組件4和第二Hybrid的原生組件5與第一Hybrid 6通訊的適配組件,進而使第一Hybrid 6可以調用第二Hybrid的JS組件4和第二Hybrid的原生組件5。具體實現時,JS適配組件8用於連接第二Hybrid的JS組件4和第一Hybrid的橋接模組7;原生適配組件9用於連接第二Hybrid的原生組件5與第一Hybrid的橋接模組7,進而實現第二Hybrid的JS組件4和第二Hybrid的原生組件5與第一Hybrid 6的通訊。
其中第二Hybrid的JS組件4和第二Hybrid的原生組件5係具有對應關係的組件。本實施例中一對第二Hybrid的JS組件4和第二Hybrid的原生組件5係具有特定功能的第二Hybrid組件下的兩個小組件,優選第二Hybrid的JS組件4和第二Hybrid的原生組件5一一對應,其他可行的實施例中,第二Hybrid的JS組件4和第二Hybrid的原生組件5可以係一個對多或者多對多的關係,其對應關係係根據業務需求進行劃分的。應當理解,一對第二Hybrid的JS組件4和第二Hybrid的原生組件5係一個第二Hybrid組件在JS側的代碼和在Native側的代碼。同理,JS適配組件8和原生適配組件9具有對應關係,第一Hybrid的JS組件10與第一Hybrid的原生組件11具有對應關係。
基於上述該的適配件以及運行系統的架構,本發明實施例提供了一種基於Hybrid的兼容方法,該兼容方法使兩個或兩個以上的Hybrid框架相相容,一個Hybrid框架可以調用另一個Hybrid框架的組件,節省開發成本。請看圖3,係本發明實施例提供的一種基於Hybrid的兼容方法的示意性流程圖,如圖所示,所示兼容方法包括步驟S301~S309:
S301,第一Hybrid的JS適配組件從第二Hybrid的JS組件獲取第二組件資料。
具體的,由上述運行系統的架構可知,第一Hybrid包括適配件和橋接模組,適配件包括JS適配組件和原生適配組件,JS適配組件連接第二Hybrid的JS組件和第一Hybrid的橋接模組;原生適配組件用於連接第二Hybrid的原生組件與第一Hybrid的橋接模組。
第二組件資料包括用於執行當前業務的第二Hybrid的原生組件的類名和方法名。應當理解,組件的類名和方法名係組件的身份標識,根據組件的類名和方法名可以調用到相對應的組件的介面以實現資料傳輸。故第二Hybrid的原生組件的類名和方法名係第二Hybrid的原生組件的身份標識,根據上述類名和方法名可以調用到相對應的第二Hybrid的原生組件。進一步的,第二組件資料還包括第二Hybrid的原生組件的輸入參數。輸入參數係需要傳入第二Hybrid的原生組件的且與當前業務相關的參數,以便第二Hybrid的原生組件執行當前業務。在一些實施例中,輸入參數係從業務層下發的業務參數,在另一些實施例中,輸入參數係業務層下發的業務參數經由資料封裝或格式化等操作並適用於調用方法的參數。更進一步地,第二組件資料還包括成功回呼函數和失敗回呼函數,以供資料回調時使用。
需要說明的係,JS適配組件包括JS適配介面,JS適配組件通過JS適配介面從第二Hybrid的JS組件獲取第二組件資料。在一些實施例中,若不同Hybrid暴露給JS組件的JS介面不同時,JS適配介面類比第二Hybrid的JS介面以便第二Hybrid的JS組件調用JS適配介面,其中第二Hybrid的JS介面係原本用於供第二Hybrid的橋接模組接收第二Hybrid的JS組件的調用通知來獲取第二組件資料。在另一些實施例中,若不同Hybrid暴露給JS組件的JS介面相同時,JS適配介面與第二Hybrid的JS介面也相同。應當理解,由於JS適配介面係類比第二Hybrid的JS介面的或者JS適配介面與第二Hybrid的JS介面係相同的,因此第二組件資料未被修改時也可調用到JS適配介面來實現資料傳輸,下文將進行具體描述。
還需要說明的係,在另一些實施例中,JS適配組件從第二Hybrid的JS組件獲取第二組件資料之前,該方法還包括:JS適配組件從業務層獲取到待通訊的第二Hybrid的JS組件的資訊;JS適配組件發送調用指令給第二Hybrid的JS組件,調用指令用於使第二Hybrid的JS組件根據調用指令調用JS適配組件中JS適配介面來傳輸第二Hybrid的JS組件資料,例如調用指令可以包括JS適配組件的JS適配介面的資訊以及調用規則等。
S302,JS適配組件將第二組件資料封裝成適用於第一Hybrid的參數資料包。
具體的,按照預設的適用於第一Hybrid調用的參數規律封裝第二組件資料為參數資料包,其中參數規律包括資料的組織方式和結構等。應當理解,這係基於不同Hybrid的參數規律不同,導致第二組件資料無法直接傳輸至第一
Hybrid的橋接模組。應當理解,參數資料包可以視為JS適配組件傳輸給原生適配組件的傳入參數,即將第二組件資料封裝成原生適配組件的傳入參數的方式。
S303,JS適配組件將第一組件資料傳給第一Hybrid的橋接模組,第一組件資料包括參數資料包以及預存的與JS適配組件相對應的原生適配組件的類名和方法名。
具體的,原生適配組件的類名和方法名用於供第一Hybrid的橋接模組調用相對應的原生適配組件的介面進行資料傳輸,其中,JS適配組件將第一組件資料傳給第一Hybrid的橋接模組具體包括:JS適配組件調用第一Hybrid的JS介面來傳輸第一組件資料至第一Hybrid的橋接模組。
這係基於JS適配組件可以視為一個第一Hybrid的JS組件,因此JS適配組件可以直接調用第一Hybrid的JS介面。另一方面,通過上述傳輸,第一組件資料傳入了第一Hybrid的橋接模組的JS層並在JS層進行了一些處理。
S304,第一Hybrid的橋接模組的JS層將第一組件資料傳輸至原生層。
具體的,第一組件資料經由Webview再傳入原生層,即通過調用第一Hybrid的原生層介面來實現資料傳輸。
S305,原生層根據第一組件資料中的原生適配組件的類名和方法名調用相對應的第一Hybrid的原生適配組件的原生適配介面來實現資料傳輸。
這係基於原生適配組件可視為一個第一Hybrid的原生組件,因此原生層可以直接調用原生適配組件的原生適配介面。
S306,相對應的原生適配組件從第一Hybrid的橋接模組獲取該第一組件資料中的參數資料包。
S307,原生適配組件解析參數資料包來獲取第二Hybrid的原生組件的類名和方法名。
應當理解,解析參數資料包還可以獲取到第二Hybrid的原生組件的輸入參數。
S308,原生適配組件根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸,以供第二Hybrid的原生組件執行當前業務。
具體的,可能存在不同Hybrid的橋接模組調用原生組件的調用規則不同,因此原生適配組件調用第二Hybrid的原生組件係需要按照第二Hybrid的原生組件的調用規則調用。例如調用函數不同時,則需要按照第二Hybrid的原生組件的調用函數進行調用。還應當理解,調用相對應的第二Hybrid的原生組件的介面以將第二Hybrid的原生組件的傳入參數發送給相對應的第二Hybrid的原生組件。
相較於上述方案,優選地,JS適配組件從第二Hybrid的JS組件獲取第二組件資料,具體包括:JS適配組件通過JS適配介面從第二Hybrid的JS組件獲取第二組件資料,JS適配介面係類比第二Hybrid的JS介面,第二Hybrid的JS介面用於供第二Hybrid的橋接模組從第二Hybrid的JS組件獲取第二組件資料。
需要說明的係,基於不同Hybrid暴露給JS組件的JS介面不同時,優選執行上述方案。例如若第二Hybrid暴露給第二Hybrid的JS組件的第二Hybrid的JS
介面與第一Hybrid暴露給第一Hybrid的JS組件的第一Hybrid的JS介面不同時,JS適配介面係需類比第二Hybrid的JS介面。另一方面,在其他可行的實施例中,若第二Hybrid暴露給第二Hybrid的JS組件的第二Hybrid的JS介面與第一Hybrid暴露給第一Hybrid的JS組件的第一Hybrid的JS介面相同時,JS適配介面也需與第二Hybrid的JS介面相同以便資料。
還需要說明的係,在一些可行的實施例中,JS適配介面包括第一JS適配介面和第二JS適配介面,其中第二JS適配介面用於供JS適配組件從第二Hybrid的JS組件獲取第二組件資料,第二JS適配介面係類比第二Hybrid的JS介面;第一JS適配介面係用於供JS適配組件調用第一Hybrid的JS介面來實現資料傳輸,第一JS適配介面與第一Hybrid的JS組件介面相同。在另一些可行的實施例中,JS適配介面既充當被第二Hybrid的原生組件調用的介面,同時還充當用於調用第一Hybrid的JS介面的介面。
同理,在一些可行的實施例中,原生適配介面包括第一原生適配介面和第二原生適配介面,其中第一原生適配介面與第一Hybrid的原生組件的介面相同,用於供第一Hybrid的原生層調用以傳輸資料;第二原生適配介面用於調用第二Hybrid的原生組件的介面來實現資料傳輸。或者在其他可行的實施例中,原生適配介面既充當被第一Hybrid的橋接模組的原生層調用的介面,同時還充當用於調用第二Hybrid的原生組件的介面的介面。
綜上該,基於在不同Hybrid的橋接模組從JS組件獲取組件資料封裝方式不同,導致一個Hybrid的組件資料係無法直接傳入另一個Hybrid的橋接模組,因此本發明實施例通過上述方法將第二Hybrid的第二組件資料封裝成適用於第一Hybrid的參數資料包,以便可以將其傳入第一Hybrid的橋接模組;另一
方面,由於存在不同Hybrid的橋接模組調用原生組件的調用規則不同,而導致一個Hybrid的橋接模組係無法將資料傳入另一Hybrid的原生組件中,因此本發明實施例通過上述方法使原生適配組件按照第二Hybrid的原生組件的調用規則調用第二Hybrid的原生組件的介面來傳輸資料。再者,若不同Hybrid的橋接模組暴露給JS組件的JS介面不同而導致無法相容,本發明實施例通過上述方法將JS適配組件中的JS適配介面類比第二Hybrid的JS介面,以便JS適配組件可以從第二Hybrid的JS組件獲取到第二組件資料。
相較於上述方案,在其他可行的實施例中,若執行完當前業務後,需要將資料回調時,則需要將執行業務後的回調資料從第二Hybrid的原生組件回調至第二Hybrid的JS組件。請看圖4,係本發明實施例提供的一種基於Hybrid的兼容方法中回調過程的示意性流程圖。如圖所示,上述一種基於Hybrid的兼容方法,還包括:
S401,原生適配組件從第二Hybrid的原生組件獲取完成任務後的回調資料。
具體的,回調資料係執行業務後生成的資料。例如本地執行完任務後,頁面上的資訊需要同步更新時,則需要將本地執行任務後生成的資料返回至JS組件。
一方面,若存在第二Hybrid暴露給第二Hybrid的原生組件的第二Hybrid的原生層回調介面與第一Hybrid暴露給第一Hybrid的原生組件的原生層回調介面不同時,優選原生適配組件包括原生適配回調介面,原生適配組件從第二Hybrid的原生組件獲取完成任務後的回調資料,具體包括:
原生適配組件通過原生適配回調介面從第二Hybrid的原生組件獲取完成任務後的回調資料,原生適配回調介面係類比第二Hybrid的原生層回調介面,第二Hybrid的原生層回調介面原本用於供第二Hybrid的橋接模組從第二Hybrid的JS組件獲取回調資料。
或者在其他可行的實施例中,原生適配回調介面與第二Hybrid的原生層回調介面相同。
S402,原生適配組件根據預設的第一Hybrid的回調規則將回調資料封裝為適於第一Hybrid的回調資料。
具體的,基於不同Hybrid的橋接模組所需要的回調資料的資料封裝方式不同,因此一個Hybrid的回調資料不能適用於不同Hybrid的橋接模組。故本實施中將回調資料封裝為適用於第一Hybrid的回調資料。
S403,原生適配組件發送回調資料至第一Hybrid的橋接模組。
這是基於原生適配組件可視為一個第一Hybrid的原生組件,因此原生適配組件可以直接調用原生層的原生層回調介面來發送回調資料。其中,回調資料在第一Hybrid的橋接模組經由原生層、Webview、再到JS層。
S404,JS適配組件從第一Hybrid的橋接模組獲取回調資料。
這是基於JS適配組件可以視為一個第一Hybrid的JS組件,第一Hybrid的橋接模組中的JS層可以直接調用JS適配組件JS適配回調介面來傳送回調資料。
S405,JS適配組件按照預設的第二Hybrid的JS組件的回調規則將回調資料發送給第二Hybrid的JS組件。
具體的,可能存在不同Hybrid的橋接模組調用JS組件的調用規則不同,因此JS適配組件調用第二Hybrid的JS組件係需要按照第二Hybrid的JS組件的調用規則調用。例如調用函數不同時,則需要按照第二Hybrid的JS組件的調用函數進行調用。
相較於上述方案,進一步地優選根據產生實體物件進行調取回調資料時,基於上述回調過程的方法,其中,步驟S305原生層根據第一組件資料中的原生適配組件的類名和方法名調用相對應的第一Hybrid的原生適配組件的原生適配介面來實現資料傳輸之前,該兼容方法還包括:原生層根據第一組件資料生成原生適配組件的第一回調實例物件。具體的,根據第一組件資料中的參數資料包以及原生適配組件的類名和方法名生成原生適配組件的第一回調實例物件,其產生實體物件的過程為:反射機制產生實體對應的類物件,並調用對應的方法名,在調用方法的參數中放入與業務相關的參數資訊。
因此,步驟S306相對應的原生適配組件從第一Hybrid的橋接模組獲取該第一組件資料中的參數資料包具體包括:相對應的原生適配組件從第一Hybrid的橋接模組獲取第一組件資料中的參數資料包和第一回調實例物件。
因此,步驟S308原生適配組件根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸具體包括:
原生適配組件根據第二組件資料類比出第二Hybrid的原生組件的第二回調實例物件;以及原生適配組件根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面來將第二回調實例物件以及輸入參數傳輸至第二Hybrid的原生組件。
具體的,根據第二組件資料中的第二Hybrid的原生組件的類名和方法名以及輸入參數生成第二Hybrid的原生組件的第二回調實例物件。
因此,步驟S401原生適配組件從第二Hybrid的原生組件獲取完成任務後的回調資料,具體包括:原生適配組件根據第二Hybrid的原生組件的第二回調實例物件從第二Hybrid的原生組件獲取回調資料。
更進一步地優選,原生適配組件根據第二Hybrid的原生組件的第二回調實例物件並通過原生適配回調介面從第二Hybrid的原生組件獲取回調資料。其中原生適配回調介面係類比第二Hybrid的原生層回調介面。
因此,S402原生適配組件根據預設的第一Hybrid的回調規則將回調資料封裝為適於第一Hybrid的回調資料,具體係:原生適配組件根據預設的第一Hybrid的回調規則將回調資料封裝為適於第一Hybrid的第一回調實例物件的資料。
應當理解,根據產生實體物件進行調取回調資料時,原生適配組件根據第二回調實例物件從第二Hybrid的原生組件調用回調資料,第一Hybrid的橋接模組根據第一回調實例物件從原生適配組件調用回調資料。通過上述方式,可以更加快速的確認回調資料的調用途徑,提高回調效率。其中第一回調實例
係在第一Hybrid的橋接模組的原生層生成;第二回調實例係在原生適配組件中生成。
還需要說明的係,在一些可行的實施例中,原生適配回調介面包括第一原生適配回調介面和第二原生適配回調介面,其中第二原生適配回調介面用於供原生適配組件從第二Hybrid的原生組件獲取回調資料,第二原生適配回調介面係類比第二Hybrid的原生層回調介面;第一原生適配回調介面係用於供原生適配組件調用第一Hybrid的橋接模組的原生層的第一原生層回調介面,第一原生適配回調介面與第一Hybrid的原生組件的介面相同。在另一些可行的實施例中,原生適配回調介面既充當被第二Hybrid的原生組件調用的介面,同時還充當用於調用原生層的第一原生層回調介面的介面。
同理,在一些可行的實施例中,JS適配回調介面包括第一JS適配回調介面和第二JS適配回調介面,其中第一JS適配回調介面與第一Hybrid的JS組件的第一Hybrid的JS組件介面相同,用於供第一Hybrid的橋接模組的JS層調用以傳輸資料;第二JS適配回調介面用於調用第二Hybrid的JS組件的介面來實現資料傳輸。或者在其他可行的實施例中,JS適配回調介面既充當被第一Hybrid的橋接模組的JS層調用的介面,同時還充當用於調用第二Hybrid的JS組件的介面的介面。
綜上該,在需要將回調資料返回至第二Hybrid的原生組件時,基於在不同Hybrid的回調資料封裝方式不同,導致一個Hybrid的回調資料係無法直接傳入另一個Hybrid的橋接模組,因此本發明實施例通過上述方法將第二Hybrid的回調資料封裝成適用於第一Hybrid的回調資料,以便可以將其傳入第一Hybrid的橋接模組;另一方面,由於存在不同Hybrid的橋接模組調用JS組件的
調用規則不同,而導致一個Hybrid的橋接模組係無法將資料傳入另一Hybrid的JS組件中,因此本發明實施例通過上述方法使JS適配組件按照第二Hybrid的JS組件的調用規則調用第二Hybrid的JS組件的介面來傳輸資料。再者,若不同Hybrid的橋接模組暴露給原生組件的原生層回調介面不同而導致無法相容,本發明實施例將原生適配組件中的原生適配回調介面類比第二Hybrid的原生層回調介面,以便原生適配組件可以從第二Hybrid的原生組件獲取到回調資料。另一方面,還可以根據產生實體物件進行資料回調,具體的原生適配組件根據第二回調實例物件從第二Hybrid的原生組件調用回調資料,第一Hybrid的橋接模組根據第一回調實例物件從原生適配組件調用回調資料。提高了回調效率。
請看圖5,係本發明實施例提供的一種基於Hybrid的運行系統的功能模組圖。如圖所示,運行系統50包括運行裝置51一個或一個以上的第二Hybrid的JS組件52和一個或一個以上的第二Hybrid的原生組件53。其中運行裝置51包括第一Hybrid,第一Hybrid包括適配件55和橋接模組54。適配件55包括JS適配組件56和原生適配組件57,其中第一Hybrid的橋接模組54用於連接JS適配組件56和原生適配組件57。
其中,JS適配組件56包括第一接收單元561、第一封裝單元562和第一調用單元563,原生適配組件57包括第二接收單元571、解析單元572以及第二調用單元573。第一Hybrid的橋接模組54包括第一傳送單元541和第二傳送單元542。
第一接收單元561,用於JS適配組件56從第二Hybrid的JS組件52獲取第二組件資料。
具體的,第二組件資料包括用於執行當前業務的第二Hybrid的原生組件53的類名和方法名。第二Hybrid的原生組件53的類名和方法名係第二Hybrid的原生組件53的身份標識,根據上述類名和方法名可以調用到相對應的第二Hybrid的原生組件53。進一步的,第二組件資料還包括第二Hybrid的原生組件53的輸入參數。輸入參數係需要傳入第二Hybrid的原生組件53的且與當前業務相關的參數,以便第二Hybrid的原生組件53執行當前業務。更進一步地,第二組件資料還包括成功回呼函數和失敗回呼函數。
需要說明的是,JS適配組件包括JS適配介面,第一接收單元561通過JS適配介面從第二Hybrid的JS組件獲取第二組件資料,其中JS適配介面係類比第二Hybrid的JS介面的或者JS適配介面與第二Hybrid的JS介面係相同的,而第二Hybrid的JS介面係用於供第二Hybrid的橋接模組接收第二Hybrid的JS組件的調用通知來獲取第二組件資料,因此第二組件資料未被修改時也可調用到JS適配介面來實現資料傳輸。
在另一些實施例中,第一接收單元561,還用於JS適配組件從業務層獲取到待通訊的第二Hybrid的JS組件的資訊。JS適配組件56還包括第一發送單元,第一發送單元,用於JS適配組件發送調用指令給第二Hybrid的JS組件,調用指令用於使第二Hybrid的JS組件根據調用指令調用JS適配組件中JS適配介面來傳輸第二Hybrid的JS組件資料。
第一封裝單元562,用於JS適配組件56將第二組件資料封裝成適用於第一Hybrid的參數資料包。
具體的,按照預設的適用於第一Hybrid調用的參數規律封裝第二組件資料為參數資料包,其中參數規律包括資料的組織方式和結構等。應當理解,
參數資料包可以視為JS適配組件56傳輸給原生適配組件57的傳入參數,即將第二組件資料封裝成原生適配組件57的傳入參數的方式。
第一調用單元563,用於JS適配組件56將第一組件資料傳給第一Hybrid的橋接模組54,第一組件資料包括參數資料包以及預存的與JS適配組件56相對應的原生適配組件57的類名和方法名。
具體的,原生適配組件57的類名和方法名用於供第一Hybrid的橋接模組54調用相對應的原生適配組件57的介面進行資料傳輸,其中,第一調用單元563將第一組件資料傳給第一Hybrid的橋接模組54時,具體用於JS適配組件56調用第一Hybrid的橋接模組54中的第一Hybrid的JS介面來傳輸第一組件資料至第一Hybrid的橋接模組。
這是基於JS適配組件56可以視為第一Hybrid的橋接模組54的一個第一Hybrid的JS組件,因此JS適配組件56可以直接調用第一Hybrid的橋接模組54中的第一Hybrid的JS介面。
第一傳送單元541,用於第一Hybrid的橋接模組54的JS層將第一組件資料傳輸至原生層。
具體的,第一組件資料經由Webview再傳入原生層,即通過調用第一Hybrid的原生層介面來實現資料傳輸。
第二傳送單元542,用於原生層根據第一組件資料中的原生適配組件57的類名和方法名調用相對應的原生適配組件57的原生適配介面來實現資料傳輸。
這是基於原生適配組件57可視為一個第一Hybrid的原生組件,因此原生層可以直接調用原生適配組件57的原生適配介面。
第二接收單元571,用於相對應的原生適配組件57從第一Hybrid的橋接模組54獲取該第一組件資料中的參數資料包。
解析單元572,用於原生適配組件57解析參數資料包來獲取第二Hybrid的原生組件53的類名和方法名。
應當理解,解析參數資料包還可以獲取到第二Hybrid的原生組件53的輸入參數。
第二調用單元573,用於原生適配組件57根據第二Hybrid的原生組件53的類名和方法名並按照預設的第二Hybrid的原生組件53的調用規則調用相對應的第二Hybrid的原生組件53的介面以實現資料傳輸,以供第二Hybrid的原生組件53執行當前業務。
具體的,可能存在不同Hybrid的橋接模組調用原生組件的調用規則不同,因此原生適配組件57調用第二Hybrid的原生組件53係需要按照第二Hybrid的原生組件53的調用規則調用。例如調用函數不同時,則需要按照第二Hybrid的原生組件53的調用函數進行調用。還應當理解,調用相對應的第二Hybrid的原生組件53的介面以將第二Hybrid的原生組件53的傳入參數發送給相對應的第二Hybrid的原生組件53。
相較於上述方案,優選地,第一接收單元561從第二Hybrid的JS組件52獲取第二組件資料時,具體用於JS適配組件56通過JS適配介面從第二Hybrid的JS組件52獲取第二組件資料,JS適配介面係類比第二Hybrid的JS介面,第二Hybrid的JS介面原本用於供第二Hybrid的橋接模組從第二Hybrid的JS組件52獲取第二組件資料。
需要說明的是,這是基於不同Hybrid暴露給JS組件的JS介面不同時,優選執行上述方案。
相較於上述方案,在其他可行的實施例中,若執行完當前業務後,需要將資料回調時,則需要將執行業務後的回調資料從第二Hybrid的原生組件53回調至第二Hybrid的JS組件52。請繼續看圖5,JS適配組件56還包括:第一回調單元564以及第一發送單元565,原生適配組件57還包括:第二回調單元574、第二封裝單元575、以及第二發送單元576。
其中,第二回調單元574,用於原生適配組件57從第二Hybrid的原生組件53獲取完成任務後的回調資料。
具體的,回調資料係更新時,則需要將本地執行任務後生成的資料返回至JS組件。
一方面,若存在第二Hybrid暴露給第二Hybrid的原生組件53的原生層回調介面與第一Hybrid暴露給第一Hybrid的原生組件的原生層回調介面不同時,優選原生適配組件57包括原生適配回調介面,第二回調單元574從第二二Hybrid的原生組件53獲取完成任務後的回調資料時,具體用於原生適配組件57通過原生適配回調介面從第二Hybrid的原生組件53獲取完成任務後的回調資料,原生適配回調介面係類比第二Hybrid的原生層回調介面,第二Hybrid的原生層回調介面原本用於供第二Hybrid的橋接模組從第二Hybrid的JS組件52獲取回調資料。
第二封裝單元575,用於原生適配組件57根據預設的第一Hybrid的回調規則將回調資料封裝為適於第一Hybrid的回調資料。
具體的,基於不同Hybrid的橋接模組所需要的回調資料的資料封裝方式不同,因此一個Hybrid的回調資料不能適用於不同Hybrid的橋接模組。故本實施中將回調資料封裝為適用於第一Hybrid的回調資料。
第二發送單元576,用於原生適配組件57發送回調資料至第一Hybrid的橋接模組54。
這是基於原生適配組件57可視為一個第一Hybrid的原生組件,因此原生適配組件57可以直接調用原生層的原生層回調介面來發送回調資料。其中,回調資料在第一Hybrid的橋接模組54經由原生層、Webview、再到JS層。
第一發送單元565,用於JS適配組件56從第一Hybrid的橋接模組54獲取回調資料。
這是基於JS適配組件56可以視為一個第一Hybrid的JS組件,第一Hybrid的橋接模組54中的JS層可以直接調用JS適配組件56JS適配回調介面來傳送回調資料。
第一回調單元564,用於JS適配組件56按照預設的第二Hybrid的JS組件52的回調規則將回調資料發送給第二Hybrid的JS組件52。
具體的,可能存在不同Hybrid的橋接模組調用JS組件的調用規則不同,因此JS適配組件56調用第二Hybrid的JS組件52係需要按照第二Hybrid的JS組件52的調用規則調用。例如調用函數不同時,則需要按照第二Hybrid的JS組件52的調用函數進行調用。
相較於上述方案,進一步地優選根據產生實體物件進行調取回調資料時,第一Hybrid的橋接模組54還包括第一產生實體單元543。
第一產生實體單元543,用於原生層根據第一組件資料生成原生適配組件57的第一回調實例物件。具體的,根據第一組件資料中的參數資料包以及原生適配組件57的類名和方法名生成原生適配組件57的第一回調實例物件,其產生實體物件的過程為:反射機制產生實體對應的類物件,並調用對應的方法名,在調用方法的參數中放入與業務相關的參數資訊。
第二接收單元571件從第一Hybrid的橋接模組54獲取該第一組件資料中的參數資料包時,具體用於相對應的原生適配組件57從第一Hybrid的橋接模組54獲取第一組件資料中的參數資料包和第一回調實例物件。
第二調用單元573包括:第二產生實體單元以及第三傳送單元,其中,
第二產生實體單元,用於原生適配組件57根據第二組件資料類比出第二Hybrid的原生組件53的第二回調實例物件。
第三傳送單元,用於原生適配組件57根據第二Hybrid的原生組件53的類名和方法名並按照預設的第二Hybrid的原生組件53的調用規則調用相對應的第二Hybrid的原生組件53的介面來將第二回調實例物件以及輸入參數傳輸至第二Hybrid的原生組件53。具體的,根據第二組件資料中的第二Hybrid的原生組件53的類名和方法名以及輸入參數生成第二Hybrid的原生組件53的第二回調實例物件。
第二回調單元574從第二Hybrid的原生組件53獲取完成任務後的回調資料時,具體用於原生適配組件57根據第二Hybrid的原生組件53的第二回調實例物件從第二Hybrid的原生組件53獲取回調資料。
優選,第二回調單元574根據第二Hybrid的原生組件53的第二回調實例物件並通過原生適配回調介面從第二Hybrid的原生組件53獲取回調資料。其中原生適配回調介面係類比第二Hybrid的原生層回調介面。
第二封裝單元575根據預設的第一Hybrid的回調規則將回調資料封裝為適於第一Hybrid的回調資料時,具體用於原生適配組件57根據預設的第一Hybrid的回調規則將回調資料封裝為適於第一Hybrid的第一回調實例物件的資料。
本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬體來完成,也可以通過程式來指令相關的硬體完成,該的程式可以存儲於一種電腦可讀存儲介質中,上述提到的存儲介質可以是唯讀記憶體,磁片或光碟等。
本發明還提供了一種電腦可讀存儲介質,電腦可讀存儲介質存儲有一個或者一個以上程式,一個或者一個以上程式可被一個或者一個以上的處理器執行,以執行以下操作:第一Hybrid的JS適配組件從第二Hybrid的JS組件獲取第二組件資料;JS適配組件將第二組件資料封裝成適用於第一Hybrid的參數資料包;JS適配組件將第一組件資料傳給第一Hybrid的橋接模組,第一組件資料包括參數資料包以及預存的與JS適配組件相對應的原生適配組件的類名和方法名;第一一Hybrid的橋接模組的JS層將第一組件資料傳輸至原生層;原生層根據第一組件資料中的原生適配組件的類名和方法名調用相對應的原生適配組件的原生適配介面來實現資料傳輸;相對應的原生適配組件從第一Hybrid的橋接模組獲取該第一組件資料中的參數資料包;原生適配組件解析參數資料包來獲取第二
Hybrid的原生組件的類名和方法名;原生適配組件根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸,以供第二Hybrid的原生組件執行當前業務。
優選地,JS適配組件從第二Hybrid的JS組件獲取第二組件資料,具體包括:JS適配組件通過JS適配介面從第二Hybrid的JS組件獲取第二組件資料,JS適配介面係類比第二Hybrid的JS介面,第二Hybrid的JS介面用於供第二Hybrid的橋接模組從第二Hybrid的JS組件獲取第二組件資料。
若執行完當前業務後,需要將資料回調時,一個或者一個以上程式可被一個或者一個以上的處理器執行,以執行以下操作:原生適配組件從第二Hybrid的原生組件獲取完成任務後的回調資料;原生適配組件根據預設的第一Hybrid的回調規則將回調資料封裝為適於第一Hybrid的回調資料;原生適配組件發送回調資料至第一Hybrid的橋接模組;JS適配組件從第一Hybrid的橋接模組獲取回調資料;JS適配組件按照預設的第二Hybrid的JS組件的回調規則將回調資料發送給第二Hybrid的JS組件。
若根據產生實體物件進行調取回調資料時,優選地,一個或者一個以上程式可被一個或者一個以上的處理器執行,以執行以下操作:原生層根據第一組件資料生成原生適配組件的第一回調實例物件。
優選地,相對應的原生適配組件從第一Hybrid的橋接模組獲取該第一組件資料中的參數資料包具體係相對應的原生適配組件從第一Hybrid的橋接模組獲取第一組件資料中的參數資料包和第一回調實例物件。
優選地,原生適配組件根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸具體包括:原生適配組件根據第二組件資料類比出第二Hybrid的原生組件的第二回調實例物件;以及原生適配組件根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面,以供將第二回調實例物件以及輸入參數傳輸至第二Hybrid的原生組件。
優選地,原生適配組件從第二Hybrid的原生組件獲取完成任務後的回調資料,具體係原生適配組件根據第二Hybrid的原生組件的第二回調實例物件從第二Hybrid的原生組件獲取回調資料。
優選地,原生適配組件根據預設的第一Hybrid的回調規則將回調資料封裝為適於第一Hybrid的回調資料,具體係:原生適配組件根據預設的第一Hybrid的回調規則將回調資料封裝為適於第一Hybrid的第一回調實例物件的資料。
需要說明的是,實現兩個不同Hybrid的相互相容需要一個匹配的適配件,實現若干個不同Hybrid的相容則需要多個匹配的適配件,其中兩兩Hybrid之間需要一個匹配的適配件,本發明實施例將以兩個不同Hybrid的相互相容為例進行說明。
另一方面,在硬體實現上,以上第一接收單元561、第一封裝單元562以及第一調用單元563等可以以硬體形式內嵌於或獨立於一種基於Hybrid的運行系統中,也可以以硬體形式存儲於一種基於Hybrid的運行系統的記憶體
中,以便於處理器執行以上各個單元對應的操作。該處理器可以為中央處理單元(CPU)、微處理器、單片機等。
如圖6所示,圖6係本發明實施例提供的一種基於Hybrid的運行系統的硬體結構圖,在本實施例中,該一種基於Hybrid的運行系統包括一個或者一個以上處理器601以及記憶體602,處理器601和記憶體602通過匯流排連接。
記憶體602,用於存儲一個或者一個以上程式。具體實現中,本發明實施例的記憶體602可以是系統記憶體,比如,揮發性的(諸如RAM),非易失性的(諸如ROM,快閃記憶體等),或者兩者的結合。具體實現中,本發明實施例的記憶體602還可以是系統之外的外部記憶體,比如,磁片、光碟、磁帶等。
處理器601,用於執行記憶體602中存儲的程式,以執行以下操作:第一Hybrid的JS適配組件從第二Hybrid的JS組件獲取第二組件資料;JS適配組件將第二組件資料封裝成適用於第一Hybrid的參數資料包;JS適配組件將第一組件資料傳給第一Hybrid的橋接模組,第一組件資料包括參數資料包以及預存的與JS適配組件相對應的原生適配組件的類名和方法名;第一一Hybrid的橋接模組的JS層將第一組件資料傳輸至原生層;原生層根據第一組件資料中的原生適配組件的類名和方法名調用相對應的第一Hybrid的原生適配組件的原生適配介面來實現資料傳輸;相對應的原生適配組件從第一Hybrid的橋接模組獲取該第一組件資料中的參數資料包;原生適配組件解析參數資料包來獲取第二Hybrid的原生組件的類名和方法名;原生適配組件根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用
規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸,以供第二Hybrid的原生組件執行當前業務。
優選地,JS適配組件從第二Hybrid的JS組件獲取第二組件資料,具體包括:JS適配組件通過JS適配介面從第二Hybrid的JS組件獲取第二組件資料,JS適配介面係類比第二Hybrid的JS介面,第二Hybrid的JS介面用於供第二Hybrid的橋接模組從第二Hybrid的JS組件獲取第二組件資料。
若執行完當前業務後,需要將資料回調時,處理器還執行以下操作:原生適配組件從第二Hybrid的原生組件獲取完成任務後的回調資料;原生適配組件根據預設的第一Hybrid的回調規則將回調資料封裝為適於第一Hybrid的回調資料;原生適配組件發送回調資料至第一Hybrid的橋接模組;JS適配組件從第一Hybrid的橋接模組獲取回調資料;JS適配組件按照預設的第二Hybrid的JS組件的回調規則將回調資料發送給第二Hybrid的JS組件。
若根據產生實體物件進行調取回調資料時,優選地,處理器還執行以下操作:原生層根據第一組件資料生成原生適配組件的第一回調實例物件。
優選地,相對應的原生適配組件從第一Hybrid的橋接模組獲取該第一組件資料中的參數資料包具體係相對應的原生適配組件從第一Hybrid的橋接模組獲取第一組件資料中的參數資料包和第一回調實例物件。
優選地,原生適配組件根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸具體包括:
原生適配組件根據第二組件資料類比出第二Hybrid的原生組件的第二回調實例物件;以及原生適配組件根據第二Hybrid的原生組件的類名和方法名並按照預設的第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面,以供將第二回調實例物件以及輸入參數傳輸至第二Hybrid的原生組件。
優選地,原生適配組件從第二Hybrid的原生組件獲取完成任務後的回調資料,具體係原生適配組件根據第二Hybrid的原生組件的第二回調實例物件從第二Hybrid的原生組件獲取回調資料。
優選地,原生適配組件根據預設的第一Hybrid的回調規則將回調資料封裝為適於第一Hybrid的回調資料,具體係:原生適配組件根據預設的第一Hybrid的回調規則將回調資料封裝為適於第一Hybrid的第一回調實例物件的資料。
應當理解,在本發明實施例中,所稱處理器601可以是中央處理單元(Central Processing Unit,CPU),該處理器601還可以是其他通用處理器、數位訊號處理器(Digital Signal Processor,DSP)、專用積體電路(Application Specific Integrated Circuit,ASJC)、現成可程式設計閘陣列(Field-Programmable Gate Array,FPGA)或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。
需要說明的是,本發明實施例方法中的步驟可以根據實際需要進行順序調整、合併和删減。
本發明實施例終端中的單元可以根據實際需要進行合併、劃分和刪減。
所屬領域的技術人員可以清楚地瞭解到,為了描述的方便和簡潔,上述描述的終端和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本申請所提供的幾個實施例中,應該理解到,所揭露的終端和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅係示意性的,例如,該單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如若干個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些介面、裝置或單元的間接耦合或通信連接,也可以是電的,機械的或其它的形式連接。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以是兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。該集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個電腦可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分,或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該電腦軟體產品存儲在一個存儲介質中,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本發明各個實施例該方法的全部或部分步驟。而前述的存儲介質包括:USB隨身碟、移動硬碟、唯讀記憶體(ROM,Read-Only
Memory)、隨機存取記憶體(RAM,Random Access Memory)、磁碟或者光碟等各種可以存儲程式碼的介質。
以上為本發明的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到各種等效的修改或替換,這些修改或替換都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以權利要求的保護範圍為准。
Claims (8)
- 一種基於Hybrid的兼容方法,其中,該方法包括:該JS適配組件包括JS適配介面,第一Hybrid的JS適配組件從第二Hybrid的JS組件獲取第二組件資料,具體包括:該JS適配組件通過該JS適配介面從第二Hybrid的JS組件獲取第二組件資料,該JS適配介面是類比第二Hybrid的JS介面,該第二Hybrid的JS介面原來是用於供該第二Hybrid的橋接模組接收第二Hybrid的JS組件的調用通知來獲取第二組件資料;該JS適配組件將第一組件資料傳給該第一Hybrid的橋接模組,具體包括:該JS適配組件調用該第一Hybrid的JS介面用來傳送第一組件資料至該第一Hybrid的橋接模組;該第二組件資料包括用於執行當前業務的該第二Hybrid的原生組件的類名和方法名;該JS適配組件將該第二組件資料封裝成適用於第一Hybrid的參數資料包;該JS適配組件將第一組件數據傳給該第一Hybrid的橋接模組,該第一組件資料包括該參數資料包以及預存的與該JS適配組件相對應的第一Hybrid中的原生適配組件的類名和方法名,該原生適配組件的類名和方法名用於供該第一Hybrid的橋接模組調用相對應的原生適配組件的介面進行資料傳輸;相對應的該原生適配組件從該第一Hybrid的橋接模組獲取該第一組件資料中的參數資料包;該原生適配組件解析該參數資料包來獲取該第二Hybrid的原生組件的類名和方法名;該原生適配組件根據該第二Hybrid的原生組件的類名和方法名並按照預設的該第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸,以供該第二Hybrid的原生組件執行該當前業務。
- 如申請專利範圍第1項的方法,其中,該方法還包括:該原生適配組件從該第二Hybrid的原生組件獲取完成該任務後的回調資料;該原生適配組件根據預設的該第一Hybrid的回調規則將該回調資料封裝為適於該第一Hybrid的回調資料;該原生適配組件發送封裝後的回調資料至該第一Hybrid的橋接模組;該JS適配組件從該第一Hybrid的橋接模組獲取到該回調資料;該JS適配組件按照預設的該第二Hybrid的JS組件的回調規則將該回調資料發送給該第二Hybrid的JS組件。
- 如申請專利範圍第2項的方法,其中,該第二組件資料還包括第二Hybrid的原生組件的輸入參數,該原生適配組件根據該第二Hybrid的原生組件的類名和方法名並按照預設的該第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸,具體包括:該原生適配組件根據該第二組件資料類比出第二Hybrid的原生組件的第二回調實例物件;該原生適配組件根據該第二Hybrid的原生組件的類名和方法名並按照預設的該第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面,以供將該第二回調實例物件以及該輸入參數傳輸至該第二Hybrid的原生組件;該原生適配組件從該第二Hybrid的原生組件獲取完成該任務後的回調資料,具體包括:該原生適配組件根據該第二回調實例物件從該第二Hybrid的原生組件獲取回調資料。
- 一種適配件,其中,該適配件設置於第一Hybrid,用於使第二Hybrid的組件與第一Hybrid相兼容,該適配件包括JS適配組件和原生適配組件,該JS適配組件包括JS適配介面、第一接收單元、第一封裝單元和第一調用單元,該原生適配組件包括第二接收單元、解析單元以及第二調用單元,該第一接收單元,用於從第二Hybrid的JS組件獲取第二組件資料,該第一接收單元獲取該第二組件資料時,具體用於通過該JS適配介面從第二Hybrid的JS組件獲取第二組件資料,該JS適配介面是類比第二Hybrid的JS介面,該第二Hybrid的JS介面原來是用於供該第二Hybrid的橋接模組接收第二Hybrid的JS組件的調用通知來獲取第二組件資料,該第二組件資料包括用於執行當前業務的該第二Hybrid的原生組件的類名和方法名;該第一封裝單元,用於將該第二組件資料封裝成適用於第一Hybrid的參數資料包;該第一調用單元,用於將第一組件資料傳給該第一Hybrid的橋接模組,該第一調用單元將第一組件資料傳給該第一Hybrid的橋接模組時,具體用於調用該第一Hybrid的JS介面用來傳送第一組件資料至該第一Hybrid的橋接模組,而該第一組件資料包括該參數資料包以及預存的與該JS適配組件相對應的第一Hybrid中的原生適配組件的類名和方法名,該原生適配組件的類名和方法名用於供該第一Hybrid的橋接模組調用相對應的原生適配組件的介面進行資料傳輸;該第二接收單元,用於相對應的該原生適配組件從該第一Hybrid的橋接模組獲取該第一組件資料中的參數資料包;該解析單元,用於解析該參數資料包來獲取該第二Hybrid的原生組件的類名和方法名;該第二調用單元,用於根據該第二Hybrid的原生組件的類名和方法名並按照預設的該第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸,以供該第二Hybrid的原生組件執行該當前業務。
- 如申請專利範圍第4項的適配件,其中,該JS適配組件還包括第一回調單元以及第一發送單元;該原生適配組件包括第二回調單元、第二封裝單元、以及第二發送單元,該第二回調單元,用於從該第二Hybrid的原生組件獲取完成該任務後的回調資料;該第二封裝單元,用於根據預設的該第一Hybrid的回調規則將該回調資料封裝為適於該第一Hybrid的回調資料;該第二發送單元,用於發送封裝後的回調資料至該第一Hybrid的橋接模組;該第一發送單元,用於從該第一Hybrid的橋接模組獲取到該回調資料;該第一回調單元,用於該JS適配組件按照預設的該第二Hybrid的JS組件的回調規則將該回調資料發送給該第二Hybrid的JS組件。
- 如申請專利範圍第5項的適配件,其中,該第二組件資料還包括第二Hybrid的原生組件的輸入參數,該第二調用單元包括第二產生實體單元和第三傳送單元,該第二產生實體單元,用於該原生適配組件根據該第二組件資料類比出第二Hybrid的原生組件的第二回調實例物件;該第三傳送單元,用於該原生適配組件根據該第二Hybrid的原生組件的類名和方法名並按照預設的該第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面,以供將該第二回調實例物件以及該輸入參數傳輸至該第二Hybrid的原生組件;該第二回調單元獲取回調資料時,具體用於該原生適配組件根據該第二回調實例物件從該第二Hybrid的原生組件獲取回調資料。
- 一種基於Hybrid的運行裝置,其中,該運行裝置包括第一Hybrid的框架,該第一Hybrid包括適配件和橋接模組,該適配件包括JS適配組件和原生適配組件,第一Hybrid的橋接模組用於連接該JS適配組件和該原生適配組件,該JS適配組件包括JS適配介面及第一接收單元、第一封裝單元和第一調用單元,該原生適配組件包括第二接收單元、解析單元以及第二調用單元,該第一接收單元,用於從第二Hybrid的JS組件獲取第二組件資料,具體用於通過該JS適配介面從第二Hybrid的JS組件獲取第二組件資料,該JS適配介面是類比第二Hybrid的JS介面,該第二Hybrid的JS介面原來是用於供該第二Hybrid的橋接模組接收第二Hybrid的JS組件的調用通知來獲取第二組件資料,該第二組件資料包括用於執行當前業務的該第二Hybrid的原生組件的類名和方法名;該第一封裝單元,用於將該第二組件資料封裝成適用於第一Hybrid的參數資料包;該第一調用單元,用於將第一組件數據傳給該第一Hybrid的橋接模組,具體用於調用該第一Hybrid的JS介面用來傳送第一組件資料至該第一Hybrid的橋接模組,該第一組件資料包括該參數資料包以及預存的與該JS適配組件相對應的第一Hybrid中的原生適配組件的類名和方法名,該原生適配組件的類名和方法名用於供該第一Hybrid的橋接模組調用相對應的原生適配組件的介面進行資料傳輸;該第二接收單元,用於相對應的該原生適配組件從該第一Hybrid的橋接模組獲取該第一組件資料中的參數資料包;該解析單元,用於解析該參數資料包來獲取該第二Hybrid的原生組件的類名和方法名;該第二調用單元,用於根據該第二Hybrid的原生組件的類名和方法名並按照預設的該第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸,以供該第二Hybrid的原生組件執行該當前業務。
- 一種基於Hybrid的運行系統,其中,該運行系統包括第一Hybrid和第二Hybrid的JS組件和第二Hybrid的原生組件,該第一Hybrid包括適配件和橋接模組,該適配件包括JS適配組件和原生適配組件,而JS適配組件包括JS適配介面,第一Hybrid的橋接模組用於連接該JS適配組件和該原生適配組件,該JS適配組件用於連接該第二Hybrid的JS組件和該第一Hybrid的橋接模組,該原生適配組件用於連接該該第一Hybrid的橋接模組和該第二Hybrid的原生組件,其中,該JS適配組件包括第一接收單元、第一封裝單元和第一調用單元,該原生適配組件包括第二接收單元、解析單元以及第二調用單元,該第一接收單元,用於從第二Hybrid的JS組件獲取第二組件資料,該JS適配介面是類比第二Hybrid的JS介面,該第二Hybrid的JS介面原來是用於供該第二Hybrid的橋接模組接收第二Hybrid的JS組件的調用通知來獲取第二組件資料,該第二組件資料包括用於執行當前業務的該第二Hybrid的原生組件的類名和方法名;該第一封裝單元,用於將該第二組件資料封裝成適用於第一Hybrid的參數資料包;該第一調用單元,用於將第一組件資料傳給該第一Hybrid的橋接模組,具體用於調用該第一Hybrid的JS介面用來傳送第一組件資料至該第一Hybrid的橋接模組,該第一組件資料包括該參數資料包以及預存的與該JS適配組件相對應的第一Hybrid中的原生適配組件的類名和方法名,該原生適配組件的類名和方法名用於供該第一Hybrid的橋接模組調用相對應的原生適配組件的介面進行資料傳輸;該第二接收單元,用於相對應的該原生適配組件從該第一Hybrid的橋接模組獲取該第一組件資料中的參數資料包;該解析單元,用於解析該參數資料包來獲取該第二Hybrid的原生組件的類名和方法名;該第二調用單元,用於根據該第二Hybrid的原生組件的類名和方法名並按照預設的該第二Hybrid的原生組件的調用規則調用相對應的第二Hybrid的原生組件的介面以實現資料傳輸,以供該第二Hybrid的原生組件執行該當前業務。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710155069.5A CN107678778B (zh) | 2017-03-14 | 2017-03-14 | 基于Hybrid的兼容方法、适配件、运行装置及系统 |
??201710155069.5 | 2017-03-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201833784A TW201833784A (zh) | 2018-09-16 |
TWI650645B true TWI650645B (zh) | 2019-02-11 |
Family
ID=61133848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106138203A TWI650645B (zh) | 2017-03-14 | 2017-11-03 | 基於Hybrid的兼容方法、適配件、運行裝置及系統 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10635436B2 (zh) |
CN (1) | CN107678778B (zh) |
SG (1) | SG11201809613XA (zh) |
TW (1) | TWI650645B (zh) |
WO (1) | WO2018166107A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11394830B2 (en) * | 2009-01-28 | 2022-07-19 | Virtual Hold Technology Solutions, Llc | System and method for hybrid callback management with biometric authentication |
CN109144479A (zh) * | 2018-07-20 | 2019-01-04 | 中国邮政储蓄银行股份有限公司 | 开发架构 |
CN109086150A (zh) * | 2018-09-20 | 2018-12-25 | 杭州安恒信息技术股份有限公司 | 一种避免多个异步方法重复执行的方法、装置及电子设备 |
CN109725887B (zh) * | 2018-12-14 | 2024-04-26 | 中国平安财产保险股份有限公司 | 基于消息研发框架的数据交互方法、装置及终端设备 |
CN110569133A (zh) * | 2019-08-29 | 2019-12-13 | 五八有限公司 | 实现app间业务融合的方法、装置、电子设备及存储介质 |
CN110543372B (zh) * | 2019-09-10 | 2023-03-28 | 北京百度网讯科技有限公司 | 移动终端原生端与h5端交互的方法及装置 |
US11915432B2 (en) | 2020-01-16 | 2024-02-27 | Samsung Electronics Co., Ltd. | Method and apparatus for tracking target |
CN112882690B (zh) * | 2021-01-28 | 2024-04-19 | 抖音视界有限公司 | 一种应用开发方法及装置 |
CN115514611B (zh) * | 2022-09-21 | 2023-07-28 | 杭州网易再顾科技有限公司 | 消息处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201239656A (en) * | 2011-03-25 | 2012-10-01 | Oss Integral Inst Co Ltd | Desktop software development framework method |
TW201346585A (zh) * | 2011-12-28 | 2013-11-16 | Intel Corp | 使用Javascript及HTML5在裝置間串流元資料的方法與設備 |
US20140019847A1 (en) * | 2012-07-10 | 2014-01-16 | Telerik, AD | Content management system employing a hybrid web application framework |
US8635522B2 (en) * | 2011-05-12 | 2014-01-21 | Sybase, Inc. | Hybrid web container for cross-platform mobile applications |
TWI493363B (zh) * | 2011-12-28 | 2015-07-21 | Intel Corp | 資料流之即時自然語言處理 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120233235A1 (en) * | 2011-03-07 | 2012-09-13 | Jeremy David Allaire | Methods and apparatus for content application development and deployment |
US9582598B2 (en) * | 2011-07-05 | 2017-02-28 | Visa International Service Association | Hybrid applications utilizing distributed models and views apparatuses, methods and systems |
US8966508B2 (en) * | 2012-02-20 | 2015-02-24 | Electronics And Telecommunications Research Institute | Method for executing hybrid web application and apparatus therefor |
US20140047413A1 (en) * | 2012-08-09 | 2014-02-13 | Modit, Inc. | Developing, Modifying, and Using Applications |
US9910833B2 (en) * | 2012-11-13 | 2018-03-06 | International Business Machines Corporation | Automatically rendering web and/or hybrid applications natively in parallel |
US9563448B2 (en) * | 2013-03-13 | 2017-02-07 | International Business Machines Corporation | Mobilizing a web application to take advantage of a native device capability |
US9047404B1 (en) * | 2013-03-13 | 2015-06-02 | Amazon Technologies, Inc. | Bridge to connect an extended development capability device to a target device |
KR101489199B1 (ko) * | 2013-03-29 | 2015-02-03 | 주식회사 엘지씨엔에스 | 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체 |
US11803786B2 (en) * | 2013-04-10 | 2023-10-31 | eData Platform, Corp. | Enterprise integration platform |
US9069375B2 (en) * | 2013-04-30 | 2015-06-30 | MobileDataForce, Inc. | Method and system for platform-independent application development |
US9344833B2 (en) * | 2013-07-31 | 2016-05-17 | Sap Se | Data component in a mobile application framework |
CN104461491B (zh) * | 2013-09-24 | 2017-10-27 | 阿里巴巴集团控股有限公司 | 一种Hybrid组件的运行方法和系统 |
US9274784B2 (en) * | 2014-06-02 | 2016-03-01 | Sap Se | Automatic deployment and update of hybrid applications |
US9851968B2 (en) * | 2014-09-26 | 2017-12-26 | Oracle International Corporation | High performant iOS template based application build system |
US10073679B2 (en) * | 2014-09-26 | 2018-09-11 | Oracle International Corporation | Efficient and intuitive databinding for mobile applications |
US9858174B2 (en) * | 2014-09-26 | 2018-01-02 | Oracle International Corporation | Updatable native mobile application for testing new features |
CN105607895B (zh) * | 2014-11-21 | 2021-03-02 | 阿里巴巴集团控股有限公司 | 一种基于应用程序编程接口的应用程序的运行方法和装置 |
US9471303B2 (en) * | 2015-02-04 | 2016-10-18 | Sap Se | Façade framework for IDE |
US9959100B2 (en) * | 2015-08-12 | 2018-05-01 | Oracle International Corporation | Efficient storage and transfer of iOS binary files |
US10452497B2 (en) * | 2015-08-14 | 2019-10-22 | Oracle International Corporation | Restoration of UI state in transactional systems |
WO2017136742A1 (en) * | 2016-02-04 | 2017-08-10 | Mobile Tappestry, LLC | Hydrid application system to utilize native device features of a mobile device |
CN105930467B (zh) * | 2016-04-22 | 2019-10-29 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
US10534584B2 (en) * | 2016-05-04 | 2020-01-14 | Sap Se | Enhanced software application ecosystem |
CN106020845A (zh) * | 2016-05-31 | 2016-10-12 | 广东能龙教育股份有限公司 | 一种客户端混合快速开发方法 |
CN106131143A (zh) * | 2016-06-28 | 2016-11-16 | 北京车智赢科技有限公司 | 一种实现Hybrid App的HTML与Native交互的方法 |
US10372443B2 (en) * | 2016-10-18 | 2019-08-06 | Oracle International Corporation | Multi-platform pattern-based user interfaces |
US9886272B1 (en) * | 2016-12-05 | 2018-02-06 | Sap Se | Transformation of a web application into a hybrid mobile application |
-
2017
- 2017-03-14 CN CN201710155069.5A patent/CN107678778B/zh active Active
- 2017-06-29 WO PCT/CN2017/090919 patent/WO2018166107A1/zh active Application Filing
- 2017-06-29 US US16/097,831 patent/US10635436B2/en active Active
- 2017-06-29 SG SG11201809613XA patent/SG11201809613XA/en unknown
- 2017-11-03 TW TW106138203A patent/TWI650645B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201239656A (en) * | 2011-03-25 | 2012-10-01 | Oss Integral Inst Co Ltd | Desktop software development framework method |
US8635522B2 (en) * | 2011-05-12 | 2014-01-21 | Sybase, Inc. | Hybrid web container for cross-platform mobile applications |
TW201346585A (zh) * | 2011-12-28 | 2013-11-16 | Intel Corp | 使用Javascript及HTML5在裝置間串流元資料的方法與設備 |
TWI493363B (zh) * | 2011-12-28 | 2015-07-21 | Intel Corp | 資料流之即時自然語言處理 |
US20140019847A1 (en) * | 2012-07-10 | 2014-01-16 | Telerik, AD | Content management system employing a hybrid web application framework |
Also Published As
Publication number | Publication date |
---|---|
SG11201809613XA (en) | 2018-11-29 |
US20190095200A1 (en) | 2019-03-28 |
WO2018166107A1 (zh) | 2018-09-20 |
TW201833784A (zh) | 2018-09-16 |
CN107678778A (zh) | 2018-02-09 |
CN107678778B (zh) | 2019-12-13 |
US10635436B2 (en) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI650645B (zh) | 基於Hybrid的兼容方法、適配件、運行裝置及系統 | |
CN111176626B (zh) | 跨编程语言的代码调用方法及装置、介质、设备 | |
AU2014386583B2 (en) | Inter-process communication method based on application layer of android and basic application communication system | |
WO2023284699A1 (zh) | 基于Linux系统的协议栈数据传输方法、计算机设备和存储介质 | |
US20180247244A1 (en) | Service and Resource Orchestration System and Method, and Apparatus | |
US11709722B2 (en) | Extensible communication framework and communication method supporting multiple communication protocols | |
CN109725887B (zh) | 基于消息研发框架的数据交互方法、装置及终端设备 | |
CN104424036A (zh) | 智能终端的同步操作方法及装置 | |
CN106550026B (zh) | 一种网络通信装置及方法 | |
CN103942277A (zh) | 一种浏览器中的文件下载方法、装置和浏览器 | |
CN104570967B (zh) | 基于Android系统的远程控制方法及系统 | |
CN109298852A (zh) | 简化虚拟现实应用程序开发的方法及可读存储介质 | |
CN113254014A (zh) | 一种基于Sketch插件的界面开发方法、装置及系统 | |
CN107547217B (zh) | 路由器业务配置方法及路由器 | |
WO2018133828A1 (zh) | 用于客户端的数据处理方法和装置 | |
CN107491330B (zh) | 一种提高嵌入式浏览器运行速度的方法 | |
CN109871288A (zh) | 执行Android系统命令的方法、装置、设备及介质 | |
CA2790782C (en) | Method and apparatus for implementing network device function of wireless communication terminal | |
CN110502418B (zh) | 一种实现远程调试的方法 | |
CN111092916B (zh) | 文件上传的方法、装置、电子设备及介质 | |
CN107786411A (zh) | 应用程序间通信隧道连接/验证方法/系统、介质及设备 | |
CN101909080B (zh) | 一种高通平台终端与pc侧进行数据同步的方法及系统 | |
WO2024164602A1 (zh) | 一种应用适配处理方法、装置、存储介质及电子装置 | |
CN114077448B (zh) | 数据管理方法及相关设备 | |
TWI627596B (zh) | Method for automatically switching the instant message notification mode according to the execution and connection status of the financial commodity transaction software, and the mobile device service server |