CN114860205B - 低代码开发平台的应用扩展系统、方法和装置 - Google Patents

低代码开发平台的应用扩展系统、方法和装置 Download PDF

Info

Publication number
CN114860205B
CN114860205B CN202210498699.3A CN202210498699A CN114860205B CN 114860205 B CN114860205 B CN 114860205B CN 202210498699 A CN202210498699 A CN 202210498699A CN 114860205 B CN114860205 B CN 114860205B
Authority
CN
China
Prior art keywords
application
end module
code
low
resource
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.)
Active
Application number
CN202210498699.3A
Other languages
English (en)
Other versions
CN114860205A (zh
Inventor
王宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN202210498699.3A priority Critical patent/CN114860205B/zh
Publication of CN114860205A publication Critical patent/CN114860205A/zh
Application granted granted Critical
Publication of CN114860205B publication Critical patent/CN114860205B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种低代码开发平台的应用扩展系统、方法和装置,该系统包括:前端模块,所述前端模块封装在第一容器中;后端模块,所述后端模块封装在第二容器中,所述第一容器和所述第二容器不同;在使用所述前端模块的低代码功能的情况下,所述前端模块用于获取第一应用资源,对所述第一应用资源进行渲染,得到目标内容,并将所述目标内容输出至第二应用,以在所述第二应用中显示所述目标内容;在使用所述后端模块的低代码功能的情况下,所述后端模块对所述第二应用上传的自定义代码和功能配置进行解析,生成对应的功能服务接口供远程调用。

Description

低代码开发平台的应用扩展系统、方法和装置
技术领域
本申请属于终端设备技术领域,具体涉及一种低代码开发平台的应用扩展系统、方法和装置。
背景技术
低代码开发平台(Low-Code Development Platform,LCDP)作为当下软件开发的新潮流,是一种无需编码或者通过少量代码就可以快速生成应用程序的开发平台。它能使用可重用的、基于组件的体系结构进行开发,从而加快应用程序的开发和交付周期。低代码开发平台提供了可视化建模工具,使具有不同经验水平的开发人员可以通过拖拽组件和模型驱动的逻辑,来创建网页或移动应用、数据模型,并构建业务流程,必要时还可以添加自己的代码。同时,低代码开发平台封装了基本的数据库增删改查操作,以及常用的通用业务逻辑,是业务人员可以更专注于业务开发,大大降低了开发成本与维护成本。
发明内容
本申请实施例的目的是提供一种低代码开发平台的应用扩展系统、方法及装置,减小了低代码开发平台对该应用进行扩展的限制性,提高了低代码开发平台对该应用进行扩展的灵活性。
第一方面,本申请实施例提供了一种低代码开发平台的应用扩展系统,该系统包括:前端模块,所述前端模块封装在第一容器中;后端模块,所述后端模块封装在第二容器中,所述第一容器和所述第二容器不同;在使用所述前端模块的低代码功能的情况下,所述前端模块用于获取第一应用资源,对所述第一应用资源进行渲染,得到目标内容,并将所述目标内容输出至第二应用,以在所述第二应用中显示所述目标内容;在使用所述后端模块的低代码功能的情况下,所述后端模块对所述第二应用上传的自定义代码和功能配置进行解析,生成对应的功能服务接口供远程调用。
第二方面,本申请实施例提供了一种低代码开发平台的应用扩展方法,该方法包括:在使用前端模块的低代码功能的情况下,通过所述前端模块获取第一应用资源;通过所述前端模块对所述第一应用资源进行渲染,得到目标内容;通过所述前端模块将所述目标内容输出至第二应用,以在所述第二应用中显示所述目标内容;在使用所述后端模块的低代码功能的情况下,通过后端模块对第二应用上传的自定义代码和功能配置进行解析,生成对应的功能服务接口供远程调用。
第三方面,本申请实施例提供了一种低代码开发平台的应用扩展装置,该装置包括:获取模块,用于在使用前端模块的低代码功能的情况下,通过所述前端模块获取第一应用资源;渲染模块,用于通过所述前端模块对所述第一应用资源进行渲染,得到目标内容;输出模块,用于通过所述前端模块将所述目标内容输出至第二应用,以在所述第二应用中显示所述目标内容;解析模块,用于在使用所述后端模块的低代码功能的情况下,通过后端模块对第二应用上传的自定义代码和功能配置进行解析,生成对应的功能服务接口供远程调用。
第四方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第二方面的方法的步骤。
第五方面,本申请实施例提供了一种可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如第二方面的方法的步骤。
第六方面,本申请实施例提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现如第二方面的方法。
第七方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第二方面所述的方法。
在本申请实施例中,低代码开发平台的应用扩展系统包括:前端模块,所述前端模块封装在第一容器中;后端模块,所述后端模块封装在第二容器中,所述第一容器和所述第二容器不同;在使用所述前端模块的低代码功能的情况下,所述前端模块用于获取第一应用资源,对所述第一应用资源进行渲染,得到目标内容,并将所述目标内容输出至第二应用,以在所述第二应用中显示所述目标内容;在使用所述后端模块的低代码功能的情况下,所述后端模块对所述第二应用上传的自定义代码和功能配置进行解析,生成对应的功能服务接口供远程调用。如此,前端模块和后端模块互相独立,用户可以选择独立使用前端模块中的低代码功能或后端模块中的低代码功能,减小了对应用进行扩展的限制性,提高了对应用进行扩展的灵活性。
附图说明
图1示出本申请实施例提供的低代码开发平台的架构图;
图2示出本申请实施例提供的低代码开发平台的应用扩展系统的结果示意图;
图3示出本申请实施例提供的低代码开发平台的应用扩展方法的第一种流程示意图;
图4示出本申请实施例提供的低代码开发平台的应用扩展装置的结构示意图;
图5示出本申请实施例提供的电子设备的结构示意图;
图6示出本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
在一些场景下,低代码平台创建的应用,通过前端和后端模块一体化的解析器来渲染和执行应用的各种操作,由于前端和后端模块的服务一体化,前端的低代码能力和后端模块的低代码能力封装在一起,前端和后端模块的低代码能力不能独立使用,低代码开发平台对该应用进行扩展的限制性较大,灵活性较低。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的低代码开发平台的应用扩展方法进行详细地说明。
如图1所示,为本申请实施例公开的一种低代码开发平台的架构图,该架构图包括:前端模块和后端模块,前端模块和后端模块是互相独立的,前端模块封装在第一容器中,后端模块封装在第二容器中,前端模块和后端模块通过目标协议实现数据的拉取和推送。其中,目标协议可以根据应用环境进行确定,如目标协议可以为超文本传输协议(HyperText Transfer Protocol,HTTP)。
其中,前端模块和后端模块互相独立,前端模块和后端模块不强绑定,前端模块包括万维网(World Wide Web,Web)层和服务于前端的后端(Back-end For Front-end,BFF)层,前端模块可以独立实现低代码功能,独立部署,产出最终的应用、单页面以及微应用等。后端模块也是独立实现低代码功能,独立部署,当只需要使用服务端的低代码能力时,只需要集成软件开发工具包(Software Development Kit,SDK)。
此外,在使用整个低代码平台的前端代码能力和后端代码能力时,本申请实施例还提供可视化编辑器来提高低代码能力的使用效率,用户可以通过可视化编辑器进行数据配置。
如图1所示的,本申请实施例提供的一种低代码开发平台的应用扩展的架构,在应用层,包括各种应用的管理后台,应用的类型可以为单页面、微应用等。对于低代码平台,其包括:前端模块和后端模块。其中,前端模块中的Web层用于对应用进行管理,对应用进行管理的内容包括但不限于“应用菜单”、“应用路由”、“UI解析”、“自定义组件解析”、“微应用解析”、“iframe解析”、“动态js解析”、“API调用接口管理”以及“权限管理”等;前端模块中的BFF层用于输出面向用户的系统级应用(如管理后台)、单个页面以及微应用等,BFF层对用户的登录信息进行验证后,即可输出系统级应用、单页面以及微应用等。用户通过传递第一应用资源至Web层,由Web层对第一应用资源进行渲染,集成拓展的插件、自定义组件等,再通过BFF层输出面向用户的系统级应用(如管理后台)、单个页面以及微应用等。其中,第一应用资源包括但不限于用户对界面或交互的配置数据、或现有的第一应用的资源或者扩展的插件(可以是用户自定义的插件)以及自定义组件等。
后端模块中包括服务层和存储层,服务层包括但不限于配置服务和低代码服务,配置服务和低代码服务两者是相互独立的,配置服务用来负责解析与低代码开发平台相关的配置数据,而低代码服务可以是独立的低代码SDK,后端模块中可以将配置服务的数据和低代码服务的数据可以独立存储,从而达到数据隔离的目的,保证数据的安全;其中,配置服务包括但不限于“配置存储”、“埋点统计”和“日志监控”;低代码服务包括但不限于“自定义插件”、“自定义函数”和“SDK解析”等;存储层包括但不限于各种存储集群,用来存储服务端的数据,存储层包括但不限于Redies集群、MySql主从集群、Mongodb主从集群、LPR磁盘缓存和ES集群等。
可视化编辑器用于为用户提供“页面管理”、“自定义配置”、“模板管理”以及“资源管理”等。其中,“页面管理”用于为用户提供“菜单配置”、“组件配置”、“接口配置”、“动态js书写”等选项;自定义配置用于为用户提供“组件上传”、“脚本上传”以及“微应用接入”的选项;模板管理用于为用户提供“页面模板”以及“代码片段”的选项;“资源管理”用于为用户提供“静态资源”和“代码部署”的选项。值得注意的是,可视化编辑器与前端模块和后端模块之间也可以通过目标协议进行数据传输。
通过上述本申请实施例提供的低代码开发平台的架构,前端模块和后端模块互相独立,用户可以选择独立使用前端模块中的低代码功能和后端模块中的低代码功能,减小了对应用进行扩展的限制性,提高了对应用进行扩展的灵活性。此外,可以通过前端模块输出单体页面或微应用,支持内容的独立输出与输入,进一步减小了对应用进行扩展的限制性,提高了对应用进行扩展的灵活性。
图2示出本申请实施例提供的一种低代码开发平台的应用扩展系统的结构示意图,本申请实施例公开的一种低代码开发平台的应用扩展系统包括:前端模块201,前端模块201封装在第一容器202中,后端模块203,后端模块203封装在第二容器204中,第一容器和第二容器不同。在使用所述前端模块的低代码功能的情况下,前端模块201用于获取第一应用资源,对第一应用资源进行渲染,得到目标内容,并将目标内容输出至第二应用,以在第二应用中显示目标内容;在使用所述后端模块203的低代码功能的情况下,所述后端模块203对所述第二应用上传的自定义代码和功能配置进行解析,生成对应的功能服务接口供远程调用。其中,前端模块201和后端模块203之间可以通过目标协议进行数据传输。
其中,前端模块201包括BFF层和Web层;在所述前端模块嵌入至所述第二应用的情况下,通过所述BFF层对所述第一应用资源的类型进行解析,输出所述第一应用资源的类型至所述Web层,通过所述Web层按照所述类型对所述第一应用资源进行渲染,得到目标内容,并将所述目标内容输出至第二应用;在所述前端模块未嵌入至所述第二应用的情况下,通过所述BFF层对所述第一应用资源的类型进行解析,输出所述第一应用资源的类型至所述Web层,通过所述Web层按照所述类型对所述第一应用资源进行渲染,得到目标内容,并在用户当前使用的第一应用中显示所述目标内容。
其中,第一应用资源包括以下之一:用户配置的资源;自定义组件资源;微应用资源;脚本资源。
后端模块203包括:低代码工具单元,用于按照第二应用上传的功能配置,生成与功能配置对应的功能服务接口。
后端模块203包括:插件解析器,插件解析器用于对第二应用上传的自定义代码进行解析,通过低代码工具单元生成与自定义插件对应的服务接口;服务端用于按照自定义代码的解析结果获取与自定义代码对应的资源,通过低代码工具单元按照资源生成与自定义代码对应的功能服务接口。
如此,前端模块和后端模块互相独立,用户可以选择独立使用前端模块和后端模块,减小了对应用进行扩展的限制性,提高了对应用进行扩展的灵活性。此外,用户通过低代码工具单元快速拓展出更多的稳定、高效的服务接口,解决了后端模块的服务接口不满足业务需求时,拓展编排功能服务接口,以满足业务需求。
下面结合图1和2所提到的低代码开发平台的架构,对本申请实施例提供的一种低代码开发平台的应用扩展方法进行说明。图3示出本申请实施例提供的一种低代码开发平台的应用扩展方法的流程示意图,该方法可以由终端设备执行。换言之,方法可以由安装在终端设备的软件或硬件来执行。如图3所示,该方法可以包括以下步骤。
步骤S301:在使用前端模块的低代码功能的情况下,通过前端模块获取第一应用资源。
具体来讲,第一应用资源可以是基于目标协议从后端模块的内容分发网络(Content Delivery Network,CDN)中获取的;第一应用资源包括但不限于用户在可视化编辑器的中页面管理上进行配置的配置数据、用户在可视化编辑器中自定义的组件、微应用资源、脚本资源、现存的第一应用的应用资源、页面框架信息以及动态操作对应的动态执行信息等;目标协议可以为HTTP协议。
其中,自定义的组件为用户提供拓展功能,用户可以通过自定义组件来拓展系统的组件物料,从而满足个性化的需求和业务需求;微应用资源可以作为现有应用或传统的定制化开发应用的载体,通过微应用的组合可以实现前端模块的微服务。
在一种可能的实现方式中,第一应用资源包括与用户配置的资源对应的目标动态执行信息,在使用前端模块的低代码功能的情况下,通过前端模块获取第一应用资源包括:响应于对第一界面的第一操作,根据第一应用的预设操作与动态执行信息的映射关系,获取与第一操作对应的目标动态执行信息;通过前端模块对第一应用资源进行渲染,得到目标内容包括:通过前端模块对目标动态执行信息进行渲染,得到目标动态执行信息指示的执行结果。
其中,第一操作可以是动态操作,脚本资源对应的目标动态执行信息指的是在脚本资源中可以存储动态操作对应的动态执行信息,对于动态操作对应的动态执行信息,指的是在真实的业务中会有很多用户动态操作应用的场景,如点击按钮、点击弹窗、拖拽等,前端模块可以对这些动态场景进行处理。
步骤S303:通过前端模块对第一应用资源进行渲染,得到目标内容。
其中,对于上述的配置数据、用户在可视化编辑器中自定义的组件、微应用资源、现存的第一应用的应用资源、页面框架信息,可以分为schema类型的资源和iframe类型的资源;对于schema类型的资源,会对逐个字段以及描述进行匹配,前端模块通过浏览器提供的绘制能力进行对应的映射和渲染;对于iframe类型的资源通过拉取对应的应用加载到浏览器进行渲染和执行。对于脚本资源,可以是动态的脚本资源,动态的脚本资源可以预先存储在桶中,在触发时,可以从桶中取出脚本进行安全过滤后执行。此外,还可以在脚本资源中获取用户当前执行的动态操作的上下文并执行,从而增强前端模块中低代码的二次拓展能力。
具体来讲,在脚本资源中可以存储动态操作对应的动态执行信息,对于动态操作对应的动态执行信息,指的是在真实的业务中会有很多用户动态操作应用的场景,如点击按钮、点击弹窗、拖拽等,前端模块可以对这些动态场景进行处理。首先将这些动态操作对应的流程节点(目标动态执行信息)存储到桶中,在用户执行相关的动态操作时,如果这些动态操作被触发,则从桶中取出这些流程节点执行。也就是说,通过前端模块对目标动态执行信息进行渲染,得到目标动态执行信息指示的执行结果,例如,在动态操作为点击按钮时,与点击按钮相关的流程节点为“表单弹窗”、“填写并校验”、“调用接口”、“结果提示”、“刷新数据”,在用户点击按钮之后,会连续执行后续的“表单弹窗”、然后经过“填写并校验”节点,对相关信息进行填写并校验、通过校验后执行“调用接口”节点,调用接口将校验后的数据存储到数据库,最后返回“结果提示”,并对“结果提示”进行渲染,以页面的形式呈现出来。
步骤S305:通过前端模块将目标内容输出至第二应用,以在第二应用中显示目标内容。
具体来讲,可以通过前端模块的BFF层输出目标内容至第二应用。值得注意的是,输出至第二应用的目标内容可以为SSR类型的页面,第二应用就可以将低代码平台输出的页面集成到自身的应用中,从而实现低代码平台的内容独立输出。
此外,BFF层还从后端模块中获取应用资源之后,如果该应用资源指示的是嵌入型的资源,则BFF层间该应用资源通过iframe和微应用两种集成方式集成到第一应用中,并突出到第一应用的Web层,最终以可视化的形式呈现给用户。如果该应用资源为微应用及页面框架信息时,则BFF层将该类型的资源进行解析加载,输出到Web层,再按照路由匹配到与该微应用及页面框架信息对应的显示内容并进行动态呈现。
步骤S307:在使用后端模块的低代码功能的情况下,通过后端模块对第二应用上传的自定义代码和功能配置进行解析,生成对应的功能服务接口供远程调用。
在一种可能的实现方式中,步骤S307包括:按照第二应用上传的功能配置,通过低代码工具单元生成与功能配置对应的功能服务接口;或者,通过插件解析器对第二应用上传的自定义代码进行解析,按照自定义代码的解析结果获取与自定义代码对应的资源,通过低代码工具单元按照资源生成与自定义代码对应的功能服务接口。
具体来讲,低代码工具单元可以为SDK,通过SDK生成与功能配置对应的功能服务接口,其中,功能配置可以为用户进行配置的功能参数;自定义代码可以为自定义插件,按照用户自定义的自定义插件并通过第二应用上传,由插件解析器对自定义插件进行解析后,通过SDK生成与自定义插件对应的功能服务接口。
进一步的,用户按照规范填写好配置数据(服务数据),通过SDK解析后,生成增查改删(CRUD)服务、导入服务、导出服务等,对应的生成向外的功能服务接口。自定义插件可以是用户上传的,获取到自定义插件之后,后端服务器会拉取自定义插件对应的资源,再通过SDK解析编排,输出功能服务接口。如此,在低代码平台提高的服务端的服务接口不能满足业务需求时,可以进一步拓展更多的功能服务接口,以满足业务需求,进一步减小了应用扩展的限制性。
此外,用户还可以通过第二应用向后端模块上传自定义函数,服务端则会通过自定义函数在服务接口对应的脚本资源中的各个节点访问上下文,从而可以修改上下文,拓展了应用扩展的能力,进一步减小了应用扩展的限制性。
本申请实施例公开的技术方案,前端模块和后端模块互相独立,用户可以选择独立使用前端模块和后端模块,减小了对应用进行扩展的限制性,提高了对应用进行扩展的灵活性。
在一种可能的实现方式中,通过前端模块对第一应用资源进行渲染,得到目标内容包括:在前端模块嵌入至第二应用的情况下,通过前端模块中的BFF层对第一应用资源的类型进行解析,输出第一应用资源的类型至前端模块中的Web层,通过Web层按照类型对第一应用资源进行渲染,得到目标内容,并将目标内容输出至第二应用;在前端模块未嵌入至第二应用的情况下,通过BFF层对第一应用资源的类型进行解析,输出第一应用资源的类型至Web层,通过Web层按照类型对第一应用资源进行渲染,得到目标内容,并在用户当前使用的第一应用中显示目标内容。
具体来讲,第一应用资源的类型包括但不限于用户配置的资源、自定义组件资源和微应用资源中的至少一者,在获取到第一应用资源之后,可以针对前端模块是否嵌入到第二应用中的不同,确定不同的处理方式。在前端模块未嵌入至第二应用的情况下,对于第一应用资源的类型为微应用资源、页面框架资源和自定义组件资源的情况下,通过前端模块中的BFF层对微应用资源或页面框架资源或自定义组件资源进行解析,由前端模块的Web层对微应用资源或页面框架资源或自定义组件资源进渲染,并在前端模块的Web层显示微应用或页面框架信息对应的显示内容,从而对该显示内容进行动态呈现。在前端模块嵌入至第二应用的情况下,,通过前端模块中的BFF层对微应用资源或页面框架资源或自定义组件资源进行解析,由前端模块的Web层对微应用资源或页面框架资源或自定义组件资源进渲染,并将渲染得到的目标内容输出至第二应用,其中,Web层可以输出SSR类型的页面至第二应用,第二应用可以为第三方应用,第三方应用就可以将低代码输出的页面集成到自身的应用中,从而实现低代码平台的内容独立输出,以及可以实现与第二应用互相兼容,减小了低代码应用的限制性。此外,在前端模块未嵌入至第二应用的情况下,可以将第一应用资源嵌入到低代码平台中的第一应用中,嵌入方式可以为iframe和微应用两种嵌入方式,并吐出到前端模块的Web层中,从而最终呈现到用户使用的第一应用的后台中。如此,通过本申请实施例提供的低代码平台,可以兼容不同的应用,从而减小了应用扩展的限制性。
值得注意的是,上述实施例中提供的低代码开发平台的应用扩展系统和低代码开发平台的应用扩展方法的相同或类似之处可以互相参照,本申请实施例在此不作赘述。
本申请实施例提供的低代码开发平台的应用扩展方法,执行主体可以为低代码开发平台的应用扩展装置。本申请实施例中以低代码开发平台的应用扩展装置执行低代码开发平台的应用扩展方法为例,说明本申请实施例提供的低代码开发平台的应用扩展装置。
图4示出本申请实施例提供的一种低代码开发平台的应用扩展装置的结构示意图,该装置400包括:获取模块401,用于在使用前端模块的低代码功能的情况下,通过前端模块获取第一应用资源;渲染模块402,用于通过前端模块对第一应用资源进行渲染,得到目标内容;输出模块403,用于通过前端模块将目标内容输出至第二应用,以在第二应用中显示目标内容;解析模块404,用于在使用后端模块的低代码功能的情况下,通过后端模块对第二应用上传的自定义代码和功能配置进行解析,生成对应的功能服务接口供远程调用。
在本申请实施例中,前端模块和后端模块互相独立,用户可以选择独立使用前端模块和后端模块,减小了对应用进行扩展的限制性,提高了对应用进行扩展的灵活性。
在一种可能的实现方式中,获取模块401,还用于响应于对第一界面的第一操作,根据第一应用的预设操作与动态执行信息的映射关系,获取与第一操作对应的目标动态执行信息;渲染模块402,还用于通过前端模块对目标动态执行信息进行渲染,得到目标动态执行信息指示的执行结果。
在一种可能的实现方式中,获取模块401,还用于通过前端模块基于目标协议从后端模块中获取第一应用资源。
在一种可能的实现方式中,解析模块404,,还用于按照第二应用上传的功能配置,通过低代码工具单元生成与功能配置对应的功能服务接口;或者,通过插件解析器对第二应用上传的自定义代码进行解析,按照自定义代码的解析结果获取与自定义代码对应的资源,通过低代码工具单元按照资源生成与自定义代码对应的功能服务接口。。
在一种可能的实现方式中,渲染模块402,还用于在前端模块嵌入至第二应用的情况下,通过前端模块中的BFF层对第一应用资源的类型进行解析,输出第一应用资源的类型至前端模块中的Web层,通过Web层按照类型对第一应用资源进行渲染,得到目标内容,并将目标内容输出至第二应用;在前端模块未嵌入至第二应用的情况下,通过BFF层对第一应用资源的类型进行解析,输出第一应用资源的类型至Web层,通过Web层按照类型对第一应用资源进行渲染,得到目标内容,并在用户当前使用的第一应用中显示目标内容。
本申请实施例中的低代码开发平台的应用扩展装置可以是电子设备,也可以是电子设备中的部件,例如集成电路、或芯片。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的低代码开发平台的应用扩展装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的低代码开发平台的应用扩展装置能够实现以上方法实施例实现的各个过程,实现相同的技术效果,为避免重复,这里不再赘述。
可选地,如图5所示,本申请实施例还提供一种电子设备500,包括处理器501和存储器502,存储器502存储有可在处理器501上运行的程序或指令,该程序或指令被处理器501执行时实现上述低代码开发平台的应用扩展方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述的移动电子设备和非移动电子设备。
图6为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、以及处理器610等部件。
本领域技术人员可以理解,电子设备600还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
处理器610,用于在使用前端模块的低代码功能的情况下,通过前端模块获取第一应用资源;通过前端模块对第一应用资源进行渲染,得到目标内容;通过前端模块将目标内容输出至第二应用,以在第二应用中显示目标内容;在使用后端模块的低代码功能的情况下,通过后端模块对第二应用上传的自定义代码和功能配置进行解析,生成对应的功能服务接口供远程调用。
处理器610,还用于响应于对第一界面的第一操作,根据第一应用的预设操作与动态执行信息的映射关系,获取与第一操作对应的目标动态执行信息。通过前端模块对目标动态执行信息进行渲染,得到目标动态执行信息指示的执行结果。
处理器610,还用于通过前端模块基于目标协议从后端模块中获取第一应用资源。
处理器610,还用于按照第二应用上传的功能配置,通过低代码工具单元生成与功能配置对应的功能服务接口;或者,通过插件解析器对第二应用上传的自定义代码进行解析,按照自定义代码的解析结果获取与自定义代码对应的资源,通过低代码工具单元按照资源生成与自定义代码对应的功能服务接口。
处理器610,还用于在前端模块嵌入至第二应用的情况下,通过前端模块中的BFF层对第一应用资源的类型进行解析,输出第一应用资源的类型至前端模块中的Web层,通过Web层按照类型对第一应用资源进行渲染,得到目标内容,并将目标内容输出至第二应用;在前端模块未嵌入至第二应用的情况下,通过BFF层对第一应用资源的类型进行解析,输出第一应用资源的类型至Web层,通过Web层按照类型对第一应用资源进行渲染,得到目标内容,并在用户当前使用的第一应用中显示目标内容。
应理解的是,本申请实施例中,输入单元604可以包括图形处理器(GraphicsProcessing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。
显示单元606可包括显示面板6061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板6061。用户输入单元607包括触控面板6071以及其他输入设备6072中的至少一种。触控面板6071,也称为触摸屏。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器609可用于存储软件程序以及各种数据,存储器609可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器609可以包括易失性存储器或非易失性存储器,或者,存储器609可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器609包括但不限于这些和任意其它适合类型的存储器。
处理器610可包括一个或多个处理单元;可选地,处理器610集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
本申请实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述低代码开发平台的应用扩展方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,处理器为上述实施例中的电子设备中的处理器。可读存储介质,包括计算机可读存储介质,如计算机只读存储器、随机存取存储器、磁碟或者光盘等。
本申请实施例另提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述低代码开发平台的应用扩展方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述低代码开发平台的应用扩展方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (13)

1.一种低代码开发平台的应用扩展系统,其特征在于,包括:
前端模块,所述前端模块封装在第一容器中;
后端模块,所述后端模块封装在第二容器中,所述第一容器和所述第二容器不同;
在使用所述前端模块的低代码功能的情况下,所述前端模块用于获取第一应用资源,对所述第一应用资源进行渲染,得到目标内容,并将所述目标内容输出至第二应用,以在所述第二应用中显示所述目标内容;
在使用所述后端模块的低代码功能的情况下,所述后端模块对所述第二应用上传的自定义代码和功能配置进行解析,生成对应的功能服务接口供远程调用。
2.如权利要求1所述的低代码开发平台的应用扩展系统,其特征在于,所述前端模块包括BFF层和Web层;
在所述前端模块嵌入至所述第二应用的情况下,通过所述BFF层对所述第一应用资源的类型进行解析,输出所述第一应用资源的类型至所述Web层,通过所述Web层按照所述类型对所述第一应用资源进行渲染,得到目标内容,并将所述目标内容输出至第二应用;
在所述前端模块未嵌入至所述第二应用的情况下,通过所述BFF层对所述第一应用资源的类型进行解析,输出所述第一应用资源的类型至所述Web层,通过所述Web层按照所述类型对所述第一应用资源进行渲染,得到目标内容,并在用户当前使用的第一应用中显示所述目标内容。
3.如权利要求1所述的低代码开发平台的应用扩展系统,其特征在于,所述第一应用资源包括以下至少一者:
用户配置的资源;
自定义组件资源;
微应用资源;
脚本资源。
4.如权利要求1所述的低代码开发平台的应用扩展系统,其特征在于,所述后端模块包括:
低代码工具单元,用于按照所述第二应用上传的所述功能配置,生成与所述功能配置对应的功能服务接口。
5.如权利要求4所述的低代码开发平台的应用扩展系统,其特征在于,所述后端模块包括:
插件解析器,用于对所述第二应用上传的自定义代码进行解析;
服务端用于按照所述自定义代码的解析结果获取与所述自定义代码对应的资源,通过所述低代码工具单元按照所述资源生成与所述自定义代码对应的功能服务接口。
6.如权利要求1所述的低代码开发平台的应用扩展系统,其特征在于,所述前端模块和所述后端模块通过目标协议进行通信。
7.一种低代码开发平台的应用扩展方法,其特征在于,基于权利要求1-6任意一项所述的低代码开发平台的应用扩展系统,所述应用扩展方法包括:
在使用前端模块的低代码功能的情况下,通过所述前端模块获取第一应用资源;
通过所述前端模块对所述第一应用资源进行渲染,得到目标内容;
通过所述前端模块将所述目标内容输出至第二应用,以在所述第二应用中显示所述目标内容;
在使用后端模块的低代码功能的情况下,通过所述后端模块对第二应用上传的自定义代码和功能配置进行解析,生成对应的功能服务接口供远程调用。
8.如权利要求7所述的低代码开发平台的应用扩展方法,其特征在于,所述第一应用资源包括与用户配置的资源对应的目标动态执行信息,所述在使用前端模块的低代码功能的情况下,通过所述前端模块获取第一应用资源包括:
响应于对第一界面的第一操作,根据第一应用的预设操作与动态执行信息的映射关系,获取与所述第一操作对应的目标动态执行信息;
通过前端模块对所述第一应用资源进行渲染,得到目标内容包括:
通过所述前端模块对所述目标动态执行信息进行渲染,得到所述目标动态执行信息指示的执行结果。
9.如权利要求7所述的低代码开发平台的应用扩展方法,其特征在于,所述在使用前端模块的低代码功能的情况下,通过所述前端模块获取第一应用资源包括:
通过所述前端模块基于目标协议从后端模块中获取所述第一应用资源。
10.如权利要求9所述的低代码开发平台的应用扩展方法,其特征在于,所述通过后端模块对第二应用上传的自定义代码和功能配置进行解析,生成对应的功能服务接口供远程调用包括:
按照所述第二应用上传的所述功能配置,通过低代码工具单元生成与所述功能配置对应的功能服务接口;
或者,通过插件解析器对第二应用上传的自定义代码进行解析,按照所述自定义代码的解析结果获取与所述自定义代码对应的资源,通过低代码工具单元按照所述资源生成与所述自定义代码对应的功能服务接口。
11.如权利要求7所述的低代码开发平台的应用扩展方法,其特征在于,所述通过所述前端模块对所述第一应用资源进行渲染,得到目标内容包括:
在所述前端模块嵌入至所述第二应用的情况下,通过所述前端模块中的BFF层对所述第一应用资源的类型进行解析,输出所述第一应用资源的类型至所述前端模块中的Web层,通过所述Web层按照所述类型对所述第一应用资源进行渲染,得到目标内容,并将所述目标内容输出至所述第二应用;
在所述前端模块未嵌入至所述第二应用的情况下,通过所述BFF层对所述第一应用资源的类型进行解析,输出所述第一应用资源的类型至所述Web层,通过所述Web层按照所述类型对所述第一应用资源进行渲染,得到目标内容,并在用户当前使用的第一应用中显示所述目标内容。
12.一种低代码开发平台的应用扩展装置,其特征在于,包括:
获取模块,用于在使用前端模块的低代码功能的情况下,通过所述前端模块获取第一应用资源;
渲染模块,用于通过所述前端模块对所述第一应用资源进行渲染,得到目标内容;
输出模块,用于通过所述前端模块将所述目标内容输出至第二应用,以在所述第二应用中显示所述目标内容;
解析模块,用于在使用后端模块的低代码功能的情况下,通过后端模块对第二应用上传的自定义代码和功能配置进行解析,生成对应的功能服务接口供远程调用。
13.一种电子设备,其特征在于,所述电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,程序或指令被所述处理器执行时实现如权利要求7-11任意一项所述的低代码开发平台的应用扩展方法的步骤。
CN202210498699.3A 2022-05-09 2022-05-09 低代码开发平台的应用扩展系统、方法和装置 Active CN114860205B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210498699.3A CN114860205B (zh) 2022-05-09 2022-05-09 低代码开发平台的应用扩展系统、方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210498699.3A CN114860205B (zh) 2022-05-09 2022-05-09 低代码开发平台的应用扩展系统、方法和装置

Publications (2)

Publication Number Publication Date
CN114860205A CN114860205A (zh) 2022-08-05
CN114860205B true CN114860205B (zh) 2024-08-23

Family

ID=82637044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210498699.3A Active CN114860205B (zh) 2022-05-09 2022-05-09 低代码开发平台的应用扩展系统、方法和装置

Country Status (1)

Country Link
CN (1) CN114860205B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116360892A (zh) * 2023-04-10 2023-06-30 青岛中科曙光科技服务有限公司 一种分布式业务系统的功能扩展方法、装置、设备及介质
CN116974527B (zh) * 2023-09-18 2023-12-15 浩鲸云计算科技股份有限公司 一种基于低代码前端组件的可插拔的页面扩展方法及系统
CN118519622B (zh) * 2024-07-22 2024-10-11 珠海金智维信息科技有限公司 低代码化的流程图动态配置及自定义交互的系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672208A (zh) * 2021-09-08 2021-11-19 国泰君安证券股份有限公司 基于计算机软件实现兼容信创适配的低代码开发框架系统
CN113672213A (zh) * 2021-08-27 2021-11-19 优维科技(深圳)有限公司 一种基于构件的低代码编排方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3872625A1 (en) * 2020-02-28 2021-09-01 Mendix Technology B.V. Method and system for managing an app
CN113703749B (zh) * 2021-09-06 2024-07-19 河北雄安新区公安局 一种基于可视化编程技术的信息系统及其构建方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672213A (zh) * 2021-08-27 2021-11-19 优维科技(深圳)有限公司 一种基于构件的低代码编排方法及系统
CN113672208A (zh) * 2021-09-08 2021-11-19 国泰君安证券股份有限公司 基于计算机软件实现兼容信创适配的低代码开发框架系统

Also Published As

Publication number Publication date
CN114860205A (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
CN114860205B (zh) 低代码开发平台的应用扩展系统、方法和装置
CN110795195B (zh) 一种网页渲染方法、装置、电子设备及存储介质
US11902377B2 (en) Methods, systems, and computer program products for implementing cross-platform mixed-reality applications with a scripting framework
CN106569900B (zh) 应用程序处理方法和装置
CN111026396B (zh) 页面渲染方法、装置、电子设备及存储介质
CN110874217B (zh) 快应用的界面显示方法、装置及存储介质
KR101143606B1 (ko) 모바일 기기를 이용한 전시 정보를 제공하는 시스템, 사용자 단말 및 전시 정보 제공 방법
US10909203B2 (en) Method and device for improving page display effect via execution, conversion and native layers
KR101343182B1 (ko) 모바일용 혼합현실 어플리케이션 개발 장치 및 그 방법
CN111026490B (zh) 页面渲染方法、装置、电子设备及存储介质
EP2711846A1 (en) Method and device for processing template file
CN105975393B (zh) 一种页面显示的检测方法及系统
CN102693238B (zh) Widget应用方法、系统及多媒体终端
CN114996619A (zh) 一种页面显示的方法、装置、计算机设备及存储介质
CN111078325B (zh) 应用程序运行方法、装置、电子设备及存储介质
Lachgar et al. Modeling and generating native code for cross-platform mobile applications using DSL
CN117093386B (zh) 页面截图方法、装置、计算机设备和存储介质
CN106383705B (zh) 在应用瘦客户端中设置鼠标显示状态的方法及装置
CN111367501A (zh) 软件在线开发方法、装置、设备和存储介质
KR101170263B1 (ko) 모바일 웹페이지를 효율적으로 개발하기 위한 크로스 플랫폼 솔루션 및 크로스 플랫폼 모바일 소스 생성 시스템
Pastore The role of open web standards for website development adhering to the one web vision
CN114489902A (zh) 界面展示方法、装置、设备及介质
CA2539047A1 (en) System and method for generating component based applications
CN112199090B (zh) 信息流处理方法、装置以及计算机可读存储介质
Honkala Web user interaction: a declarative approach based on XForms

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
GR01 Patent grant
GR01 Patent grant