一种低代码应用程序的文件编译系统和方法技术方案

技术编号:37619974 阅读:7 留言:0更新日期:2023-05-18 12:11
本申请公开了一种低代码应用程序的文件编译系统,该系统包括节点服务模块、转译器模块以及浏览器模块;节点服务模块在接收到用户请求时,获取用户请求对应的低代码应用程序的目标Schema文件;转译器模块将该文件的原始数据结构转译为目标数据结构,得到转译的目标应用数据;节点服务模块根据目标应用数据进行超文本标记语言渲染,得到HTML文本,并发送至浏览器模块;浏览器模块对HTML文本进行解释执行,生成最终编译结果。本申请针对低代码应用的文件设置了统一的编译系统,使得低代码应用的文件在不依赖第三方工具的前提下,可在任何安装了该编译系统的设备上进行自主编译,从而实现了跨平台编译,提升了低代码应用文件的编译效率。译效率。译效率。

【技术实现步骤摘要】
一种低代码应用程序的文件编译系统和方法


[0001]本申请涉及计算机
,特别涉及一种低代码应用程序的文件编译系统和方法,可用于低代码开发平台生成的文件的编译。

技术介绍

[0002]Schema文件是低代码平台开发的低代码应用程序对应的结构化描述文件,低代码开发平台例如为Zion平台,Zion平台是一个所见即所得的低代码应用开发及运营平台,基于自动代码生成技术,在无需工程师的参与下,非技术人员(产品经理、设计师等)就能够自主完成完整的跨平台产品的实现及迭代。用户可在Zed平台中编辑出待上线产品对应的Zion Schema文件。Zed平台是Zion产品框架中面向终端用的可视化编辑器,Zion Schema文件是一份描述Zion应用的元数据,最后基于Zion Schema文件进行编译后可得到编译结果。
[0003]对于任何编程语言都需要不同的运行时环境,例如图1所示,对于JavaScript编程语言开发的文件的运行时环境为V8/QuickJs,对于Java编程语言开发的Java.class文件的运行环境为JRE(JVM)。那么,对于Zed中开发的低代码的Zion Schema文件在没有运行时环境,如何编译是研发人员渴望解决的。
[0004]现有技术中,由于Zion Schema文件只是一份描述文件,其并不具备运行能力,因此目前在基于Zion Schema文件进行编译时,需要通过第三方工具(例如ZType)对Zion Schema文件进行处理,并将处理结果与预设项目模板进行结合后生成中间工程代码,以及对中间工程代码进行构建后才能生成最终可运行的运行时代码,该方式需要在不同的平台上结合不同的工具进行编译,从而无法实现跨平台编译,进而降低了低代码应用源码的编译效率。

技术实现思路

[0005]本申请实施例提供了一种低代码应用程序的文件编译系统。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
[0006]第一方面,本申请实施例提供了一种低代码应用程序的文件编译系统,系统包括:节点服务模块、转译器模块以及浏览器模块;其中,节点服务模块、转译器模块以及浏览器模块通信连接;其中,节点服务模块,用于在接收到用户请求时,通过预先调用的服务接口获取用户请求对应的低代码应用程序的目标Schema文件;所述目标Schema文件是在低代码平台编辑的低代码应用程序的结构化描述文件;转译器模块,用于将目标Schema文件的原始数据结构转译为目标数据结构,得到转译的目标应用数据;节点服务模块,还用于根据目标应用数据进行超文本标记语言渲染,得到HTML文
本,并发送至浏览器模块;浏览器模块,用于对HTML文本进行解释执行,生成最终编译结果进行展示。
[0007]可选的,将目标Schema文件的原始数据结构转译为目标数据结构,得到转译的目标应用数据,包括:获取目标Schema文件的组件元信息的描述,得到低代码应用程序的邻接表;邻接表描述了程序组件之间的从属信息;将邻接表递归渲染成组件实例树;采用后序遍历方式确定组件实例树中每个组件实例的数据结构;将每个组件实例的数据结构输入预先生成的数据结构转换器中,输出每个组件实例的转译的目标应用数据。
[0008]可选的,采用后序遍历方式确定组件实例树中每个组件实例的数据结构,包括:采用后序遍历方式遍历获取组件实例树中每个组件实例;加载预先存储的组件实例与数据存储路径的映射关系;在映射关系中获取每个组件实例对应的组件数据存储路径,得到每个组件实例的数据存储路径;基于每个组件实例的数据存储路径获取每个组件实例对应的数据描述;根据每个组件实例对应的数据描述确定每个组件实例对应的数据结构。
[0009]可选的,预先生成的数据结构转换器包括标准模板分析模块、结构特征比对模块以及结构转换模块;将每个组件实例的数据结构输入预先生成的数据结构转换器中,输出每个组件实例的转译的目标应用数据,包括:标准模板分析模块获取预先设定的目标数据结构的目标模板,并按照自上而下的顺序提取目标模板中数据结构的每个第一结构特征,得到第一结构特征序列;结构特征比对模块按照自上而下的顺序提取每个组件实例的数据结构的每个第二结构特征,得到第二结构特征序列,并计算第一结构特征序列与第二结构特征序列之间的相关性值,以及将计算的相关性值取平均值,得到目标相关性值;结构转换模块在目标相关性值小于等于预设相关性阈值时,将每个组件实例的数据结构转换为目标模板的数据结构,得到每个组件实例的转译的目标应用数据。
[0010]可选的,计算第一结构特征序列与第二结构特征序列之间的相关性值,包括:获取第一结构特征,第一结构特征为第一结构特征序列中任意一个结构特征;在第二结构特征序列中确定第一结构特征对应的第二结构特征;对第一结构特征进行向量编码,得到第一特征向量;对第一结构特征对应的第二结构特征进行向量编码,得到第二特征向量;计算第一特征向量与第二特征向量之间的相似距离,并将计算出的每个相似距离确定为第一结构特征序列与第二结构特征序列之间的相关性值;相似距离计算公式为:;其中,为第一结构特征序列中任意一个结构特征,为在第二结构特征序列中确定的与对应的第二结构特征,p为第一结构特征序列中的第一结构特征数量。
[0011]可选的,根据目标应用数据进行超文本标记语言渲染,得到HTML文本,并发送至浏览器模块,包括:请求低代码应用程序的静态资源链接;执行目标应用数据,以请求到用户请求对应的业务数据;基于静态资源链接和业务数据进行HTML渲染,得到基于超文本标记语言的HTML文本;将HTML文本发送至浏览器模块。
[0012]可选的,基于静态资源链接和业务数据进行HTML渲染,包括:请求静态资源链接对应的页面静态资源数据;利用预设JavaScript脚本在业务数据中进行抓取,得抓取的关键数据;对抓取的关键数据进行解析,得到以Json字符串格式存储的目标元素;根据静态资源数据与目标元素进行前端页面渲染操作。
[0013]可选的,对HTML文本进行解释执行,生成最终编译结果进行展示,包括:获取HTML文本的信息,并基于获取的信息确定HTML文本的目标类型;根据目标类型对接符合HTML文本的浏览器内核;根据浏览器内核处理HTML文本,生成最终编译结果;将最终编译结果进行展示。
[0014]可选的,根据目标类型对接符合HTML文本的浏览器内核,包括:在目标类型为WAP类型的情况下,选择浏览器开发方提供的浏览器内核;在目标类型不为WAP类型的情况下,则判定HTML文本的首行代码起始是否为预设标识符开头;当HTML文本的首行代码起始为预设标识符开头时,选择浏览器开发方提供的浏览器内核;当HTML文本的首行代码起始不为预设标识符开头时,则判断浏览器所在终端是否为万维网代理模式;如果是代理模式,则选择后台中转;如果不是代理模式,则选择浏览器所在终端提供本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种低代码应用程序的文件编译系统,其特征在于,所述系统包括:节点服务模块、转译器模块以及浏览器模块;其中,所述节点服务模块、转译器模块以及浏览器模块通信连接;其中,所述节点服务模块,用于在接收到用户请求时,通过预先调用的服务接口获取所述用户请求对应的低代码应用程序的目标Schema文件;所述目标Schema文件是在低代码平台编辑的低代码应用程序的结构化描述文件;所述转译器模块,用于将所述目标Schema文件的原始数据结构转译为目标数据结构,得到转译的目标应用数据;所述节点服务模块,还用于根据所述目标应用数据进行超文本标记语言渲染,得到HTML文本,并发送至浏览器模块;所述浏览器模块,用于对所述HTML文本进行解释执行,生成最终编译结果进行展示。2.根据权利要求1所述的一种低代码应用程序的文件编译系统,其特征在于,所述将所述目标Schema文件的原始数据结构转译为目标数据结构,得到转译的目标应用数据,包括:获取所述目标Schema文件的组件元信息的描述,得到低代码应用程序的邻接表;所述邻接表描述了程序组件之间的从属信息;将所述邻接表递归渲染成组件实例树;采用后序遍历方式确定所述组件实例树中每个组件实例的数据结构;将所述每个组件实例的数据结构输入预先生成的数据结构转换器中,输出所述每个组件实例的转译的目标应用数据。3.根据权利要求2所述的一种低代码应用程序的文件编译系统,其特征在于,所述采用后序遍历方式确定所述组件实例树中每个组件实例的数据结构,包括:采用后序遍历方式遍历获取所述组件实例树中每个组件实例;加载预先存储的组件实例与数据存储路径的映射关系;在所述映射关系中获取每个组件实例对应的组件数据存储路径,得到每个组件实例的数据存储路径;基于所述每个组件实例的数据存储路径获取每个组件实例对应的数据描述;根据所述每个组件实例对应的数据描述确定每个组件实例对应的数据结构。4.根据权利要求2所述的一种低代码应用程序的文件编译系统,其特征在于,所述预先生成的数据结构转换器包括标准模板分析模块、结构特征比对模块以及结构转换模块;所述将所述每个组件实例的数据结构输入预先生成的数据结构转换器中,输出所述每个组件实例的转译的目标应用数据,包括:标准模板分析模块获取预先设定的目标数据结构的目标模板,并按照自上而下的顺序提取所述目标模板中数据结构的每个第一结构特征,得到第一结构特征序列;结构特征比对模块按照自上而下的顺序提取所述每个组件实例的数据结构的每个第二结构特征,得到第二结构特征序列,并计算所述第一结构特征序列与所述第二结构特征序列之间的相关性值,以及将计算的相关性值取平均值,得到目标相关性值;结构转换模块在所述目标相关性值小于等于预设相关性阈值时,将所述每个组件实例的数据结构转换为所述目标模板的数据结构,得到每个组件实例的转译的目标应用数据。5.根据权利要求4所述的一种低代码应用程序的文件编译系统,其特征在于,所述计算
所述第一结构特征序列与所述第二结构特征序列之间的相关性值,包括:获取第一结构特征,所述第一结构特征为所述第一结构特征序列中任意一个结构特征;在所述第二结构特征序列中确定所述第一结构特征对应的第二结构特征...

【专利技术属性】
技术研发人员:陆继恒蒋耀锴欧阳超
申请(专利权)人:函子科技杭州有限公司
类型:发明
国别省市:

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

1