小程序应用的编译方法、运行方法、存储介质及电子设备技术

技术编号:25834190 阅读:31 留言:0更新日期:2020-10-02 14:15
本发明专利技术公开了小程序应用的编译方法、运行方法、存储介质及电子设备,其中,小程序应用的编译方法包括:获取原生应用的源代码,基于所述源代码生成第一语法树;根据预设规则调节所述第一语法树,生成第二语法树;遍历所述第二语法树,基于所述第二语法树中的定义节点生成小程序应用的定义模板文件;基于所述第二语法树生成小程序应用的逻辑代码;基于所述定义模板文件和所述逻辑代码得到所述小程序应用的目标代码。通过对原生应用的源代码进行调节,复用源代码中的相同逻辑及相关代码,以快速生成小程序应用的目标代码,无需对小程序应用进行重新开发,提高了代码的复用率以及小程序应用的编译效率。

【技术实现步骤摘要】
小程序应用的编译方法、运行方法、存储介质及电子设备
本专利技术实施例涉及计算机
,尤其涉及小程序应用的编译方法、运行方法、存储介质及电子设备。
技术介绍
随着计算机技术的不断发展,各种各样的App(Application,应用程序)层出不穷,用户需在移动终端上安装APP才可应用。但是在移动终端上安装大量的APP会占用大量的内存空间,影响移动终端的运行。为了上述问题,小程序应用应运而生,小程序应用是一种不需要下载安装即可使用的应用。APP是Flutter应用,Flutter是移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面,而小程序应用无法运行Flutter框架。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:Flutter应用与小程序应用是相互独立的两套代码,一般有两组开发人员分布进行编译,同时程序的测试程序同样需要两套,工作量大,效率低,存在资源和时间的浪费。
技术实现思路
本专利技术提供小程序应用的编译方法、运行方法、装置、存储介质及电子设备,以实现简化小程本文档来自技高网...

【技术保护点】
1.一种小程序应用的编译方法,其特征在于,包括:/n获取原生应用的源代码,基于所述源代码生成第一语法树;/n根据预设规则调节所述第一语法树,生成第二语法树;/n遍历所述第二语法树,基于所述第二语法树中的定义节点生成小程序应用的定义模板文件;/n基于所述第二语法树生成小程序应用的逻辑代码;/n基于所述定义模板文件和所述逻辑代码得到所述小程序应用的目标代码。/n

【技术特征摘要】
1.一种小程序应用的编译方法,其特征在于,包括:
获取原生应用的源代码,基于所述源代码生成第一语法树;
根据预设规则调节所述第一语法树,生成第二语法树;
遍历所述第二语法树,基于所述第二语法树中的定义节点生成小程序应用的定义模板文件;
基于所述第二语法树生成小程序应用的逻辑代码;
基于所述定义模板文件和所述逻辑代码得到所述小程序应用的目标代码。


2.根据权利要求1所述的方法,其特征在于,根据预设规则调节所述第一语法树,包括:
将所述第一语法树中引用的Flutter库替换为预先设置的伪Flutter库,其中,所述伪Flutter库用于渲染小程序应用的交互页面。


3.根据权利要求2所述的方法,其特征在于,根据预设规则调节所述第一语法树,还包括:
对所述第一语法树中的各定义组件设置标识符;
对所述第一语法树中的各独立渲染片段设置模板名。


4.根据权利要求1所述的方法,其特征在于,遍历所述第二语法树,基于所述第二语法树中的定义节点生成小程序应用的定义模板文件,包括:
识别所述第二语法树中的定义组件,在所述定义模板文件中设置所述定义组件对应的标签;
根据所述第二语法树中的定义组件的嵌套关系,确定所述定义模板文件中各标签的节点关系。


5.根据权利要求4所述的方法,其特征在于,所述根据所述第二语法树中的定义组件的嵌套关系,确定所述定义模板文件中各标签的节点关系,包括:
基于第一定义组件为第二定义组件的嵌套参数,设置所述第一定义组件对应的第一标签为所述第二定义组件对应的第二标签的子节点。


6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述第二语法树中各定义组件调用的参数设置为对应标签的标签属性。


7.根据权利要求1所述的方法,其特征在于,所述源代码为DART语言代码,所述逻辑代码为JavaScript语言代码;其中,
基于所述第二语法树生成小程序应用的逻辑代码,包括:
根据所述第二语法树生成DART语言的中间代码;
基于DART语言与JavaScript语言的转换工具,将所述DART语言的中间代码转换为JavaScript语言的逻辑代码。


8.一种小程序应用的运行方法,其特征在于,包括:
运行小程序应用的目标代码,确定用于渲染交互界面的渲染数据,其中,所述目标代码基于如权利要求1-7任一所述的小程序应用的编译方法生成;
将所述渲染数据传输至小程序应用的执行环境;
在所述执行环境中,基于所述渲染数据渲染小程序应用的交互界面。


9.根据权利要求8所述的方法,其特征在于,所述运行小程序应用的目标代码,确定用于渲染交互界面的渲染数据,包括:
调用并运行伪Flutt...

【专利技术属性】
技术研发人员:严康
申请(专利权)人:北京沃东天骏信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1