[發明專利]程序代碼轉換方法、裝置,電子設備在審
| 申請號: | 202010582025.2 | 申請日: | 2020-06-23 |
| 公開(公告)號: | CN111880785A | 公開(公告)日: | 2020-11-03 |
| 發明(設計)人: | 加偉康;李瓊 | 申請(專利權)人: | 北京三快在線科技有限公司 |
| 主分類號: | G06F8/35 | 分類號: | G06F8/35;G06F8/41 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 任亞娟 |
| 地址: | 100083 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序代碼 轉換 方法 裝置 電子設備 | ||
本申請公開了一種程序代碼轉換方法,屬于計算機技術領域,能夠實現從React組件聲明到Flutter組件實現的轉換。所述方法包括:根據React程序代碼的抽象語法信息,獲取React組件的聲明;通過解析所述聲明,得到所述React組件的組件特征;根據組件特征中的狀態和生命周期,確定由React組件轉換得到的Flutter組件的組件模板;基于組件模板對React組件的組件特征進行轉換,相應Flutter組件的程序代碼。在開發支持React和flutter的多端應用時,僅需要在React架構下進行開發,通過本申請公開的轉換方法可將React組件代碼轉換為Flutter組件代碼,可以提升軟件開發效率。
技術領域
本申請實施例涉及計算機技術領域,特別是涉及一種程序代碼轉換方法、裝置、電子設備及計算機可讀存儲介質。
背景技術
在目前大前端的背景下,前端呈現多終端容器化的趨勢,同樣的頁面需要在不同端實現,這樣會造成很多重復的開發。另外在前端技術收斂的背景下,react(React是Facebook開發的一款JavaScript庫)在前端技術體系中位置越來越高,很多前端代碼時通過react開發的。為了實現前段代碼跨終端,出現了將react代碼轉為其他端代碼的需求。
Flutter是Google開源的UI工具包,幫助開發者通過一套代碼庫高效構建多平臺精美應用,支持移動、Web、桌面和嵌入式平臺。隨著Flutterr進入前端開發領域,出現了將React代碼轉換為用Flutter代碼的需求。將已有的React代碼轉換為Flutter代碼可以有效節省開發時間,提升開發效率。
然而,由于React和Flutter的組件定義、設置、類型等存在諸多不同,因此,現有技術中還沒有將React代碼轉換為Flutter代碼的方法。
發明內容
本申請實施例提供一種程序代碼轉換方法,有助于提升程序軟件開發效率。
為了解決上述問題,第一方面,本申請實施例提供了一種程序代碼轉換方法,包括:
根據React程序代碼的抽象語法信息,獲取React組件的聲明;
通過解析所述聲明,得到所述React組件的組件特征;其中,所述組件特征包括以下的一項或多項:名稱、傳入屬性、狀態和生命周期;
根據所述React組件的狀態和生命周期,確定由所述React組件轉換得到的Flutter組件的組件模板;其中,所述組件模板匹配:有狀態Flutter組件或無狀態Flutter組件;
基于所述組件模板,對所述React組件的組件特征的聲明和/或調用接口進行轉換,得到與所述React組件對應的Flutter組件的程序代碼。
第二方面,本申請實施例提供了一種程序代碼轉換裝置,包括:
React組件聲明獲取模塊,用于根據React程序代碼的抽象語法信息,獲取React組件的聲明;
React組件特征獲取模塊,用于通過解析所述聲明,得到所述React組件的組件特征;其中,所述組件特征包括以下的一項或多項:名稱、傳入屬性、狀態和生命周期;
Flutter組件模板確定模塊,用于根據所述React組件的狀態和生命周期,確定由所述React組件轉換得到的Flutter組件的組件模板;其中,所述組件模板匹配:有狀態Flutter組件或無狀態Flutter組件;
Flutter組件代碼生成模塊,用于基于所述組件模板,對所述React組件的組件特征的聲明和/或調用接口進行轉換,得到與所述React組件對應的Flutter組件的程序代碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京三快在線科技有限公司,未經北京三快在線科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010582025.2/2.html,轉載請聲明來源鉆瓜專利網。





