可视化编程方法、装置、设备及存储介质制造方法及图纸

技术编号:32016108 阅读:18 留言:0更新日期:2022-01-22 18:34
本发明专利技术涉及研发管理领域,公开了一种可视化编程方法、装置、设备及存储介质。所述方法包括:获取Java原子函数库中的多个基础函数及其描述信息,并基于基础函数,构建多个初始Java图元对象;根据预设的转换算法,对每个初始Java图元对象进行图元转换,得到对应的初始Block图元对象;根据描述信息和初始Block图元对象,构建可视化编程主页面;接收用户在可视化编程主页面的操作信息,生成初始图元对象序列;根据目标Block图元对象中的图元信息,查找目标Java图元对象,并用目标Java图元对象替换初始图元对象序列中的目标Block图元对象,得到目标图元对象序列,进而生成目标程序。本发明专利技术实现了Java语言与Blockly语言的转换,从而实现基于Java的可视化编程,从而提升了开发效率。率。率。

【技术实现步骤摘要】
可视化编程方法、装置、设备及存储介质


[0001]本专利技术涉及研发管理领域,尤其涉及一种可视化编程方法、装置、设备及存储介质。

技术介绍

[0002]Blockly是谷歌发布的可视化编程工具,其基于web技术构建。在功能设计上和MIT(开源软件许可协议)的儿童编程语言Scratch类似。在使用Blockly的时候,用户可以通过拖曳模块,来构建代码逻辑,过程很像搭积木。在用户视角下,Blockly是一个简单易用的可视化工具,用来生成代码。在开发者视角下,Blockly是一个文本框,里边包含了用户输入好的代码。
[0003]对于一个高协同、高敏捷的生态应用系统,业务人员使用Blockly进行简易图形编程,开发人员使用专业开发语言进行编程,两者可相互无缝转换。
[0004]现有技术中,对于Blockly的开源版本,只提供了其与JavaScript、Python、PHP、Dart、Lua、XML语言的代码转换功能。而Java语言作为当前的商业主流开发语言,现有技术并不支持其与Blockly的相互转换,从而导致开发效率低下。

技术实现思路

[0005]本专利技术的主要目的在于解决如何将Blockly转换为Java进而提升开发效率的问题。
[0006]本专利技术第一方面提供了一种可视化编程方法,包括:
[0007]获取预设Java原子函数库中的多个基础函数和每个所述基础函数的描述信息,并基于所述基础函数,构建多个初始Java图元对象,其中,每个初始Java图元对象对应一个所述基础函数;
[0008]根据预设的转换算法,对每个所述初始Java图元对象进行图元转换,得到每个所述初始Java图元对象对应的初始Block图元对象;
[0009]根据每个所述基础函数的描述信息和所述初始Block图元对象,构建可视化编程主页面;
[0010]接收用户在所述可视化编程主页面的操作信息,并根据所述操作信息生成用于表示业务需求的初始图元对象序列,其中,所述初始图元对象序列中包括用户选择的至少一个目标Block图元对象;
[0011]根据所述目标Block图元对象中的图元信息,查找所述目标Block图元对象对应的目标Java图元对象,并用所述目标Java图元对象替换所述初始图元对象序列中的目标Block图元对象,得到目标图元对象序列,以及根据所述目标图元对象序列,生成目标程序。
[0012]可选的,在本专利技术第一方面的第一种实现方式中,所述根据预设的转换算法,对每个所述初始Java图元对象进行图元转换,得到每个所述初始Java图元对象对应的初始Block图元对象包括:
[0013]基于JavaParser工具库对每个所述初始Java图元对象进行语法解析,得到每个所述初始Java图元对象的初始抽象语法树;
[0014]基于预设的格式化算法,将所述抽象语法树中的嵌套结构平铺为关联数组结构,得到目标抽象语法树;
[0015]基于预设的转换规则,将所述目标抽象语法树中的原子表达式转换为可扩展标记语言,得到每个所述初始Java图元对象对应的初始Block图元对象。
[0016]可选的,在本专利技术第一方面的第二种实现方式中,所述根据每个所述基础函数的描述信息和所述初始Block图元对象,构建可视化编程主页面包括:
[0017]根据每个所述基础函数的描述信息和所述初始Block图元对象,构建图元描述树;
[0018]基于预设的主页模板文件进行页面渲染,得到静态编程主页面,其中,所述静态编程主页面中包括多个页面模块;
[0019]接收每个所述页面模块的数据请求,并根据所述数据请求,获取所述图元描述树对应的树节点信息,并对所述页面模块进行局部重载,得到可视化编程主页面。
[0020]可选的,在本专利技术第一方面的第三种实现方式中,在所述根据每个所述基础函数的描述信息和所述初始Block图元对象,构建图元描述树之后,还包括:
[0021]将所述图元描述树存储至服务器中,当检测到新增初始Block图元对象时,更新所述服务器中的图元描述树。
[0022]可选的,在本专利技术第一方面的第四种实现方式中,所述基于预设的主页模板文件进行页面渲染,得到静态编程主页面包括:
[0023]遍历所述主页模板文件中的文档节点,并根据所述文档节点,生成所述主页模板文件对应的文档对象节点树模型;
[0024]解析所述主页模板文件中的层叠样式表标记,并基于解析结果,生成所述主页模板文件对应的层叠样式表规则树模型;
[0025]根据所述文档对象模型节点树模型与所述层叠样式表规则树模型,构建所述主页模板文件对应的渲染树模型;
[0026]基于所述主页模板文件对应的渲染树模型,将所述主页模板文件中的元素布局到所述渲染树模型对应的节点上;
[0027]依次对所述渲染树模型中的每个节点进行绘制,得到静态编程主页面。
[0028]可选的,在本专利技术第一方面的第五种实现方式中,所述接收用户在所述可视化编程主页面的操作信息,并根据所述操作信息生成用于表示业务需求的初始图元对象序列包括:
[0029]接收用户在所述可视化编程主页面的操作信息,其中,所述操作信息包括拖拽对象的标识信息和拖拽对象的排列信息;
[0030]根据所述拖拽对象的标识信息,确定至少一个目标Block图元对象;
[0031]根据所述拖拽对象的排列信息,对所述目标Block图元对象进行排列,得到初始图元对象序列。
[0032]可选的,在本专利技术第一方面的第六种实现方式中,所述根据所述目标Block图元对象中的图元信息,查找所述目标Block图元对象对应的目标Java图元对象,并用所述目标Java图元对象替换所述初始图元对象序列中的目标Block图元对象,得到目标图元对象序
列,以及根据所述目标图元对象序列,生成目标程序包括:
[0033]根据所述目标Block图元对象的标识信息,对本地存储空间进行目标Java图元对象的检测,其中,所述目标Java图元对象与所述目标Block图元对象对应;
[0034]若在本地存储空间中未检测到所述目标Java图元对象,则根据所述目标Block图元对象中的图元信息在远程服务器中查找所述目标Java图元对象;
[0035]懒加载所述目标Java图元对象,并用所述目标Java图元对象替换所述初始图元对象序列中的目标Block图元对象,得到目标图元对象序列,以及根据所述目标图元对象序列,生成目标程序。
[0036]本专利技术第二方面提供了一种可视化编程装置,包括:
[0037]图元构建单模块,用于获取预设Java原子函数库中的多个基础函数和每个所述基础函数的描述信息,并基于所述基础函数,构建多个初始Java图元对象,其中,每个初始Java图元对象对应一个所述基础函数;
[0038]图元转换模块,用于根据预设的转换算法,对每个所述初始Java图元对象进行图元转换,得到每个所述初始Ja本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可视化编程方法,其特征在于,所述可视化编程方法包括:获取预设Java原子函数库中的多个基础函数和每个所述基础函数的描述信息,并基于所述基础函数,构建多个初始Java图元对象,其中,每个初始Java图元对象对应一个所述基础函数;根据预设的转换算法,对每个所述初始Java图元对象进行图元转换,得到每个所述初始Java图元对象对应的初始Block图元对象;根据每个所述基础函数的描述信息和所述初始Block图元对象,构建可视化编程主页面;接收用户在所述可视化编程主页面的操作信息,并根据所述操作信息生成用于表示业务需求的初始图元对象序列,其中,所述初始图元对象序列中包括用户选择的至少一个目标Block图元对象;根据所述目标Block图元对象中的图元信息,查找所述目标Block图元对象对应的目标Java图元对象,并用所述目标Java图元对象替换所述初始图元对象序列中的目标Block图元对象,得到目标图元对象序列,以及根据所述目标图元对象序列,生成目标程序。2.根据权利要求1所述的可视化编程方法,其特征在于,所述根据预设的转换算法,对每个所述初始Java图元对象进行图元转换,得到每个所述初始Java图元对象对应的初始Block图元对象包括:基于JavaParser工具库对每个所述初始Java图元对象进行语法解析,得到每个所述初始Java图元对象的初始抽象语法树;基于预设的格式化算法,将所述抽象语法树中的嵌套结构平铺为关联数组结构,得到目标抽象语法树;基于预设的转换规则,将所述目标抽象语法树中的原子表达式转换为可扩展标记语言,得到每个所述初始Java图元对象对应的初始Block图元对象。3.根据权利要求1所述的可视化编程方法,其特征在于,所述根据每个所述基础函数的描述信息和所述初始Block图元对象,构建可视化编程主页面包括:根据每个所述基础函数的描述信息和所述初始Block图元对象,构建图元描述树;基于预设的主页模板文件进行页面渲染,得到静态编程主页面,其中,所述静态编程主页面中包括多个页面模块;接收每个所述页面模块的数据请求,并根据所述数据请求,获取所述图元描述树对应的树节点信息,并对所述页面模块进行局部重载,得到可视化编程主页面。4.根据权利要求3所述的可视化编程方法,其特征在于,在所述根据每个所述基础函数的描述信息和所述初始Block图元对象,构建图元描述树之后,还包括:将所述图元描述树存储至服务器中,当检测到新增初始Block图元对象时,更新所述服务器中的图元描述树。5.根据权利要求3所述的可视化编程方法,其特征在于,所述基于预设的主页模板文件进行页面渲染,得到静态编程主页面包括:遍历所述主页模板文件中的文档节点,并根据所述文档节点,生成所述主页模板文件对应的文档对象节点树模型;解析所述主页模板文件中的层叠样式表标记,并基于解析结果,生成所述主页模板文
件对应的层叠样式表规则树模型;根据所述文档对象模型节点树模型与所述层叠样式表规则树模型,构建所述主页模板文件对应的渲染树模型;基于所述主页模板文件对应的渲染树模型,将所述主页模板文件中的元素布局到所述渲染树模型对应的节点上;依次对所述渲染树模型中的每个节点进行绘制,...

【专利技术属性】
技术研发人员:王辉
申请(专利权)人:平安银行股份有限公司
类型:发明
国别省市:

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

1