CN114546359A - Dsl描述文件生成方法、装置、设备及存储介质 - Google Patents
Dsl描述文件生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114546359A CN114546359A CN202111672763.7A CN202111672763A CN114546359A CN 114546359 A CN114546359 A CN 114546359A CN 202111672763 A CN202111672763 A CN 202111672763A CN 114546359 A CN114546359 A CN 114546359A
- Authority
- CN
- China
- Prior art keywords
- information
- dsl
- platform
- data
- description file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供一种DSL描述文件生成方法、装置、设备及存储介质。在本申请实施例中,通过获取前端页面中至少一个第一UI对象以及第一UI对象之间的级联关系,可以确定前端页面中至少一个UI对象的详细信息以及至少一个UI对象之间的相对位置关系;基于此,根据至少一个UI对象的详细信息可以对至少一个第一UI对象进行抽象及重新表达,得到对前端页面应用的平台无依赖性的至少一个第二UI对象;以及根据至少一个UI对象之间级联关系,对至少一个第二UI对象进行组合和封装,得到无平台特性的DSL描述文件,以供不同的平台获取及使用,实现跨平台及动态化的需求。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种DSL描述文件生成方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,以可视化形式向用户展示信息的方式越来越丰富,尤其在移动端,不同的移动平台通常可以通过APP、小程序、微商城、移动网站等多种方式向用户展示信息。为了减轻开发负担,跨平台和动态化一直是应用程序开发者尤其是移动端开发者追求的目标。但是,不同平台通常没有互通性,为了实现跨平台和动态化就离不开UI描述方案。
然而,目前已有的UI描述方案都有不足之处,例如,H5描述方案可以实现跨平台,但是UI渲染性能以及与原生交互能力不足;ReactNative的JavaScript描述方案的UI渲染性能以及与原生交互能力较强,但是只支持移动客户端的跨平台和动态化,不支持H5以及其他应用程序平台的接入;Flutter的dart描述方案支持在Android、IOS、Web之间跨平台,但是动态化能力不足,且不支持小程序的接入。因此,想要跨各种平台实现动态化UI渲染方案,就需要解决UI描述方案统一化的问题。
发明内容
本申请的多个方面提供一种DSL描述文件生成方法、装置、设备及存储介质,用以解决UI描述方案统一化的问题。
本申请实施例提供一种DSL描述文件生成方法,包括:获取至少一个第一UI对象以及第一UI对象之间的级联关系,所述级联关系表征所述至少一个第一UI对象在一前端页面上的UI描述方式;对所述至少一个第一UI对象进行抽象及重新表达,得到无平台特性的至少一个第二UI对象,所述无平台特性表征不包含所述前端页面对应应用平台的特性;根据所述级联关系,对所述至少一个第二UI对象进行组合和封装,得到无平台特性的DSL描述文件。
在一可选实施例中,获取至少一个第一UI对象以及第一UI对象之间的级联关系,包括:获取编写的前端代码文件,所述前端代码文件用于描述所述前端页面;从所述前端代码文件中识别至少一个对象标签,所述至少一个对象标签分别对应所述至少一个第一UI对象;根据所述至少一个对象标签之间的级联关系,确定与所述至少一个对象标签分别对应的第一UI对象之间的级联关系。
在一可选实施例中,获取至少一个第一UI对象以及第一UI对象之间的级联关系,包括:依次响应在编辑界面上对至少一个第一UI对象分别执行的拖动操作;根据所述至少一个第一UI对象在所述编辑界面上的拖动结束位置,确定所述至少一个第一UI对象之间的级联关系,所述拖动结束位置对应所述至少一个第一UI对象在所述前端页面上的显示位置。
在一可选实施例中,所述方法还包括:获取每个对象标签包含的属性信息,所述属性信息包括与所述每个对象标签对应第一UI对象的基本信息和布局信息。
在一可选实施例中,所述方法还包括:对每个第一UI对象进行解析,得到每个第一UI对象包含的基本信息;根据每个第一UI对象在所述编辑界面上的拖动结束位置,确定每个第一UI对象的布局信息。
在一可选实施例中,对所述至少一个第一UI对象进行抽象及重新表达,得到无平台特性的至少一个第二UI对象,包括:针对每个第一UI对象,将所述第一UI对象的基本信息和布局信息分别转换为通用型数据格式和通用名称,得到与每个第一UI对象对应的无平台特性的第二UI对象,所述通用型数据格式和通用名称不依赖所对应的应用平台。
在一可选实施例中,所述至少一个第一UI对象中还包含关联有事件信息的目标UI对象,所述事件信息至少包括事件触发数据、数据处理方式、结果数据、数据传输信息和信息提示方式;相应地,在将所述至少一个第一UI对象的基本信息和布局信息分别转换为通用型数据格式和通用名称之后,所述方法还包括:针对关联有事件信息的目标UI对象,将其关联的事件触发数据、结果数据和数据传输信息转换为通用型数据格式和通用名称,并将所述数据处理方式转换为通用表达式,以及按照预设提示模板统一所述信息提示方式,得到与每个目标UI对象对应的无平台特性的第二UI对象。
在一可选实施例中,所述方法还包括:根据转换后的数据传输信息和信息提示方式,生成所述DSL描述文件对应的信息处理数据。
在一可选实施例中,所述方法还包括:生成所述DSL描述文件对应的生命周期数据,所述生命周期数据包括至少一个生命周期及其对应的状态标识。
在一可选实施例中,根据所述级联关系,对所述至少一个第二UI对象进行组合和封装,得到无平台特性的DSL描述文件,包括:根据所述至少一个第一UI对象包含的UI组件基本信息,生成DSL基本信息;根据所述级联关系,将至少一个第二UI对象构建成视图树,所述视图树中每个结点对应一个第二UI对象;根据所述DSL基本信息、所述视图树、所述状态数据和所述生命周期数据,生成无平台特性的DSL描述文件。
本申请实施例还提供一种DSL描述文件生成装置,包括:获取模块,用于获取至少一个第一UI对象以及第一UI对象之间的级联关系,所述级联关系表征所述至少一个第一UI对象在一前端页面上的UI描述方式;第一处理模块,用于对所述至少一个第一UI对象进行抽象及重新表达,得到无平台特性的至少一个第二UI对象,所述无平台特性表征不包含所述前端页面对应应用平台的特性;第二处理模块,用于根据所述级联关系,对所述至少一个第二UI对象进行组合和封装,得到无平台特性的DSL描述文件。
本申请实施例还提供一种DSL描述文件生成设备,包括:处理器以及存储有计算机程序的存储器;所述处理器,用于执行所述计算机程序,以用于实现所述方法中的任一项步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现所述方法中的任一项步骤。
在本申请实施例中,通过获取前端页面中至少一个第一UI对象以及第一UI对象之间的级联关系,可以确定前端页面中至少一个UI对象的详细信息以及至少一个UI对象之间的相对位置关系;基于此,根据至少一个UI对象的详细信息可以对至少一个第一UI对象进行抽象及重新表达,得到对前端页面应用的平台无依赖性的至少一个第二UI对象;以及根据至少一个UI对象之间级联关系,对至少一个第二UI对象进行组合和封装,得到无平台特性的DSL描述文件,以供不同的平台获取及使用,实现跨平台及动态化的需求。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种DSL描述文件生成方法的流程图;
图2为本申请实施例提供的一种DSL描述文件生成装置的结构示意图;
图3为本申请实施例提供的一种DSL描述文件生成设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
跨平台和动态化一直是应用程序开发者尤其是移动客户端开发者追求的目标,为了解决现有跨平台和动态化方案中UI描述统一化的问题,本申请实施例提供了一种DSL描述文件生成方法,用于对前端页面进行描述,以供各平台根据该DSL描述文件对前端页面进行动态化渲染。
图1为该DSL描述文件生成方法的流程图,如图1所示,方法包括:
S1、获取至少一个第一UI对象以及第一UI对象之间的级联关系,级联关系表征至少一个第一UI对象在一前端页面上的UI描述方式;
S2、对至少一个第一UI对象进行抽象及重新表达,得到无平台特性的至少一个第二UI对象,无平台特性表征不包含前端页面对应应用平台的特性;
S3、根据级联关系,对至少一个第二UI对象进行组合和封装,得到无平台特性的DSL描述文件。
在本申请实施例中,至少一个第一UI对象是指前端页面包括的至少一个UI组件,UI对象之间的级联关系是指UI组件之间的相对位置关系。为了生成与前端页面对应的领域特定语言(Domain Specific Language,DSL)描述文件,首先需要获取前端页面包括的至少一个第一UI对象以及第一UI对象之间的级联关系。在本申请实施例中,不限定获取至少一个第一UI对象以及UI对象之间的级联关系的具体方式,可以根据实际需求灵活选择。
在一可选实施例中,可以获取预先编写的前端代码文件,该前端代码文件用于描述前端页面,基于此,可以从前端代码文件中识别至少一个对象标签;其中,至少一个对象标签分别对应至少一个第一UI对象。在本实施例中,获取的前端页面可以是预先以通用编程语言编写的前端代码文件,例如,通用编程语言可以是JavaScript或者TypeScript等,在此不做限定。前端代码文件中的对象标签是指通用编程语言包括的标识符,用于定义前端页面中的UI对象及其属性和功能。由于前端代码文件中的对象标签之间具有一定的级联关系,通过识别对象标签之间的级联关系即可根据至少一个对象标签之间的级联关系,确定与至少一个对象标签分别对应的第一UI对象之间的级联关系。
进一步可选地,在识别每个对象标识时,还可以获取每个对象标签包含的属性信息,该属性信息用于定义与每个对象标签对应第一UI对象的属性和功能。可选地,属性信息包括与每个对象标签对应第一UI对象的基本信息和布局信息;其中,基本信息包括但不限于第一UI对象的标识、名称、类型、支持的应用程序版本等;布局信息包括但不限于第一UI对象在前端页面上以流式布局、边框布局、网格布局、网贷布局、绝对布局等布局方式对应的布局信息,还可以包括第一UI对象的尺寸信息以及以居左、居右、居上、居下或居中等显示位置信息,等等。
在另一可选实施例中,还可以通过提供有DSL描述文件生成功能的低代码平台或设备,获取生成DSL描述文件所需的至少一个第一UI对象以及第一UI对象之间的级联关系。可选地,低代码平台或设备提供具有交互功能的编辑界面,编辑界面上包括UI对象选择区和UI对象操作区,操作人员可以从UI对象选择区中选择生成DSL描述文件所需的至少一个第一UI对象,并在UI对象操作区中对至少一个第一UI对象之间的相对位置进行调整,以得到符合需求的UI对象级联关系。在本申请可选实施例中,操作人员对至少一个第一UI对象的选择操作可以为拖动操作,低代码平台或设备可以依次响应操作人员在编辑界面上对至少一个第一UI对象分别执行的拖动操作,并根据至少一个第一UI对象在编辑界面上的拖动结束位置,确定至少一个第一UI对象之间的级联关系;其中,至少一个第一UI对象在编辑界面上的拖动结束位置对应至少一个第一UI对象在前端页面上的显示位置。
进一步可选地,在根据至少一个第一UI对象在编辑界面上的拖动结束位置,确定至少一个第一UI对象之间的级联关系时,还可以对每个第一UI对象进行解析,得到每个第一UI对象包含的基本信息,以及根据每个第一UI对象在编辑界面上的拖动结束位置,确定每个第一UI对象的布局信息。例如,操作人员选择一个用于执行确定操作的第一UI对象并拖动到编辑界面中,则在对该第一UI对象进行解析时,可以确定该第一UI对象的基本信息至少包括类型为按钮组件、名称为确定;若操作人员还没有拖动其他按钮组件类型的UI对象到编辑界面中,则该用于执行确定操作的第一UI对象的标识可以自动赋予初始值,假设为001,则在后续再识别到同为按钮组件类型的UI对象时,可以递增设置其对应的标识值。又例如,操作人员将该用于执行确定操作的第一UI对象拖动到编辑界面中央并指定为流式布局,则在对该第一UI对象解析时,可以确定该第一UI对象对应的显示位置信息为居中显示,对应的布局信息为流式布局信息。
基于上述,在获取到至少一个第一UI对象以及UI对象之间的级联关系的情况下,可以对至少一个第一UI对象进行抽象及重新表达,得到无平台特性的至少一个第二UI对象;其中,对至少一个第一UI对象进行抽象及重新表达是指针对每个第一UI对象,将第一UI对象的基本信息和布局信息分别转换为通用型数据格式和通用名称,得到与每个第一UI对象对应的无平台特性的第二UI对象,无平台特征是指转换后的通用型数据格式和通用名称不依赖前端页面所应用的应用平台。
在本申请实施例中,不限定转换后的通用数据格式的具体实现方式,可选地,可以为JSON或者XML等不依赖应用平台的通用数据格式。例如,下列示例1所示为将以JavaScript通用编程语言编写的前端代码文件转换为JSON格式的第二UI对象的过程示意图。其中,左侧为预先以JavaScript通用编程语言编写的前端代码文件,其对应一页面节点page,该页面节点page包括3个child子节点,分别对应该前端页面中的三个UI对象,每个UI对象可以包含其对应的基本信息以及布局信息(图中未示出)。
如下示例1所示,经格式转换后,整个页面以及其中的UI对象被转换为图中右侧所示的JSON格式的数据对象,转换后的数据对象包括与前端代码文件中页面节点page对应的node集合,以及与前端代码文件中页面节点page包含的3个child子节点分别对应的child集合。在每个child集合中包含的信息是每个child集合对应前端代码文件中child子节点的基本信息以及布局信息转换后的内容;例如,在示例1中,将页面节点page转换为node,用于标识一个主节点,页面节点page中包括的3个child子节点经转换后对应的名称转换为View。
在本实施例中,转换过程不仅将前端代码文件中第一UI对象的格式和名称进行转换,前端代码文件中第一UI对象之间的级联关系也进行对应的转换;如下示例1示,分别属于不同第一UI对象的信息经转换后以大括号进行区分,在每个第一UI对象之中还包括子UI对象的情况下,每个第一UI对象转换后得到的数据对象中对应的大括号中还可以嵌套大括号包含子UI对象对应的信息;依此类推,可以得到包括至少一个第一UI对象以及UI对象级联关系的JSON格式的第二UI对象。
示例1
在本申请可选实施例中,至少一个第一UI对象中还包含关联有事件信息的目标UI对象;其中,事件信息至少包括事件触发数据、数据处理方式、结果数据、数据传输信息和信息提示方式。基于此,本申请实施例在将至少一个第一UI对象的基本信息和布局信息分别转换为通用型数据格式和通用名称之后,还可以针对关联有事件信息的目标UI对象,将其关联的事件触发数据、结果数据和数据传输信息转换为通用型数据格式和通用名称,并将数据处理方式转换为通用表达式,以及按照预设提示模板统一信息提示方式,得到与每个目标UI对象对应的无平台特性的第二UI对象。
例如,下列示例2是将包含有事件信息的目标UI对象转换为JSON格式的第二UI对象示意图。如下述示例2所示,该目标UI对象经转换后得到的基本信息包括的类型为文本类型(Text),布局信息为流式布局(layout)方式且距离顶部边缘距离为4;其中,文本中用于以字符串形式显示“this is text”,且对应的字体大小为12号。除此之外,该UI目标对象还包括事件信息(event),在该事件信息中,事件的触发方式为点击方式“onClick”;当事件被触发时,执行“showToast”方法;其中,“showToast”方法的参数类型为String类型,参数值为“this is text”。
示例2
需要说明的是,上述示例是以获取至少一个第一UI对象以及UI对象之间的级联关系的来源为编程语言编写的前端代码文件为例进行说明,在获取至少一个第一UI对象以及UI对象之间的级联关系的来源为低代码平台或设备的情况下,可以根据解析到的解析到每个第一UI对象的基本信息和布局信息以及至少一个UI对象之间的级联关系,直接生成与第一UI对象的基本信息和布局信息以及UI对象之间的级联关系对应的JSON或者XML格式的DSL描述文件。
进一步需要说明的是,在上述示例2中,目标UI对象的事件信息中包含的数据传输信息并不限于上述一种方式,根据获取数据方式的不同,对应的数据传输信息也可以不同。例如,API类型可以表示从某一接口获取数据,URL类型可以表示从某一网站获取数据,Store类型表示从本地获取数据等等;进一步,针对不同的数据获取方式,对应的地址也可以进行区分,例如,在每种类型获取方式对应的访问地址前可以加上对应类型的标识,以供各平台在解析地址时进行校验和识别。
对于转换后的第二UI对象对应的数据处理方式,可以根据数据的处理逻辑转换为通用表达式;例如,对于b和c两个数据中的最大值,可以用三目运算符“a=b>c?b:c”的形式取得b和c两者中的最大值,并将最大值赋值给a。对于转换后的第二UI对象对应信息提示方式,可以按照预设提示模板对普通信息提示框以及异常信息提示框的样式进行统一;其中,预设信息提示模板的类型不做限定,例如,可以遵循层叠样式表(Cascading StyleSheets,CSS)中的信息提示模板;相应地,为了风格统一,第二UI对象对应的布局方式以及UI对象中基本信息的定义都可以遵循CSS中的方式,例如布局信息可以按照CSS中的flexbox规范定义UI对象的长、宽、高等信息。
除此之外,在本申请实施例中,还可以根据转换后的数据传输信息和信息提示方式,生成DSL描述文件对应的信息处理数据,以作为DSL描述文件的数据处理规范,在各平台对前端页面有指定渲染需求的情况下,可以按照该信息处理数据对其指定渲染需求所需的数据进行处理。进一步,在本申请实施例中,还可以生成DSL描述文件对应的生命周期数据,该生命周期数据包括至少一个生命周期及其对应的状态标识;其中,生命周期用于表示前端页面在创建、运行、销毁等不同时间的时长,状态标识用于表示前端页面在每个生命周期内对应的状态。
例如,在前端页处于创建周期内,对应的状态标识可以为表示启动状态的标识;在前端页处于运行周期内,对应的状态标识可以为表示运行状态的标识;在前端页处于销毁周期内,对应的状态标识可以为表示关闭状态的标识,当然并不限于此。进一步可选地,在生成生命周期数据时,还可以为DSL描述文件生成默认的一个或两个生命周期及对应的状态,各平台在实际渲染前端页面时可以根据实际需求进行增加减或修改,具体实现方式在此不做限定。
进一步,在得到生成DSL描述文件所需的至少一个第二UI对象的情况下,本申请实施例可以根据至少一个第一UI对象包含的UI组件基本信息,生成DSL基本信息,并根据UI对象之间的级联关系,将至少一个第二UI对象构建成如上述示例中的视图树;其中,视图树中每个结点对应一个第二UI对象。基于此,可以根据DSL基本信息、视图树、状态数据和生命周期数据,生成无平台特性的DSL描述文件,以供不同平台获取DSL描述文件并根据其中的信息对前端页面进行渲染。
需要说明的是,在本申请实施例中,除了将前端页面对应的内容进行转换生成无平台特性的DSL描述文件之外,在生成DSL描述文件时,还可以根据前端页面的版本生成对应版本的DSL描述文件,以供各平台请求不同版本的DSL描述文件进行对应版本前端页面的渲染。进一步,在生成DSL描述文件时,还可以生成DSL描述文件对应的版本信息以及DSL描述文件与各平台应用程序的版本对应关系,以在各平台请求不同版本的DSL描述文件时,向请求的平台下发对应版本的DSL描述文件。
在本申请实施例中,通过获取前端页面中至少一个第一UI对象以及第一UI对象之间的级联关系,可以确定前端页面中至少一个UI对象的详细信息以及至少一个UI对象之间的相对位置关系;基于此,根据至少一个UI对象的详细信息可以对至少一个第一UI对象进行抽象及重新表达,得到对前端页面应用的平台无依赖性的至少一个第二UI对象;以及根据至少一个UI对象之间级联关系,对至少一个第二UI对象进行组合和封装,得到无平台特性的DSL描述文件,以供不同的平台获取及使用,实现跨平台及动态化的需求。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤S1至步骤S3的执行主体可以为设备A;又比如,步骤S1的执行主体可以为设备A,步骤S2和步骤S3的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如S1、S2等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例还提供一种DSL描述文件生成装置。例如DSL描述文件生成装置可实现为通信控制器(Communication Control Unit,CCU)中的虚拟装置,例如应用程序。如图2所示,该DSL描述文件生成装置包括获取模块201、第一处理模块202和第二处理模块203;其中:
获取模块201,用于获取至少一个第一UI对象以及第一UI对象之间的级联关系,级联关系表征至少一个第一UI对象在一前端页面上的UI描述方式;
第一处理模块202,用于对至少一个第一UI对象进行抽象及重新表达,得到无平台特性的至少一个第二UI对象,无平台特性表征不包含前端页面对应应用平台的特性;
第二处理模块203,用于根据级联关系,对至少一个第二UI对象进行组合和封装,得到无平台特性的DSL描述文件。
在一可选实施例中,获取模块201在获取至少一个第一UI对象以及第一UI对象之间的级联关系时,用于获取编写的前端代码文件,前端代码文件用于描述前端页面;从前端代码文件中识别至少一个对象标签,至少一个对象标签分别对应至少一个第一UI对象;根据至少一个对象标签之间的级联关系,确定与至少一个对象标签分别对应的第一UI对象之间的级联关系。
在一可选实施例中,获取模块201在获取至少一个第一UI对象以及第一UI对象之间的级联关系时,用于依次响应在编辑界面上对至少一个第一UI对象分别执行的拖动操作;根据至少一个第一UI对象在编辑界面上的拖动结束位置,确定至少一个第一UI对象之间的级联关系,拖动结束位置对应至少一个第一UI对象在前端页面上的显示位置。
在一可选实施例中,获取模块201还用于获取每个对象标签包含的属性信息,属性信息包括与每个对象标签对应第一UI对象的基本信息和布局信息。
在一可选实施例中,获取模块201用于对每个第一UI对象进行解析,得到每个第一UI对象包含的基本信息;根据每个第一UI对象在编辑界面上的拖动结束位置,确定每个第一UI对象的布局信息。
在一可选实施例中,第一处理模块202在对至少一个第一UI对象进行抽象及重新表达,得到无平台特性的至少一个第二UI对象时,用于针对每个第一UI对象,将第一UI对象的基本信息和布局信息分别转换为通用型数据格式和通用名称,得到与每个第一UI对象对应的无平台特性的第二UI对象,通用型数据格式和通用名称不依赖所对应的应用平台。
在一可选实施例中,至少一个第一UI对象中还包含关联有事件信息的目标UI对象,事件信息至少包括事件触发数据、数据处理方式、结果数据、数据传输信息和信息提示方式;相应地,第一处理模块202在将至少一个第一UI对象的基本信息和布局信息分别转换为通用型数据格式和通用名称之后,还用于针对关联有事件信息的目标UI对象,将其关联的事件触发数据、结果数据和数据传输信息转换为通用型数据格式和通用名称,并将数据处理方式转换为通用表达式,以及按照预设提示模板统一信息提示方式,得到与每个目标UI对象对应的无平台特性的第二UI对象。
在一可选实施例中,第一处理模块202还用于根据转换后的数据传输信息和信息提示方式,生成DSL描述文件对应的信息处理数据。
在一可选实施例中,第一处理模块202还用于生成DSL描述文件对应的生命周期数据,生命周期数据包括至少一个生命周期及其对应的状态标识。
在一可选实施例中,第二处理模块203在根据级联关系,对至少一个第二UI对象进行组合和封装,得到无平台特性的DSL描述文件时,用于根据至少一个第一UI对象包含的UI组件基本信息,生成DSL基本信息;根据级联关系,将至少一个第二UI对象构建成视图树,视图树中每个结点对应一个第二UI对象;根据DSL基本信息、视图树、状态数据和生命周期数据,生成无平台特性的DSL描述文件。
需要说明的是,关于上述装置中各模块的具体功能和实现过程,可参见上述方法实施例,在此不再赘述。
本申请实施例还提供一种DSL描述文件生成设备,图3为DSL描述文件生成设备的结构示意图,如图3所示,DSL描述文件生成设备包括:处理器31以及存储有计算机程序的存储器32;其中,处理器31和存储器32可以是一个或多个。
存储器32,主要用于存储计算机程序,这些计算机程序可被处理器31执行,致使处理器31控制DSL描述文件生成设备实现相应功能、完成相应动作或任务。除了存储计算机程序之外,存储器32还可被配置为存储其它各种数据以支持在DSL描述文件生成设备上的操作。这些数据的示例包括用于在DSL描述文件生成设备上操作的任何应用程序或方法的指令。
存储器32,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请实施例中,并不限定处理器31的实现形态,例如可以是但不限于CPU、GPU或MCU等。处理器31可以看作是DSL描述文件生成设备的控制系统,可用于执行存储器32中存储的计算机程序,以控制DSL描述文件生成设备实现相应功能、完成相应动作或任务。值得说明的是,根据DSL描述文件生成设备实现形态以及所处于场景的不同,其所需实现的功能、完成的动作或任务会有所不同;相应地,存储器32中存储的计算机程序也会有所不同,而处理器31执行不同计算机程序可控制DSL描述文件生成设备实现不同的功能、完成不同的动作或任务。
在一些可选实施例中,如图3所示,DSL描述文件生成设备还可包括:显示器33、电源组件34以及通信组件35等其它组件。图3中仅示意性给出部分组件,并不意味着DSL描述文件生成设备只包括图3所示组件,针对不同的应用需求,DSL描述文件生成设备还可以包括其他组件,例如,在存在语音交互需求的情况下,如图3所示,DSL描述文件生成设备还可以包括音频组件36。关于DSL描述文件生成设备可包含的组件,具体可视DSL描述文件生成设备的产品形态而定,在此不做限定。
在本申请实施例中,当处理器执行存储器中的计算机程序时,以用于:获取至少一个第一UI对象以及第一UI对象之间的级联关系,其中,级联关系表征所述至少一个第一UI对象在一前端页面上的UI描述方式;对至少一个第一UI对象进行抽象及重新表达,得到无平台特性的至少一个第二UI对象,其中,无平台特性表征不包含所述前端页面对应应用平台的特性;根据级联关系,对至少一个第二UI对象进行组合和封装,得到无平台特性的DSL描述文件。
需要说明的是,关于上述DSL描述文件生成设备中处理器的具体功能,可参见上述方法实施例,在此不再赘述。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由DSL描述文件生成设备执行的各步骤。
上述实施例中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图实施例中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述图实施例中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图实施例中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种DSL描述文件生成方法,其特征在于,包括:
获取至少一个第一UI对象以及第一UI对象之间的级联关系,所述级联关系表征所述至少一个第一UI对象在一前端页面上的UI描述方式;
对所述至少一个第一UI对象进行抽象及重新表达,得到无平台特性的至少一个第二UI对象,所述无平台特性表征不包含所述前端页面对应应用平台的特性;
根据所述级联关系,对所述至少一个第二UI对象进行组合和封装,得到无平台特性的DSL描述文件。
2.根据权利要求1所述的方法,其特征在于,获取至少一个第一UI对象以及第一UI对象之间的级联关系,包括:
获取编写的前端代码文件,所述前端代码文件用于描述所述前端页面;
从所述前端代码文件中识别至少一个对象标签,所述至少一个对象标签分别对应所述至少一个第一UI对象;
根据所述至少一个对象标签之间的级联关系,确定与所述至少一个对象标签分别对应的第一UI对象之间的级联关系。
3.根据权利要求1所述的方法,其特征在于,获取至少一个第一UI对象以及第一UI对象之间的级联关系,包括:
依次响应在编辑界面上对至少一个第一UI对象分别执行的拖动操作;
根据所述至少一个第一UI对象在所述编辑界面上的拖动结束位置,确定所述至少一个第一UI对象之间的级联关系,所述拖动结束位置对应所述至少一个第一UI对象在所述前端页面上的显示位置。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取每个对象标签包含的属性信息,所述属性信息包括与所述每个对象标签对应第一UI对象的基本信息和布局信息。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对每个第一UI对象进行解析,得到每个第一UI对象包含的基本信息;
根据每个第一UI对象在所述编辑界面上的拖动结束位置,确定每个第一UI对象的布局信息。
6.根据权利要求4或5所述的方法,其特征在于,对所述至少一个第一UI对象进行抽象及重新表达,得到无平台特性的至少一个第二UI对象,包括:
针对每个第一UI对象,将所述第一UI对象的基本信息和布局信息分别转换为通用型数据格式和通用名称,得到与每个第一UI对象对应的无平台特性的第二UI对象,所述通用型数据格式和通用名称不依赖所对应的应用平台。
7.根据权利要求6所述的方法,其特征在于,所述至少一个第一UI对象中还包含关联有事件信息的目标UI对象,所述事件信息至少包括事件触发数据、数据处理方式、结果数据、数据传输信息和信息提示方式;
相应地,在将所述至少一个第一UI对象的基本信息和布局信息分别转换为通用型数据格式和通用名称之后,所述方法还包括:
针对关联有事件信息的目标UI对象,将其关联的事件触发数据、结果数据和数据传输信息转换为通用型数据格式和通用名称,并将所述数据处理方式转换为通用表达式,以及按照预设提示模板统一所述信息提示方式,得到与每个目标UI对象对应的无平台特性的第二UI对象。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
根据转换后的数据传输信息和信息提示方式,生成所述DSL描述文件对应的信息处理数据。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
生成所述DSL描述文件对应的生命周期数据,所述生命周期数据包括至少一个生命周期及其对应的状态标识。
10.根据权利要求放9所述的方法,其特征在于,根据所述级联关系,对所述至少一个第二UI对象进行组合和封装,得到无平台特性的DSL描述文件,包括:
根据所述至少一个第一UI对象包含的UI组件基本信息,生成DSL基本信息;
根据所述级联关系,将至少一个第二UI对象构建成视图树,所述视图树中每个结点对应一个第二UI对象;
根据所述DSL基本信息、所述视图树、所述状态数据和所述生命周期数据,生成无平台特性的DSL描述文件。
11.一种DSL描述文件生成装置,其特征在于,包括:
获取模块,用于获取至少一个第一UI对象以及第一UI对象之间的级联关系,所述级联关系表征所述至少一个第一UI对象在一前端页面上的UI描述方式;
第一处理模块,用于对所述至少一个第一UI对象进行抽象及重新表达,得到无平台特性的至少一个第二UI对象,所述无平台特性表征不包含所述前端页面对应应用平台的特性;
第二处理模块,用于根据所述级联关系,对所述至少一个第二UI对象进行组合和封装,得到无平台特性的DSL描述文件。
12.一种DSL描述文件生成设备,其特征在于,包括:处理器以及存储有计算机程序的存储器;所述处理器,用于执行所述计算机程序,以用于实现权利要求1-10任一项所述方法中的步骤。
13.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器实现权利要求1-10任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111672763.7A CN114546359A (zh) | 2021-12-31 | 2021-12-31 | Dsl描述文件生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111672763.7A CN114546359A (zh) | 2021-12-31 | 2021-12-31 | Dsl描述文件生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546359A true CN114546359A (zh) | 2022-05-27 |
Family
ID=81670605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111672763.7A Pending CN114546359A (zh) | 2021-12-31 | 2021-12-31 | Dsl描述文件生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546359A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543290A (zh) * | 2022-10-12 | 2022-12-30 | 睿珀智能科技有限公司 | 可视化编程方法及系统 |
-
2021
- 2021-12-31 CN CN202111672763.7A patent/CN114546359A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543290A (zh) * | 2022-10-12 | 2022-12-30 | 睿珀智能科技有限公司 | 可视化编程方法及系统 |
CN115543290B (zh) * | 2022-10-12 | 2024-04-19 | 睿珀智能科技有限公司 | 可视化编程方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105574049B (zh) | 移动应用的页面处理方法、装置和系统 | |
EP3667520A1 (en) | Webpage content extraction method and terminal device | |
TW201707416A (zh) | 針對伺服器的遠程操作系統、方法及裝置 | |
CN106933887B (zh) | 一种数据可视化方法及装置 | |
CN114547514A (zh) | 组件动态渲染方法、装置、设备及介质 | |
CN112347404A (zh) | Spa页面渲染方法、设备、系统及存储介质 | |
CN110941428B (zh) | 一种网站创建方法和装置 | |
CN112115394A (zh) | 数据展示方法、服务器、终端和介质 | |
CN110399384A (zh) | Udf适配方法、数据处理方法、设备及存储介质 | |
CN111897607B (zh) | 应用界面加载与交互方法、设备及存储介质 | |
CN114546359A (zh) | Dsl描述文件生成方法、装置、设备及存储介质 | |
CN106610845B (zh) | 信息管理方法、装置、服务器及系统 | |
CN112346761B (zh) | 前端资源上线方法、设备、系统及存储介质 | |
CN112114804B (zh) | 应用程序的生成方法、装置及系统 | |
CN113094138A (zh) | 界面显示方法、装置、电子设备及存储介质 | |
CN111399836A (zh) | 修改页面属性的方法及装置 | |
CN116244029A (zh) | 控件处理方法、设备、系统及存储介质 | |
CN114385128A (zh) | 数据处理方法、设备、装置、存储介质及程序产品 | |
CN114489607A (zh) | 跨栈应用处理与页面渲染方法、装置、设备及存储介质 | |
CN111124399B (zh) | 弹窗组件的处理方法及装置、存储介质及处理器 | |
CN115904572B (zh) | 一种模板创建方法、调用方法、程序产品、系统及装置 | |
CN113495834B (zh) | 一种用户验收测试方法、设备及存储介质 | |
CN111666277B (zh) | 数据图表、数据源文件更新方法、设备、系统及存储介质 | |
CN114003213A (zh) | 数据处理方法、装置及设备 | |
CN117724717A (zh) | 列表页面生成和展示方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |