CN116679921A - Method and apparatus for developing applications - Google Patents
Method and apparatus for developing applications Download PDFInfo
- Publication number
- CN116679921A CN116679921A CN202310667852.5A CN202310667852A CN116679921A CN 116679921 A CN116679921 A CN 116679921A CN 202310667852 A CN202310667852 A CN 202310667852A CN 116679921 A CN116679921 A CN 116679921A
- Authority
- CN
- China
- Prior art keywords
- component
- application
- ast
- parameters
- input
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
技术领域technical field
本公开的实施例涉及计算机技术领域,具体涉及开发应用的方法和装置。The embodiments of the present disclosure relate to the field of computer technology, and in particular to methods and devices for developing applications.
背景技术Background technique
现有的多数RPA(Robotic process automation,机器人流程自动化)产品使用python作为基础语言进行开发,采用组件预先内置的方式,开发者通常只能基于内置组件的能力进行开发。导致大量以JavaScript为主要语言的前端开发者无法使用nodejs生态中丰富的功能参与到RPA的开发中,阻碍了RPA生态的繁荣。Most of the existing RPA (Robotic process automation, robotic process automation) products use python as the basic language for development, and the components are pre-built in. Developers usually can only develop based on the capabilities of the built-in components. As a result, a large number of front-end developers who use JavaScript as the main language cannot use the rich functions in the nodejs ecosystem to participate in the development of RPA, hindering the prosperity of the RPA ecosystem.
市面上RPA产品只实现了对windows平台的支持,macOS的用户不能体验RPA带来的便利。传统低代码开发中,通用组件的开发体验较差,不但需要开发者完成组件代码的编辑,还需要对组件的输入输出参数进行繁重的配置工作,开发效率低下。产品使用者不能很方便的对组件能力进行拓展,限制了RPA组件生态的丰富度。RPA products on the market only support the Windows platform, and macOS users cannot experience the convenience brought by RPA. In traditional low-code development, the development experience of common components is poor. Not only does the developer need to complete the editing of the component code, but also needs to perform heavy configuration work on the input and output parameters of the component, resulting in low development efficiency. Product users cannot easily expand component capabilities, which limits the richness of the RPA component ecosystem.
发明内容Contents of the invention
本公开的实施例提出了开发应用的方法和装置。Embodiments of the present disclosure propose methods and devices for developing applications.
第一方面,本公开的实施例提供了一种开发应用的方法,包括:响应于接收到创建应用的请求,展示已发布的组件列表;响应于检测到所述组件列表中的至少一个组件被拖拽到应用编辑区,弹出所述至少一个组件的编辑窗口,供用户填写所述至少一个组件的输入参数和输出参数;将拖拽所述至少一个组件生成的应用的流程的JSON数据传递到nodejs层进行解析,得到AST语法树;根据所述AST语法树生成JavaScript脚本。In a first aspect, an embodiment of the present disclosure provides a method for developing an application, including: displaying a published component list in response to receiving a request for creating an application; in response to detecting that at least one component in the component list is Drag and drop to the application editing area, and the editing window of the at least one component pops up for the user to fill in the input parameters and output parameters of the at least one component; the JSON data of the application process generated by dragging the at least one component is passed to The nodejs layer parses to obtain an AST syntax tree; generates JavaScript scripts according to the AST syntax tree.
在一些实施例中,所述方法还包括:对于所述至少一个组件中的组件,如果该组件的输入参数依赖于输出参数,则根据该组件中定义的参数类型自动匹配出该组件的输入参数;将所述至少一个组件的输入参数自动填写到所述至少一个组件的编辑窗口中。In some embodiments, the method further includes: for a component in the at least one component, if the input parameter of the component depends on the output parameter, automatically matching the input parameter of the component according to the parameter type defined in the component ; Automatically filling the input parameters of the at least one component into the editing window of the at least one component.
在一些实施例中,所述方法还包括:获取所述至少一个组件的输入参数的默认值;将所述默认值自动填写到所述至少一个组件的编辑窗口中。In some embodiments, the method further includes: acquiring a default value of an input parameter of the at least one component; and automatically filling the default value into an editing window of the at least one component.
在一些实施例中,所述方法还包括:检查所述应用依赖的目标组件;根据需要加载所述目标组件。In some embodiments, the method further includes: checking a target component that the application depends on; and loading the target component as required.
在一些实施例中,在展示已发布的组件列表之前,所述方法还包括:查询待开发组件的功能组是否存在;若不存在,则创建所述待开发组件的功能组;在所述功能组中创建所述待开发组件,获取开发人员编写的组件代码;获取所述组件代码的输入输出参数;保存并发布所述待开发组件。In some embodiments, before displaying the published component list, the method further includes: querying whether the function group of the component to be developed exists; if not, creating the function group of the component to be developed; Create the component to be developed in the group, obtain the component code written by the developer; obtain the input and output parameters of the component code; save and publish the component to be developed.
在一些实施例中,所述获取所述组件代码的输入输出参数,包括:将所述组件代码转化为对应的AST语法树;查找所述组件代码的AST语法树的指定位置获取输入输出参数。In some embodiments, the obtaining the input and output parameters of the component code includes: converting the component code into a corresponding AST syntax tree; searching for a specified position of the AST syntax tree of the component code to obtain the input and output parameters.
在一些实施例中,所述方法还包括:安装所述组件代码依赖的节点包管理模块。In some embodiments, the method further includes: installing a node package management module that the component code depends on.
第二方面,本公开的实施例提供了一种开发应用的装置,包括:创建单元,被配置成响应于接收到创建应用的请求,展示已发布的组件列表;拖拽单元,被配置成响应于检测到所述组件列表中的至少一个组件被拖拽到应用编辑区,弹出所述至少一个组件的编辑窗口,供用户填写所述至少一个组件的输入参数和输出参数;解析单元,被配置成将拖拽所述至少一个组件生成的应用的流程的JSON数据传递到nodejs层进行解析,得到AST语法树;生成单元,被配置成根据所述AST语法树生成JavaScript脚本。In a second aspect, an embodiment of the present disclosure provides a device for developing an application, including: a creating unit configured to display a list of published components in response to receiving a request for creating an application; a dragging unit configured to respond After detecting that at least one component in the component list is dragged to the application editing area, an editing window for the at least one component pops up for the user to fill in the input parameters and output parameters of the at least one component; the analysis unit is configured The JSON data of the application process generated by dragging the at least one component is delivered to the nodejs layer for parsing to obtain an AST syntax tree; the generation unit is configured to generate JavaScript scripts according to the AST syntax tree.
在一些实施例中,所述装置还包括自动输入单元,被配置成:对于所述至少一个组件中的组件,如果该组件的输入参数依赖于输出参数,则根据该组件中定义的参数类型自动匹配出该组件的输入参数;将所述至少一个组件的输入参数自动填写到所述至少一个组件的编辑窗口中。In some embodiments, the device further includes an automatic input unit configured to: for a component in the at least one component, if the input parameter of the component depends on the output parameter, automatically according to the parameter type defined in the component Matching the input parameters of the component; automatically filling the input parameters of the at least one component into the editing window of the at least one component.
在一些实施例中,所述装置还包括自动输入单元,被配置成:获取所述至少一个组件的输入参数的默认值;将所述默认值自动填写到所述至少一个组件的编辑窗口中。In some embodiments, the device further includes an automatic input unit configured to: acquire a default value of an input parameter of the at least one component; and automatically fill in the default value in an editing window of the at least one component.
在一些实施例中,所述装置还包括加载单元,被配置成:检查所述应用依赖的目标组件;根据需要加载所述目标组件。In some embodiments, the apparatus further includes a loading unit configured to: check a target component on which the application depends; and load the target component as required.
在一些实施例中,所述装置还包括组件开发单元,被配置成:查询待开发组件的功能组是否存在;若不存在,则创建所述待开发组件的功能组;在所述功能组中创建所述待开发组件,获取开发人员编写的组件代码;获取所述组件代码的输入输出参数;保存并发布所述待开发组件。In some embodiments, the device further includes a component development unit configured to: query whether the function group of the component to be developed exists; if not, create the function group of the component to be developed; in the function group Create the component to be developed, obtain the component code written by the developer; obtain the input and output parameters of the component code; save and publish the component to be developed.
在一些实施例中,所述组件开发单元进一步被配置成:将所述组件代码转化为对应的AST语法树;查找所述组件代码的AST语法树的指定位置获取输入输出参数。In some embodiments, the component development unit is further configured to: convert the component code into a corresponding AST syntax tree; search for a specified position of the AST syntax tree of the component code to obtain input and output parameters.
在一些实施例中,所述组件开发单元进一步被配置成:安装所述组件代码依赖的节点包管理模块。In some embodiments, the component development unit is further configured to: install a node package management module that the component code depends on.
第三方面,本公开的实施例提供了一种用于开发应用的电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一项所述的方法。In a third aspect, embodiments of the present disclosure provide an electronic device for developing applications, including: one or more processors; A computer program is executed by the one or more processors, so that the one or more processors implement the method as described in any one of the first aspects.
第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如第一方面中任一项所述的方法。In a fourth aspect, embodiments of the present disclosure provide a computer-readable medium on which a computer program is stored, wherein the computer program implements the method as described in any one of the first aspect when executed by a processor.
本公开的实施例提供的开发应用的方法和装置,使用js作为基础技术栈,开发者可使用js编写RPA组件及应用,并可在指定范围内对组件和应用进行分发共享。客户端使用electron开发,默认提供对windows和macOS的跨端支持,并可直接为js运行提供nodejs环境。相对于传统低代码开发,本申请把开发者输入的组件代码转换成AST语法树,通过AST解析出函数的输入输出参数,自动填充至输入输出配置。除内置组件外,使用者可以根据需要灵活编写适合自身业务的组件,充分发挥nodejs生态的能力。The method and device for developing applications provided by the embodiments of the present disclosure use js as the basic technology stack, developers can use js to write RPA components and applications, and distribute and share the components and applications within a specified range. The client is developed using electron, which provides cross-end support for windows and macOS by default, and can directly provide a nodejs environment for js operation. Compared with traditional low-code development, this application converts the component code input by the developer into an AST syntax tree, parses out the input and output parameters of the function through AST, and automatically fills in the input and output configuration. In addition to built-in components, users can flexibly write components suitable for their own business according to their needs, and give full play to the capabilities of the nodejs ecosystem.
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。It should be understood that what is described in this section is not intended to identify key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will be readily understood through the following description.
附图说明Description of drawings
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:Other characteristics, objects and advantages of the present disclosure will become more apparent by reading the detailed description of non-limiting embodiments made with reference to the following drawings:
图1是本公开的一个实施例可以应用于其中的示例性系统架构图;FIG. 1 is an exemplary system architecture diagram to which an embodiment of the present disclosure can be applied;
图2是根据本公开的开发应用的方法的一个实施例的流程图;Figure 2 is a flowchart of one embodiment of a method of developing an application according to the present disclosure;
图3是根据本公开的开发应用的方法的一个应用场景的示意图;FIG. 3 is a schematic diagram of an application scenario of a method for developing an application according to the present disclosure;
图4是根据本公开的开发应用的方法的又一个实施例的流程图;FIG. 4 is a flowchart of another embodiment of a method for developing an application according to the present disclosure;
图5是根据本公开的开发应用的装置的一个实施例的结构示意图;Fig. 5 is a schematic structural diagram of an embodiment of a device for developing an application according to the present disclosure;
图6是适于用来实现本公开的实施例的电子设备的计算机系统的结构示意图。FIG. 6 is a structural schematic diagram of a computer system suitable for implementing an electronic device according to an embodiment of the present disclosure.
具体实施方式Detailed ways
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。The present disclosure will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain related inventions, rather than to limit the invention. It should also be noted that, for the convenience of description, only the parts related to the related invention are shown in the drawings.
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。It should be noted that, in the case of no conflict, the embodiments in the present disclosure and the features in the embodiments can be combined with each other. The present disclosure will be described in detail below with reference to the accompanying drawings and embodiments.
图1示出了可以应用本公开的开发应用的方法或开发应用的装置的实施例的示例性系统架构。FIG. 1 shows an exemplary system architecture of an embodiment to which the method for developing an application or the apparatus for developing an application of the present disclosure can be applied.
如图1所示,系统架构可以包括Electron框架层、nodejs生态层、组件层和应用层。As shown in Figure 1, the system architecture can include Electron framework layer, nodejs ecological layer, component layer and application layer.
客户端使用Electron框架开发,默认提供对windows和macOS的跨端支持,并可直接为js运行提供nodejs环境。使用js作为基础技术栈,开发者可使用js编写RPA组件及应用,并可在指定范围内对组件和应用进行分发共享。使用者可以根据需要灵活编写适合自身业务的组件,充分发挥nodejs生态的能力。The client is developed using the Electron framework, which provides cross-end support for windows and macOS by default, and can directly provide a nodejs environment for js operation. Using js as the basic technology stack, developers can use js to write RPA components and applications, and distribute and share components and applications within a specified range. Users can flexibly write components suitable for their own business according to their needs, and give full play to the capabilities of the nodejs ecosystem.
nodejs生态层在Electron框架基础上提供以下服务:浏览器自动化、移动端自动化、桌面自动化、OCR、NLP、邮件操作、文件系统操作、网络调用、数据库、云服务。The nodejs ecological layer provides the following services based on the Electron framework: browser automation, mobile automation, desktop automation, OCR, NLP, mail operations, file system operations, network calls, databases, and cloud services.
组件层在nodejs生态层基础上提供以下服务:生成js脚本代码、安装npm(nodepackage manage节点包管理器)模块、入参出参自动解析、入参出参类型定义、入参出参默认值。The component layer provides the following services on the basis of the nodejs ecological layer: generating js script code, installing npm (nodepackage manage node package manager) module, automatic parsing of input and output parameters, definition of input and output parameters, and default values of input and output parameters.
应用层在组件层的基础上提取以下服务:流程操作、组件能力、流程编辑、按需加载。其中,流程操作包括:判断、循环、等待。组件能力包括:浏览器操作、桌面操作、移动端操作、邮件操作、文件操作、网络操作。流程编辑包括:拖拽编排、参数编辑、入参自动匹配、默认值填充。按需加载包括可选的组件A和组件B。The application layer extracts the following services on the basis of the component layer: process operation, component capability, process editing, and on-demand loading. Among them, the process operation includes: judge, loop, wait. Component capabilities include: browser operations, desktop operations, mobile terminal operations, email operations, file operations, and network operations. Process editing includes: drag and drop arrangement, parameter editing, automatic matching of input parameters, and filling of default values. On-demand loading includes optional components A and B.
继续参考图2,示出了根据本公开的开发应用的方法的一个实施例的流程200。该开发应用的方法,包括以下步骤:Continuing to refer to FIG. 2 , a flow 200 of an embodiment of the method for developing an application according to the present disclosure is shown. The method for developing an application includes the following steps:
步骤201,响应于接收到创建应用的请求,展示已发布的组件列表。Step 201, displaying a list of published components in response to receiving a request for creating an application.
在本实施例中,开发应用的方法的执行主体(例如,研发人员的个人电脑)已安装Electron框架的开发平台,可以在开发平台上编辑应用程序。可提供已发布的组件列表供研发人员根据应用的功能选择相应的组件。如图3所示,左侧为可用于编辑生成应用的组件列表,按功能分组,比如,对浏览器的操作分为一组,对连接的操作分为一组。组件列表中的组件可以是内置组件,也可以是根据图4所示的流程400发布的组件。可根据流程400所述的方法按需求定制组件。In this embodiment, the execution subject of the method for developing an application (for example, a personal computer of a researcher) has installed a development platform of the Electron framework, and can edit the application program on the development platform. A list of released components can be provided for developers to select the corresponding components according to the functions of the application. As shown in Figure 3, the left side is a list of components that can be used to edit and generate applications, grouped by function, for example, operations on browsers are grouped into one group, and operations on connections are grouped into one group. The components in the component list may be built-in components, or components published according to the process 400 shown in FIG. 4 . Components can be customized according to requirements according to the method described in the process 400 .
步骤202,响应于检测到组件列表中的至少一个组件被拖拽到应用编辑区,弹出至少一个组件的编辑窗口,供用户填写至少一个组件中函数的输入参数和输出参数。Step 202, in response to detecting that at least one component in the component list is dragged to the application editing area, an editing window of at least one component pops up for the user to fill in input parameters and output parameters of functions in the at least one component.
在本实施例中,开发平台支持拖拽编排功能。如图3所示,用户将至少一个组件拖拽到应用编辑区,则会弹出至少一个组件的编辑窗口,用户如何选中了应用编辑区的组件则会在右侧“基本信息”区域显示组件的编辑窗口。如果没有选中任何组件,则“基本信息”区域显示的是应用的信息。用户可以在组件的编辑窗口中填写至少一个组件中函数的输入参数和输出参数。输入参数和输出参数可包括变量名、类型、默认值等信息。类型可以是网页对象、网页元素、字符串等。In this embodiment, the development platform supports the drag and drop arrangement function. As shown in Figure 3, when the user drags at least one component to the application editing area, an editing window for at least one component will pop up. How the user selects a component in the application editing area will display the component's information in the "Basic Information" area on the right. edit window. If no component is selected, the "Basic Information" area displays application information. The user can fill in at least one input parameter and output parameter of the function in the component in the editing window of the component. Input parameters and output parameters may include variable name, type, default value and other information. Type can be web object, web element, string, etc.
步骤203,将拖拽至少一个组件生成的应用的流程的JSON数据传递到nodejs层进行解析,得到AST语法树。In step 203, the JSON data of the application process generated by dragging and dropping at least one component is passed to the nodejs layer for parsing, and an AST syntax tree is obtained.
在本实施例中,当用户通过拖拽多个组件构建起整个应用后,可以保存并运行应用查看效果。应用保存时系统会根据用户拖拽配置产生JSON数据结构。应用编辑区中的组件有排列顺序的,按照排列顺序逐个将对组件的操作按顺序转换成JSON数据,就构成了流程的JSON数据。将JSON数据逐个节点解析,通过节点输入输出及依赖分析最终组合成完整的AST语法树。在计算机科学中,抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。In this embodiment, after the user constructs the entire application by dragging and dropping multiple components, the user can save and run the application to view the effect. When the application is saved, the system will generate a JSON data structure according to the configuration dragged and dropped by the user. The components in the application editing area are arranged in order, and the operations on the components are converted into JSON data one by one according to the order of arrangement, which constitutes the JSON data of the process. The JSON data is parsed node by node, and finally combined into a complete AST syntax tree through node input and output and dependency analysis. In computer science, an abstract syntax tree (Abstract Syntax Tree, AST), or simply a syntax tree (Syntax tree), is an abstract representation of the grammatical structure of source code. It represents the grammatical structure of the programming language in the form of a tree, and each node on the tree represents a structure in the source code.
步骤204,根据AST语法树生成JavaScript脚本。Step 204, generating JavaScript scripts according to the AST syntax tree.
在本实施例中,可通过现有的转码工具将AST语法树转换成JavaScript脚本。In this embodiment, the AST syntax tree can be converted into a JavaScript script through an existing transcoding tool.
本公开的上述实施例提供的方法,客户端使用electron开发,默认提供对windows和macOS的跨端支持,并可直接为js运行提供nodejs环境。相对于传统低代码开发,本申请把开发者输入的组件代码转换成AST语法树,通过AST解析出函数的输入输出参数,自动填充至输入输出配置。In the method provided by the above embodiments of the present disclosure, the client is developed using electron, which provides cross-end support for windows and macOS by default, and can directly provide a nodejs environment for js operation. Compared with traditional low-code development, this application converts the component code input by the developer into an AST syntax tree, parses out the input and output parameters of the function through AST, and automatically fills in the input and output configuration.
在本实施例的一些可选的实现方式中,所述方法还包括:对于所述至少一个组件中的组件,如果该组件中函数的输入参数依赖于输出参数,则根据该组件中定义的参数类型自动匹配出该组件中函数的输入参数;将所述至少一个组件中函数的输入参数自动填写到所述至少一个组件的编辑窗口中。预先定义了组件的参数类型,例如,网页对象、网页元素等。如果用户填写了某个函数的输出参数,且该函数的输入参数依赖于参数类型,则可以自动帮用户填写对应的输入参数。极大的减少了用户使用过程中参数配置的工作量,提高了开发速度,并降低了出错概率。In some optional implementations of this embodiment, the method further includes: for a component in the at least one component, if the input parameter of the function in the component depends on the output parameter, according to the parameter defined in the component The type automatically matches the input parameter of the function in the component; the input parameter of the function in the at least one component is automatically filled in the editing window of the at least one component. Parameter types of components are pre-defined, for example, web page objects, web page elements, and the like. If the user fills in the output parameters of a function, and the input parameters of the function depend on the parameter type, it can automatically fill in the corresponding input parameters for the user. It greatly reduces the workload of parameter configuration during the user's use, improves the development speed, and reduces the error probability.
在本实施例的一些可选的实现方式中,所述方法还包括:获取所述至少一个组件中函数的输入参数的默认值;将所述默认值自动填写到所述至少一个组件的编辑窗口中。在构建组件时就可设置好默认值,用户在构建应用时,如果不修改输入参数的值,则输入参数就设置为默认值。极大的减少了用户使用过程中参数配置的工作量,提高了开发速度,并降低了出错概率。In some optional implementations of this embodiment, the method further includes: acquiring a default value of an input parameter of a function in the at least one component; automatically filling the default value into the editing window of the at least one component middle. The default value can be set when the component is built. If the user does not modify the value of the input parameter when building the application, the input parameter will be set to the default value. It greatly reduces the workload of parameter configuration during the user's use, improves the development speed, and reduces the error probability.
在本实施例的一些可选的实现方式中,所述方法还包括:检查所述应用依赖的目标组件;根据需要加载所述目标组件。每个应用只包含应用的流程信息,不包含支持应用运行的依赖。应用运行之前系统会检查应用依赖的组件按需加载,保证了应用的轻量化分发和组件代码的可复用性。In some optional implementation manners of this embodiment, the method further includes: checking a target component that the application depends on; and loading the target component as required. Each application only contains the process information of the application, and does not contain the dependencies that support the operation of the application. Before the application runs, the system will check that the components that the application depends on are loaded on demand, which ensures the lightweight distribution of the application and the reusability of the component code.
进一步参考图4,其示出了开发应用的方法的又一个实施例的流程400。该开发应用的方法的流程400,包括以下步骤:Further referring to FIG. 4 , it shows a flow 400 of still another embodiment of the method for developing an application. The process 400 of the method for developing an application includes the following steps:
步骤401,查询待开发组件的功能组是否存在。Step 401, query whether the function group of the component to be developed exists.
在本实施例中,用户首先需要根据组件的功能分类为组件创建分组(分组的作用是更好的分类组织组件,可以将组件中用到的npm依赖、自定义类型信息放入分组中管理),如果已存在适当的分组,则直接在分组下创建组件。In this embodiment, the user first needs to create groups for components according to their functional classification (the function of grouping is to better classify and organize components, and npm dependencies and custom type information used in components can be put into groups for management) , if an appropriate group already exists, the component is created directly under the group.
步骤402,若不存在,则创建待开发组件的功能组。Step 402, if it does not exist, create a functional group of the component to be developed.
在本实施例中,根据想要开始的组件的功能创建分组,例如,浏览器操作、流程控制、等待操作等。In this embodiment, groups are created according to the functions of the components to be started, for example, browser operation, flow control, waiting operation, and the like.
步骤403,在功能组中创建待开发组件,获取开发人员编写的组件代码。Step 403, create components to be developed in the function group, and obtain component codes written by developers.
在本实施例中,组件创建完成后,组件开发者可以安装组件代码依赖的npm模块,并需要按照指定的代码格式开发组件代码,代码会同步传递到nodejs层进行解析。In this embodiment, after the component is created, the component developer can install the npm module that the component code depends on, and need to develop the component code according to the specified code format, and the code will be synchronously passed to the nodejs layer for analysis.
步骤404,获取组件代码中函数的输入参数和输出参数。Step 404, obtaining the input parameters and output parameters of the function in the component code.
在本实施例中,解析器会先将代码转化为对应的AST语法树,再查找AST指定位置获取出入参数的变量名、类型、默认值等信息返回至前端页面,自动填充到输入输出参数配置区域。因为解析用户代码所能提供的出入参信息不完整,需要开发者完善部分出入参类型、名称、默认值等信息。In this embodiment, the parser will first convert the code into the corresponding AST syntax tree, and then search the specified position of the AST to obtain the variable name, type, default value and other information of the input and output parameters and return it to the front-end page, and automatically fill in the input and output parameter configuration area. Because the input and output parameter information that can be provided by parsing user code is incomplete, developers need to complete some input and output parameter types, names, default values and other information.
步骤405,保存并发布待开发组件。Step 405, saving and publishing the component to be developed.
在本实施例中,全部配置完成后即可保存并发布组件,供开发应用时使用,流程200中开发平台展示的组件列表可以是根据上述方法开发的,也可以是内置的组件。In this embodiment, after all configurations are completed, the components can be saved and released for use in developing applications. The component list displayed on the development platform in process 200 can be developed according to the above method, or can be built-in components.
本实施例中的开发应用的方法,基于js的可灵活扩展、可配置组件化开发方式。自动解析填充组件代码中的输入输出方式。组件输入输出参数根据类型自动匹配。除内置组件外,使用者可以根据需要灵活编写适合自身业务的组件,充分发挥nodejs生态的能力。The method for developing an application in this embodiment is based on a js-based development method that can be flexibly extended and configured as a component. Automatically parse and fill the input and output methods in the component code. Component input and output parameters are automatically matched according to the type. In addition to built-in components, users can flexibly write components suitable for their own business according to their needs, and give full play to the capabilities of the nodejs ecosystem.
在本实施例的一些可选的实现方式中,获取所述组件代码中函数的输入参数和输出参数,包括:将所述组件代码转化为对应的AST语法树;查找所述组件代码的AST语法树的指定位置获取输入参数和输出参数。极大的减少了用户使用过程中参数配置的工作量,提高了开发速度,并降低了出错概率。In some optional implementations of this embodiment, obtaining the input parameters and output parameters of the function in the component code includes: converting the component code into a corresponding AST syntax tree; searching for the AST syntax of the component code The specified position in the tree takes input parameters and output parameters. It greatly reduces the workload of parameter configuration during the user's use, improves the development speed, and reduces the error probability.
在本实施例的一些可选的实现方式中,所述方法还包括:安装所述组件代码依赖的节点包管理模块。可以根据需要安装npm模块,减轻组件的轻量化发布和组件代码的可复用性。In some optional implementation manners of this embodiment, the method further includes: installing a node package management module on which the component code depends. The npm module can be installed as needed to ease the lightweight release of components and the reusability of component codes.
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种开发应用的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。Further referring to FIG. 5 , as an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a device for developing an application. The device embodiment corresponds to the method embodiment shown in FIG. 2 , and the device specifically It can be applied to various electronic devices.
如图5所示,本实施例的开发应用的装置500包括:创建单元501、拖拽单元502、解析单元503和生成单元504。其中,创建单元501,被配置成响应于接收到创建应用的请求,展示已发布的组件列表;拖拽单元502,被配置成响应于检测到所述组件列表中的至少一个组件被拖拽到应用编辑区,弹出所述至少一个组件的编辑窗口,供用户填写所述至少一个组件中函数的输入参数和输出参数;解析单元503,被配置成将拖拽所述至少一个组件生成的应用的流程的JSON数据传递到nodejs层进行解析,得到AST语法树;生成单元504,被配置成根据所述AST语法树生成JavaScript脚本。As shown in FIG. 5 , the apparatus 500 for developing an application in this embodiment includes: a creating unit 501 , a dragging unit 502 , an analyzing unit 503 and a generating unit 504 . Wherein, the creating unit 501 is configured to display a published component list in response to receiving a request for creating an application; the dragging unit 502 is configured to detect that at least one component in the component list is dragged to The application editing area pops up the editing window of the at least one component for the user to fill in the input parameters and output parameters of the function in the at least one component; the parsing unit 503 is configured to drag and drop the at least one component generated application The JSON data of the process is passed to the nodejs layer for parsing to obtain an AST syntax tree; the generating unit 504 is configured to generate JavaScript scripts according to the AST syntax tree.
在本实施例中,开发应用的装置500的创建单元501、拖拽单元502、解析单元503和生成单元504的具体处理可以参考图2对应实施例中的步骤201、步骤202、步骤203、步骤204。In this embodiment, for the specific processing of the creating unit 501, the dragging unit 502, the parsing unit 503, and the generating unit 504 of the device 500 for developing applications, reference may be made to steps 201, 202, 203, and 203 in the corresponding embodiment in FIG. 204.
在本实施例的一些可选的实现方式中,所述装置500还包括自动输入单元(附图中未示出),被配置成:对于所述至少一个组件中的组件,如果该组件的输入参数依赖于输出参数,则根据该组件中定义的参数类型自动匹配出该组件的输入参数;将所述至少一个组件的输入参数自动填写到所述至少一个组件的编辑窗口中。In some optional implementations of this embodiment, the device 500 further includes an automatic input unit (not shown in the drawings), configured to: for a component in the at least one component, if the input of the component If the parameter depends on the output parameter, the input parameter of the component is automatically matched according to the parameter type defined in the component; the input parameter of the at least one component is automatically filled in the editing window of the at least one component.
在本实施例的一些可选的实现方式中,所述装置还包括自动输入单元(附图中未示出),被配置成:获取所述至少一个组件的输入参数的默认值;将所述默认值自动填写到所述至少一个组件的编辑窗口中。In some optional implementations of this embodiment, the device further includes an automatic input unit (not shown in the drawings), configured to: obtain a default value of an input parameter of the at least one component; A default value is automatically filled in the edit window of the at least one component.
在本实施例的一些可选的实现方式中,所述装置还包括加载单元(附图中未示出),被配置成:检查所述应用依赖的目标组件;根据需要加载所述目标组件。In some optional implementation manners of this embodiment, the device further includes a loading unit (not shown in the drawings), configured to: check a target component on which the application depends; and load the target component as required.
在本实施例的一些可选的实现方式中,所述装置还包括组件开发单元(附图中未示出),被配置成:查询待开发组件的功能组是否存在;若不存在,则创建所述待开发组件的功能组;在所述功能组中创建所述待开发组件,获取开发人员编写的组件代码;获取所述组件代码的输入输出参数;保存并发布所述待开发组件。In some optional implementations of this embodiment, the device further includes a component development unit (not shown in the drawings), configured to: query whether the function group of the component to be developed exists; if not, create The function group of the component to be developed; create the component to be developed in the function group, obtain the component code written by the developer; obtain the input and output parameters of the component code; save and publish the component to be developed.
在本实施例的一些可选的实现方式中,所述组件开发单元进一步被配置成:将所述组件代码转化为对应的AST语法树;查找所述组件代码的AST语法树的指定位置获取输入输出参数。In some optional implementations of this embodiment, the component development unit is further configured to: convert the component code into a corresponding AST syntax tree; search for a specified position of the AST syntax tree of the component code to obtain input Output parameters.
在本实施例的一些可选的实现方式中,所述组件开发单元进一步被配置成:安装所述组件代码依赖的节点包管理模块。In some optional implementation manners of this embodiment, the component development unit is further configured to: install a node package management module on which the component code depends.
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的采集、收集、更新、分析、处理、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法的用途,且不违背公序良俗。对用户个人信息采取必要措施,防止对用户个人信息数据的非法访问,维护用户个人信息安全、网络安全和国家安全。It should be noted that the collection, collection, update, analysis, processing, use, transmission, storage, etc. of the user's personal information involved in the technical solution of the present disclosure are in compliance with relevant laws and regulations, and are used for legitimate purpose, and does not violate public order and good customs. Take necessary measures for users' personal information, prevent illegal access to users' personal information data, and maintain users' personal information security, network security and national security.
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质。According to the embodiment of the present disclosure, the present disclosure also provides an electronic device and a readable storage medium.
一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现流程200或400所述的方法。An electronic device, comprising: one or more processors; a storage device, on which one or more computer programs are stored, and when the one or more computer programs are executed by the one or more processors, the The one or more processors implement the method described in the process 200 or 400.
一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现流程200或400所述的方法。A computer-readable medium on which a computer program is stored, wherein the computer program implements the method described in process 200 or 400 when executed by a processor.
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。FIG. 6 shows a schematic block diagram of an example electronic device 600 that may be used to implement embodiments of the present disclosure. Electronic device is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. Electronic devices may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are by way of example only, and are not intended to limit implementations of the disclosure described and/or claimed herein.
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。As shown in FIG. 6, the device 600 includes a computing unit 601 that can execute according to a computer program stored in a read-only memory (ROM) 602 or loaded from a storage unit 608 into a random-access memory (RAM) 603. Various appropriate actions and treatments. In the RAM 603, various programs and data necessary for the operation of the device 600 can also be stored. The calculation unit 601 , the ROM 602 and the RAM 603 are connected to each other through a bus 604 . An input/output (I/O) interface 605 is also connected to the bus 604 .
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。Multiple components in the device 600 are connected to the I/O interface 605, including: an input unit 606, such as a keyboard, a mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a magnetic disk, an optical disk, etc. ; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, and the like. The communication unit 609 allows the device 600 to exchange information/data with other devices over a computer network such as the Internet and/or various telecommunication networks.
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如开发应用的方法。例如,在一些实施例中,开发应用的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的开发应用的方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行开发应用的方法。The computing unit 601 may be various general-purpose and/or special-purpose processing components having processing and computing capabilities. Some examples of computing units 601 include, but are not limited to, central processing units (CPUs), graphics processing units (GPUs), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processing processor (DSP), and any suitable processor, controller, microcontroller, etc. The calculation unit 601 executes various methods and processes described above, such as a method of developing an application. For example, in some embodiments, the method of developing an application may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 608 . In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 600 via the ROM 602 and/or the communication unit 609 . When the computer program is loaded into RAM 603 and executed by computing unit 601, one or more steps of the method of developing an application described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured in any other suitable manner (for example, by means of firmware) to execute the method for developing an application.
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips Implemented in a system of systems (SOC), load programmable logic device (CPLD), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include being implemented in one or more computer programs executable and/or interpreted on a programmable system including at least one programmable processor, the programmable processor Can be special-purpose or general-purpose programmable processor, can receive data and instruction from storage system, at least one input device, and at least one output device, and transmit data and instruction to this storage system, this at least one input device, and this at least one output device an output device.
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。Program codes for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special purpose computer, or other programmable data processing devices, so that the program codes, when executed by the processor or controller, make the functions/functions specified in the flow diagrams and/or block diagrams Action is implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media would include one or more wire-based electrical connections, portable computer discs, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), optical fiber, compact disk read only memory (CD-ROM), optical storage, magnetic storage, or any suitable combination of the foregoing.
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。To provide for interaction with the user, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user. ); and a keyboard and pointing device (eg, a mouse or a trackball) through which a user can provide input to the computer. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and can be in any form (including Acoustic input, speech input or, tactile input) to receive input from the user.
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., as a a user computer having a graphical user interface or web browser through which a user can interact with embodiments of the systems and techniques described herein), or including such backend components, middleware components, Or any combination of front-end components in a computing system. The components of the system can be interconnected by any form or medium of digital data communication, eg, a communication network. Examples of communication networks include: Local Area Network (LAN), Wide Area Network (WAN) and the Internet.
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。A computer system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by computer programs running on the respective computers and having a client-server relationship to each other. The server can be a server of a distributed system, or a server combined with a blockchain. The server can also be a cloud server, or an intelligent cloud computing server or an intelligent cloud host with artificial intelligence technology. The server can be a server of a distributed system, or a server combined with a blockchain. The server can also be a cloud server, or an intelligent cloud computing server or an intelligent cloud host with artificial intelligence technology.
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。It should be understood that steps may be reordered, added or deleted using the various forms of flow shown above. For example, each step described in the present disclosure may be executed in parallel, sequentially, or in a different order, as long as the desired result of the technical solution disclosed in the present disclosure can be achieved, no limitation is imposed herein.
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。The specific implementation manners described above do not limit the protection scope of the present disclosure. It should be apparent to those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made depending on design requirements and other factors. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present disclosure shall be included within the protection scope of the present disclosure.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310667852.5A CN116679921A (en) | 2023-06-07 | 2023-06-07 | Method and apparatus for developing applications |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310667852.5A CN116679921A (en) | 2023-06-07 | 2023-06-07 | Method and apparatus for developing applications |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116679921A true CN116679921A (en) | 2023-09-01 |
Family
ID=87778706
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310667852.5A Pending CN116679921A (en) | 2023-06-07 | 2023-06-07 | Method and apparatus for developing applications |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116679921A (en) |
-
2023
- 2023-06-07 CN CN202310667852.5A patent/CN116679921A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9363195B2 (en) | Configuring cloud resources | |
| CN108347358A (en) | The automatic test of cloud connection | |
| CN112328301B (en) | Method and device for maintaining consistency of operating environments, storage medium and electronic equipment | |
| CN110109983B (en) | Method and device for operating Redis database | |
| US11531525B2 (en) | System and method for packaging standalone application modules into re-usable application and infrastructure resources | |
| CN112506602A (en) | Page generation method and device, electronic equipment and computer readable medium | |
| CN113515285B (en) | Method and device for generating real-time calculation logic data | |
| CN112486482A (en) | Page display method and device | |
| JP2023528102A (en) | Dependency graph generation method, device, device, storage medium, and program product | |
| WO2021129812A1 (en) | Method and system for running artificial intelligence application, and device | |
| US11689630B2 (en) | Request processing method and apparatus, electronic device, and computer storage medium | |
| CN119003912A (en) | Buried point data reporting method and device | |
| CN115509522A (en) | Interface arranging method and system for low-code scene and electronic equipment | |
| CN116225424A (en) | General model effect display method, device, equipment and storage medium | |
| CN116360892A (en) | Function expansion method, device, equipment and medium of distributed service system | |
| US20230023290A1 (en) | Method for managing function based on engine, electronic device and medium | |
| US9996344B2 (en) | Customized runtime environment | |
| CN116028028A (en) | Request function generation method, device, equipment and storage medium | |
| CN115033233A (en) | Interface calling method and device, electronic equipment and storage medium | |
| CN114443076A (en) | Image construction method, device, device and storage medium | |
| CN117435503A (en) | Test tool generation method, test device, test equipment and test medium | |
| CN117667038A (en) | Code generation method, device, equipment and storage medium | |
| CN116561013A (en) | Test method, device, electronic equipment and medium based on target service framework | |
| CN116679921A (en) | Method and apparatus for developing applications | |
| CN115858921A (en) | Model processing method, device, equipment and storage medium |
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 |