[发明专利]程序代码转换方法、装置,电子设备在审
申请号: | 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.vipzhuanli.com/pat/books/202010582025.2/2.html,转载请声明来源钻瓜专利网。