一种小程序开发方法、装置、设备及存储介质制造方法及图纸

技术编号:36347010 阅读:16 留言:0更新日期:2023-01-14 18:01
本发明专利技术公开了一种小程序开发方法、装置、设备及存储介质,解析预设的小程序UI的节点信息,构建小程序的抽象语法树;根据预先分类的组件类别对解析的节点信息进行分类,并配置符合小程序容器业务的领域专用语言;接收云端下发的领域专用语言协议,对领域专用语言进行解析和组装,生成小程序。能够缩短小程序的开发周期,提升开发效率,减小开发成本。减小开发成本。减小开发成本。

【技术实现步骤摘要】
一种小程序开发方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,具体地说,涉及一种小程序开发方法、装置、设备及存储介质。

技术介绍

[0002]目前,小程序因其轻量化,借助社交功能入口丰富,传播能力强以及自带的推广功能等特色,目前发展迅速,生态圈日益壮大,很多应用平台都布局了自己的小程序生态圈。
[0003]现有技术中对于小程序的开发,一般采用小程序原生代码进行小程序开发,小程序开发存在过程复杂,开发成本高,开发效率低的问题。

技术实现思路

[0004]为了解决上述问题,本专利技术提出一种小程序开发方法、装置、设备及存储介质,能够缩短小程序的开发周期,提升开发效率,减小开发成本。
[0005]本专利技术实施例提供一种小程序开发方法,所述方法包括:
[0006]解析预设的小程序UI的节点信息,构建小程序的抽象语法树;
[0007]根据预先分类的组件类别对解析的节点信息进行分类,并配置符合小程序容器业务的领域专用语言;
[0008]接收云端下发的领域专用语言协议,对领域专用语言进行解析和组装,生成小程序。
[0009]优选的,所述解析预设的小程序UI的节点信息,构建小程序的抽象语法树,具体包括:
[0010]通过Dart analyzer分析出小程序预先设计的小程序UI的语法树;
[0011]根据所述语法树解析出节点信息,所述节点信息包括原子组件的布局信息、元组件的布局信息;
[0012]根据所述节点信息将所述语法树抽象为JSON协议的抽象语法树;
[0013]所述原子组件为DartUI框架的界面布局组件,界面布局组件包括Row、Colum、Flux和流式布局;
[0014]所述元组件包括DartUI框架的Containner、Image、Text和GripList基本组件。
[0015]作为一种优选方式,所述组件类别包括按照组件的业务功能划分的原子组件、本地组件、逻辑组件、模块组件和动态组件;
[0016]所述原子组件为DartUI框架的界面布局组件;
[0017]所述本地组件为对小程序预设的模板组件;
[0018]所述逻辑组件包括点击事件和键盘事件背后的逻辑运算组件;
[0019]所述模块组件具体为对各类原子组件进行组合形成新的拥有不同业务属性的组件;
[0020]所述动态组件具体为对DSL进行转换的逻辑处理单元组件。
[0021]优选的,所述根据预先分类的组件类别对解析的节点信息进行分类,并配置符合小程序容器业务的领域专用语言,具体包括:
[0022]按照所述组件类别对所述抽象语法树的节点信息进行归类;
[0023]为归类后的组件配置组件类别,并添加逻辑组件,添加符合业务的逻辑函数名,组成符合小程序容器业务的领域专用语言。
[0024]优选地,所述接收云端下发的领域专用语言协议,对领域专用语言进行解析和组装,生成小程序,具体包括:
[0025]接收云端下发的领域专用语言协议,解析出小程序的路由,跳转至对应的小程序;
[0026]定义领域专用语言解析层;
[0027]定义模块组件生成层,并基于定义的领域专用语言解析层,对零散的组件进行组装;
[0028]定义检查模块组建生成层,优化Dart渲染的界面结构,去除无用节点;
[0029]将去除无用节点的组件进行组装,生成基于dart产生的小程序。
[0030]进一步地,所述定义领域专用语言解析层,具体包括:
[0031]根据所述组件类别封装原子组件;
[0032]封装通过反射处理基于Dart的业务逻辑函数的逻辑组件;
[0033]根据不同原子组件的业务需求,对不同的原子组件进行组装;
[0034]将云端下发的领域专用语言切割成多个组件,然后对多个组件进行分别处理,并将生成的组件进行组装。
[0035]优选地,所述方法还包括:
[0036]根据定义的账户中心、音视频、业务函数的模板生成小程序的若干个模块;
[0037]对小程序若干模块进行组装,生成新的小程序;
[0038]将生成的小程序在硬件中进行渲染,得到小程序界面。
[0039]本专利技术实施瑞提供一种小程序开发装置,所述装置包括:
[0040]语法树构建模块,用于解析预设的小程序UI的节点信息,构建小程序的抽象语法树;
[0041]语言设计模块,用于根据预先分类的组件类别对解析的节点信息进行分类,并配置符合小程序容器业务的领域专用语言;
[0042]小程序生成模块,用于接收云端下发的领域专用语言协议,对领域专用语言进行解析和组装,生成小程序。
[0043]所述语法树构建模块具体用于:
[0044]通过Dart analyzer分析出小程序预先设计的小程序UI的语法树;
[0045]根据所述语法树解析出节点信息,所述节点信息包括原子组件的布局信息、元组件的布局信息;
[0046]根据所述节点信息将所述语法树抽象为JSON协议的抽象语法树;
[0047]所述原子组件为DartUI框架的界面布局组件,界面布局组件包括Row、Colum、Flux和流式布局;
[0048]所述元组件包括DartUI框架的Containner、Image、Text和GripList基本组件。
[0049]优选地,所述组件类别包括按照组件的业务功能划分的原子组件、本地组件、逻辑
组件、模块组件和动态组件;
[0050]所述原子组件为DartUI框架的界面布局组件;
[0051]所述本地组件为对小程序预设的模板组件;
[0052]所述逻辑组件包括点击事件和键盘事件背后的逻辑运算组件;
[0053]所述模块组件具体为对各类原子组件进行组合形成新的拥有不同业务属性的组件;
[0054]所述动态组件具体为对DSL进行转换的逻辑处理单元组件。
[0055]优选地,所述语言设计模块具体用于:
[0056]按照所述组件类别对所述抽象语法树的节点信息进行归类;
[0057]为归类后的组件配置组件类别,并添加逻辑组件,添加符合业务的逻辑函数名,组成符合小程序容器业务的领域专用语言。
[0058]优选地,所述小程序生成模块具体用于:
[0059]接收云端下发的领域专用语言协议,解析出小程序的路由,跳转至对应的小程序;
[0060]定义领域专用语言解析层;
[0061]定义模块组件生成层,并基于定义的领域专用语言解析层,对零散的组件进行组装;
[0062]定义检查模块组建生成层,优化Dart渲染的界面结构,去除无用节点;
[0063]将去除无用节点的组件进行组装,生成基于dart产生的小程序。
[0064]进一步地,所述小程序生成模块具体还用于:
[0065]根据所述组件类别封装原子组本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种小程序开发方法,其特征在于,所述方法包括:解析预设的小程序UI的节点信息,构建小程序的抽象语法树;根据预先分类的组件类别对解析的节点信息进行分类,并配置符合小程序容器业务的领域专用语言;接收云端下发的领域专用语言协议,对领域专用语言进行解析和组装,生成小程序。2.根据权利要求1所述的小程序开发方法,其特征在于,所述解析预设的小程序UI的节点信息,构建小程序的抽象语法树,具体包括:通过Dart analyzer分析出小程序预先设计的小程序UI的语法树;根据所述语法树解析出节点信息,所述节点信息包括原子组件的布局信息、元组件的布局信息;根据所述节点信息将所述语法树抽象为JSON协议的抽象语法树;所述原子组件为DartUI框架的界面布局组件,界面布局组件包括Row、Colum、Flux和流式布局;所述元组件包括DartUI框架的Containner、Image、Text和GripList基本组件。3.根据权利要求1所述的小程序开发方法,其特征在于,所述组件类别包括按照组件的业务功能划分的原子组件、本地组件、逻辑组件、模块组件和动态组件;所述原子组件为DartUI框架的界面布局组件;所述本地组件为对小程序预设的模板组件;所述逻辑组件包括点击事件和键盘事件背后的逻辑运算组件;所述模块组件具体为对各类原子组件进行组合形成新的拥有不同业务属性的组件;所述动态组件具体为对DSL进行转换的逻辑处理单元组件。4.根据权利要求1所述的小程序开发方法,其特征在于,所述根据预先分类的组件类别对解析的节点信息进行分类,并配置符合小程序容器业务的领域专用语言,具体包括:按照所述组件类别对所述抽象语法树的节点信息进行归类;为归类后的组件配置组件类别,并添加逻辑组件,添加符合业务的逻辑函数名,组成符合小程序容器业务的领域专用语言。5.根据权利要求1所述的小程序开发方法,其特征在于,所述接收云端下发的领域专用语言协议,对领域专用...

【专利技术属性】
技术研发人员:郎志成沈仲孝郑兴明邓晨刘俊峰冉光伟刘棨
申请(专利权)人:星河智联汽车科技有限公司
类型:发明
国别省市:

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

1