预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共22页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN111736840A(43)申请公布日2020.10.02(21)申请号201910889213.7(22)申请日2019.09.19(71)申请人北京沃东天骏信息技术有限公司地址100176北京市大兴区北京经济技术开发区科创十一街18号院2号楼4层A402室申请人北京京东世纪贸易有限公司(72)发明人严康(74)专利代理机构北京品源专利代理有限公司11332代理人孟金喆(51)Int.Cl.G06F8/41(2018.01)权利要求书2页说明书13页附图6页(54)发明名称小程序应用的编译方法、运行方法、存储介质及电子设备(57)摘要本发明公开了小程序应用的编译方法、运行方法、存储介质及电子设备,其中,小程序应用的编译方法包括:获取原生应用的源代码,基于所述源代码生成第一语法树;根据预设规则调节所述第一语法树,生成第二语法树;遍历所述第二语法树,基于所述第二语法树中的定义节点生成小程序应用的定义模板文件;基于所述第二语法树生成小程序应用的逻辑代码;基于所述定义模板文件和所述逻辑代码得到所述小程序应用的目标代码。通过对原生应用的源代码进行调节,复用源代码中的相同逻辑及相关代码,以快速生成小程序应用的目标代码,无需对小程序应用进行重新开发,提高了代码的复用率以及小程序应用的编译效率。CN111736840ACN111736840A权利要求书1/2页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所述的方法,其特征在于,所述运行小程序应用的目标代码,确定用于渲染交互界面的渲染数据,包括:2CN111736840A权利要求书2/2页调用并运行伪Flutter库,根据所述小程序应用的定义模板文件确定待渲染片段的模板名和待渲染片段中各定义组件的标识符;根据所述待渲染片段的模板名和所述待渲染片段中各定义组件的标识符确定渲染数据。10.根据权利要求8或9所述的方法,其特征在于,所述小程序应用的目标代码的运行环境与所述小程序应用的执行环境相互独立;其中,将所述渲染数据传输至小程序应用的执行环境,包括:基于互操作模块将所述渲染数据传输至小程序应用的执行环境,其中,所述互操作模块用于连接所述小程序应用的目标代码的运行环境与所述小程序应用的执行环境。11.根据权利要求10所述的方法,其特征在于,所述方法还包括:在小程序应用的执行环境