Application development method and device, electronic equipment and storage medium

By using natural language interaction and target models to automatically generate application configuration files and code, the high technical threshold and high error rate in the FaaS platform development process are solved, and an efficient and secure application development process is achieved.

CN120803430APending Publication Date: 2025-10-17BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510891672.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-30
Publication Date
2025-10-17

AI Technical Summary

Technical Problem

Existing FaaS application development platforms suffer from high technical barriers, errors in manual operation, frequent cross-platform switching, lax permission management, and compatibility issues when users develop applications independently, resulting in low development efficiency.

Method used

It employs natural language dialogue interaction, generates application configuration files and code through target models, automatically parses API documents, implements the principle of least privilege, generates structured solutions, and integrates the development process.

Benefits of technology

It lowers the development threshold, improves development efficiency, shortens the development cycle, reduces human error, and enhances application security and compatibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120803430A_ABST
    Figure CN120803430A_ABST
Patent Text Reader

Abstract

The invention provides an application development method and device, electronic equipment and a storage medium. The application development method comprises the following steps: in response to a received development demand, determining detail contents of the development demand in a natural language dialogue mode; automatically generating a solution according to the development demand and the detail content of the development demand through a target model; automatically generating an application configuration file and an application code according to the solution; and creating a target application according to the application configuration file and the application code. The method can reduce the development threshold and improve the development efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of computer, and particularly relates to an application development method and device, electronic equipment and storage medium. BACKGROUND

[0002] In a FaaS (Function as a Service) application development platform, a user can deploy and run code without managing underlying servers. The user can establish an application in the FaaS application development platform, and publish the application on the FaaS application development platform. SUMMARY

[0003] The present disclosure provides an application development method and device, electronic equipment and storage medium.

[0004] The present disclosure adopts the following technical solutions.

[0005] In some embodiments, the present disclosure provides an application development method, comprising:

[0006] In response to receiving a development requirement, details of the development requirement are determined through natural language dialogue;

[0007] A solution is automatically generated according to the development requirement and the details of the development requirement through a target model;

[0008] An application configuration file and application code are automatically generated according to the solution;

[0009] A target application is created according to the application configuration file and the application code.

[0010] In some embodiments, the present disclosure provides an application development device, comprising:

[0011] A dialogue unit is configured to, in response to receiving a development requirement, determine details of the development requirement through natural language dialogue;

[0012] A control unit is configured to automatically generate a solution according to the development requirement and the details of the development requirement through a target model;

[0013] The control unit is further configured to automatically generate an application configuration file and application code according to the solution;

[0014] The control unit is further configured to create a target application according to the application configuration file and the application code.

[0015] In some embodiments, the present disclosure provides an electronic equipment, comprising at least one memory and at least one processor.

[0016] The memory is configured to store program code, and the processor is configured to invoke the program code stored in the memory to execute the method.

[0017] In some embodiments, the present disclosure provides a computer-readable storage medium configured to store program code, which, when executed by a processor, causes the processor to execute the method.

[0018] The application development method provided by the embodiments of the present disclosure reduces the development threshold and improves the development efficiency by automatically converting the development requirements in natural language into solutions and automatically generating application configuration files and application codes. BRIEF DESCRIPTION OF DRAWINGS

[0019] The above and other features, advantages, and aspects of the present disclosure will become more apparent by describing in detail the embodiments thereof with reference to the attached drawings. Throughout the drawings, the same or similar reference numerals refer to the same or similar elements. It should be understood that the drawings are schematic and elements and features are not necessarily to scale.

[0020] Figure 1 is a flowchart of an application development method according to an embodiment of the present disclosure.

[0021] Figure 2 is a flowchart of an application development method according to an embodiment of the present disclosure.

[0022] Figure 3 is a flowchart of an application development method according to an embodiment of the present disclosure.

[0023] Figure 4 is a structural schematic diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0024] It can be understood that, before using the technical solutions disclosed in the embodiments of the present disclosure, the type of personal information involved in the present disclosure, the use range, the use scenario, etc. should be informed to the user and the authorization of the user should be obtained in accordance with relevant laws and regulations through appropriate means.

[0025] For example, in response to receiving the active request of the user, prompt information is sent to the user to explicitly prompt the user that the operation requested to be executed will need to obtain and use the personal information of the user. Thus, the user can voluntarily choose whether to provide the personal information to the electronic device, application program, server or storage medium, etc. software or hardware that executes the operation of the technical solution of the present disclosure according to the prompt information.

[0026] As an optional but non-limiting implementation, in response to receiving the active request of the user, the manner of sending the prompt information to the user may be, for example, a pop-up window manner, in which the prompt information may be presented in the form of text. In addition, the pop-up window may also carry a selection control for the user to select "agree" or "disagree" to provide personal information to the electronic device.

[0027] It can be understood that the above notification and user authorization obtaining process is only illustrative and does not limit the implementation of the present disclosure, and other manners meeting the relevant laws and regulations can also be applied to the implementation of the present disclosure.

[0028] It can be understood that the data involved in the technical solution (including but not limited to the data itself, the acquisition or use of the data) should comply with the requirements of the relevant laws and regulations and the relevant provisions.

[0029] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms, and should not be interpreted as being limited to the embodiments set forth herein, but rather, these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes, and are not intended to limit the scope of protection of the present disclosure.

[0030] It should be understood that each step described in the method embodiment of the present disclosure can be executed in series and / or in parallel. In addition, the method embodiment can include additional steps and / or omit the execution of the steps shown. The scope of the present disclosure is not limited in this respect.

[0031] The term "comprising" and variations thereof as used herein are open-ended, that is, "including but not limited to". The term "based on" is "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Related definitions of other terms will be given in the following description.

[0032] It should be noted that the concepts of "first", "second", etc. mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not intended to limit the order or interdependence of the functions performed by these devices, modules or units.

[0033] It should be noted that the modification "one" mentioned in the present disclosure is illustrative and not limiting, and those skilled in the art should understand that, unless otherwise explicitly indicated in the context, it should be understood as "one or more".

[0034] Names of messages or information exchanged between multiple devices in the embodiments of the present disclosure are only for illustrative purposes, and are not intended to limit the scope of the messages or information.

[0035] The scheme provided by the embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.

[0036] In the application development platform such as FaaS, users can develop applications independently. There are mainly two ways to develop applications. Way 1 is to develop according to the official process of the application development platform, as shown in Figure 1 , which usually includes 7 steps, i.e., authentication (becoming an enterprise user), application creation, capability configuration, code development, test deployment, version release and operation monitoring. This way relies on information sources such as API (Application Programming Interface) document and SDK (Software Development Kit) usage instructions. The development platform can provide basic API tools and code snippet generators, but lacks end-to-end automation capabilities. Way 2 is to develop using a third-party low-code platform. The third-party low-code platform usually provides a visual configuration interface, which can generate a basic application framework by dragging components. However, it only provides applications and does not provide code editing capabilities, and the platform has high coupling degree and needs to rely on specific PaaS (Platform as Service) services, and cannot output independently deployable code. In the above development methods, the application configuration file needs to be filled in manually when creating the application, and the permission opening and API mapping need to be operated by manually checking the API document, which is prone to errors. The technical threshold requirement for users is also high, which requires professional knowledge such as OpenAPI specification, OAuth authentication mechanism and event subscription configuration. The test and acceptance efficiency is low, and the test environment needs to be manually built. The collaboration process is broken, and needs to be switched between multiple systems in the development, test and release stages.

[0037] As shown in Figure 2 , a flowchart of an application development method according to an embodiment of the present disclosure is shown in Figure 2 , which includes the following steps.

[0038] S11, in response to receiving the development requirement, the details of the development requirement are determined through natural language dialogue.

[0039] In some embodiments, the execution end of the method proposed by the present disclosure can be an electronic device such as a mobile phone, a computer, a tablet, or a server, or an artificial intelligence program in the electronic device. The artificial intelligence program can be a program in a target application development platform or an independent program. The user can send a development requirement to the artificial intelligence program in a natural language manner, for example, "I want to develop an application that can automatically classify notification messages into a table according to the message type after receiving the notification message." After receiving the development requirement, the artificial intelligence program analyzes it and then communicates with the user about the details of the development requirement through natural language dialogue, so as to clarify the details of the development requirement. For example, the artificial intelligence program can conduct multiple question-and-answer sessions with the user to inquire about the specific content of the development requirement. The process can include: determining one or more of the data flow, trigger condition, and permission range of the development requirement through natural language dialogue. That is, the artificial intelligence program can guide the user to ask questions, for example, the artificial intelligence program can ask about the conditions under which the application is executed, so as to help the user determine the trigger condition. Because the user may not know what to tell, a guided question-and-answer method is adopted, in which the artificial intelligence program determines the information to be obtained according to the development requirement, and then guides the user to provide the information to be obtained through a guided question-and-answer dialogue, so as to help the user better develop the application. The data flow of the development requirement can refer to the transmission path of the data, which describes where the data comes from (data source), which processing steps it goes through, and where it goes to (data destination), for example, the data comes from a notification message, goes through type identification processing, and finally goes to a specified table. The trigger condition of the development requirement can refer to the prerequisite condition on which a certain operation or event occurs. When these conditions are met, the corresponding action or process will be activated or executed. For example, the trigger condition can be "receiving a notification message." The permission range of the development requirement can refer to the range within which the development requirement to be implemented takes effect, for example, within a department or within all members.

[0040] S12, automatically generating a solution according to the development requirement and the details of the development requirement through the target model.

[0041] In some embodiments, the target model can be a large language model. The artificial intelligence program can input the development requirement and the content of the natural language dialogue into the target model, so that the target model analyzes and processes the content of the natural language dialogue, and generates a solution that meets the development requirement according to the content of the dialogue. The solution can be a structured document, which can adopt a standardized structure, and the format of the content in the solution can be as follows:

[0042] Plain Text

[0043] Step one: [function operation name]

[0044] - Call [API name] (API document link), describe key parameters and permission requirements

[0045] Step 2: [function operation name]

[0046] - Specific implementation method and API call chain

[0047] ...(and so on)

[0048] In the solution, each step included in the application to be developed to meet the development requirements can be described, and in each step, the name of the application interface to be called to implement the step is described, and the document link of the application interface can be given, and the parameters involved in the application interface and the required permissions are described. The target model can automatically identify the application interface required to implement each step, and associate the solution with the document link of the application interface, establish a mapping relationship between the solution and the document link of the application interface, and then determine the permission points related to the application interface according to the mapping relationship.

[0049] S13, automatically generating application configuration file and application code according to the solution.

[0050] In some embodiments, an application configuration file is required when creating an application, which can be a Manifest file. The application configuration file is usually created manually, which leads to insufficient user experience and is prone to errors. Therefore, in this embodiment, an automatic creation method is adopted to reduce the burden on the user and reduce errors. In some embodiments, the application configuration file and the application code can be automatically generated by the target model. In some embodiments, the application configuration file includes one or more of the following: the enablement state of one or more functions, the permission point set of the solution, the subscribed event list, and the call chain of the application interface. Specifically, when generating the application configuration file, the events that need to be subscribed can be identified in the solution, such as message, calendar, document change notification, etc. It can be determined whether a function such as a robot needs to be used and the specific configuration when used. An example of the application configuration file is as follows:

[0051]

[0052] In some embodiments, the application code, for example, JAVA code, is the specific code in the target application.

[0053] S14, creating a target application according to the application configuration file and the application code.

[0054] In some embodiments, the step S14 can be automatically performed, or an interactive interface can be displayed first, and the target application can be created after the user confirms in the interactive interface that the target application is to be created. The target application can be created in an application development platform (e.g., a FaaS application development platform, etc.). When creating the target application, the target application can be first created according to the application configuration file, and then the application code can be written into the target application.

[0055] In some embodiments, in the related art, when creating an application in an application development platform, the user needs to set up the application by himself / herself, and the user needs to manually disassemble the trigger adjustment of the application, the calling chain of the application interface, and other contents, which depends on the experience of the user. An inexperienced user is prone to problems such as omission and deviation of the technical solution from the demand (e.g., not considering message frequency limitation, etc.). Moreover, the application configuration file needs to be processed manually, and the code generator can only provide existing templates for filling, lacking of intent understanding. In addition, in the related art, during the application development process, manual configuration is required in different platforms, for example, the application basic information (application ID, key, security domain name, etc.) needs to be set in the application development platform, and the event subscription logic (e.g., message receiving link) needs to be maintained in the local code, which leads to the user needing to frequently switch between the application development platform and the local. In addition, the application interface is often iterated, and the user needs to manually monitor the document (description document) of the application interface, otherwise, problems such as compatibility and code accumulation are prone to occur, that is, the user needs to carefully check the document of the application interface every time the application is developed. In some embodiments of the present disclosure, a dialog interaction is adopted to determine the development demand, and the details of the development demand are explicitly determined through one or more rounds of guided question and answer, which can reduce the development difficulty of the user, especially the development difficulty of inexperienced users. For the user, he / she only needs to express his / her development demand and details through the dialog mode, and the artificial intelligence program can complete the application development. In some embodiments of the present disclosure, the natural language development demand is automatically converted into a solution, and the application configuration file and the application code are automatically generated, thereby effectively solving the problem of switching between different platforms during the development process. Only the interaction in the execution end of the method proposed in the present disclosure is needed, and the development of the target application can be completed. Moreover, when generating the application code, the target model automatically parses the document of the application interface, so that the generated application code does not have compatibility problems, and the user does not need to check the document of the application interface every time the application is developed. The method proposed in the embodiments of the present disclosure does not require the user to perform demand analysis, application interface analysis, and code development, thereby compressing the application development process to minutes, greatly shortening the development period, improving the development efficiency, and reducing the development threshold for the user to not need to deeply understand the Http protocol and programming languages, etc. The application development capability is expanded to more users, and more users without programming experience can develop applications.

[0056] In some embodiments of the present disclosure, the solution is automatically generated by the target model according to the development requirement, including determining one or more of an execution step in the solution, an order of the execution step, and an application interface called in the execution step according to the development requirement.

[0057] In some embodiments, after obtaining the detailed content of the development requirement through the guided natural language dialogue, the detailed content is parsed, and a logical link satisfying the development requirement is established by the target model. Specifically, the execution steps involved in the development requirement can be determined, such as listening to a conversation message and writing a record document. Then the execution order and execution branch between the execution steps are determined, and the logical link of the execution steps is established. Then the application interface (API) required to implement each execution step and the calling order of the application interface are determined. The development requirement can be generated in the form of a document, and the document link of the application interface can be attached to the development requirement document. The development requirement document and the document link of the application interface are associated, so that when the target model generates the application code, the specification document of the application interface can be accessed through the associated document link of the application interface to ensure that the calling of the application interface conforms to the calling specification defined in the specification document of the application interface, and to avoid compatibility problems of the application interface.

[0058] In some embodiments of the present disclosure, after the solution is automatically generated by the target model according to the development requirement and the detailed content of the development requirement, before the application configuration file is automatically generated according to the solution, it further includes: determining the permission points related to the application interfaces called in the solution; screening the permission points by the principle of least privilege to obtain a permission point set of the solution; and verifying the permission point set so that the permission point set can meet the calling requirements of all application interfaces.

[0059] In some embodiments, during the development of a target application, multiple permission points are involved, a permission point being the smallest unit of permission control, usually corresponding to a specific action, such as "viewing employee information" and "adding document records", which indicates that the user has the permission to "view employee information" and "add document records". An application interface can involve one or more permission points. For an application interface, there can be multiple permission points of different levels that can meet its calling requirements, for example, an application interface for reading department information can be related to two permission points with different impact ranges, "reading only basic information of the department" and "reading basic information and sensitive fields of the department" (which specific permission point to retain after screening needs to be determined according to requirements). Therefore, after obtaining the permission points related to each application interface, the permission points are likely to be redundant, and the permissions involved in the permission points are also highly likely to be redundant, i.e., unnecessary permissions are assigned. Therefore, it is necessary to screen the permission points to remove unnecessary permission points, and when screening the permission points, the principle of least privilege is followed, so as to meet the requirements of the solution while ensuring that the permissions of the given permission points are minimal. The permission point set is the sum of each permission point after screening, indicating the permissions required by the solution. After obtaining the permission point set, it needs to be verified to ensure that the permission point set can meet the calling requirements of all application interfaces, so as to avoid deleting too many permission points in the screening process.

[0060] In some embodiments of the present disclosure, the permission points are screened according to the principle of least privilege to obtain the permission point set of the solution, including one or more of the following: if multiple permission points can meet the calling requirements of the same application interface, the permission point with the smallest impact range is selected as the permission point of the application interface; overlapping permission points are merged; and the permission points of user identity and application identity are distinguished.

[0061] In some embodiments, one application interface can be related to multiple permission points, for example, the application interface can be used to obtain received notification messages, and the related permission points can be "get all notification messages" and "get non-private notification messages". In the case where both permission points can satisfy the application interface, the permission point with the smallest influence range is selected, that is, "get non-private notification messages". In this way, the needs of the application interface can be met while the obtained permissions are minimized. In some embodiments, different application interfaces can be related to the same permission point, and if the same permission point is retained, it will cause repeated authorization, therefore, the same permission point is merged and only one is retained, thereby avoiding repeated authorization. In some embodiments, when performing permission management, the user (user) identity and the application (tenant) identity need to be distinguished, and the permission points of the user identity and the application identity need to be specified. When the application runs in the application identity, it is executed according to the permission of the application itself; when the application runs in the user identity, it is executed according to the permission of the specific user. For example, A company develops an application on the application development platform, A company can run the application in the application identity, and the employees in A company usually run it in the permission of the user identity that the employee has, therefore, the permission of the user identity is usually not greater than the permission of the application identity. The user identity can usually only access the data of the user itself, and the application identity can usually access enterprise-level data. The permission point set can be created in JSON format, for example:

[0062] "scopes":{

[0063] "user":["base:field:read","base:app:create"],

[0064] "tenant":["base:field:read","base:app:create","base:table:create"]

[0065] }

[0066] In some embodiments of the present disclosure, the target model can automatically extract permission points by parsing the document of the application interface, and generate a minimum set of permission points through screening processing, so that the user does not need to traverse the document, avoids excessive application of permissions, and avoids the problem of not accurately understanding the required permissions of the application interface (for example, distinguishing whether the "read user sent to the robot message" or "receive group chat @ robot message event" is required when subscribing to the "receive message" event). In some embodiments of the present disclosure, the permission minimum principle is used to automatically optimize the permission application, reduce excessive authorization to improve security, accurately analyze the required permissions, avoid redundant permission points, reduce human errors through automatic configuration, and reduce permission configuration problems.

[0067] In some embodiments of the present disclosure, after the application code is automatically generated according to the solution, the method further includes: parsing the application code to determine a running parameter that needs to be configured by the application code; and displaying a configuration interface of the running parameter and receiving a set value of the running parameter.

[0068] In some embodiments, the application code can include running parameters that need to be input, such as keys, text names, etc. The running parameters that need to be input can be identified by an abstract syntax tree or a regular expression, and it can be marked whether the running parameter is mandatory and whether it has a default value, etc. Then, a configuration interface of the running parameter is displayed to the user. In the configuration interface of the running parameter, the name of the running parameter, whether it is mandatory, and its purpose description can be displayed. The user can input a set value for the running parameter in the configuration interface of the running parameter. After obtaining the set value of the running parameter, the set value of the running parameter can be stored in a file of the running parameter, and the set value of the running parameter is extracted from the file of the running parameter when the target application is running, so that the target application is run.

[0069] In some embodiments of the present disclosure, the method further includes: running the application code of the target application in a provided running environment, and displaying an execution result of the application code.

[0070] In some embodiments, the execution end of the present method (for example, an application development platform) provides a running environment of the target application, which can be a FaaS environment. After the target application is generated, the target application can be automatically run, or the target application can be run after the user confirms. If there is a running parameter that needs to be configured, the target application is run after receiving the set value of the running parameter. After the target application is run, the execution result and the log of the target application are recorded and can be displayed to the user.

[0071] In order to better illustrate the method proposed in the embodiments of the present disclosure, a specific embodiment is listed below.

[0072] In related technical solutions, there are problems such as demand-technology implementation fault, extensive authority management, engineering link breakage, and knowledge synchronization lag.

[0073] Demand-technology implementation fault: When converting natural language requirements (such as "automatically send a welcome message to new members") into solutions, developers need to manually disassemble the following links: event subscription mapping: identify trigger conditions (such as "new member joining the group" corresponding to the Flybook user joining the group event). API call chain design: need to combine APIs (such as obtaining user information, constructing message content, and calling message sending interfaces). Permission association derivation: need to match API dependencies from a large number of permissions (such as message sending permissions and user information reading permissions). The main problem is that the technical implementation mainly depends on the developer's experience, and beginners are prone to logical omissions (such as not handling user privacy authorization) and technical solution and demand deviations (such as not considering message frequency restrictions).

[0074] Extensive authority management: Application development platforms have thousands of fine-grained permission points, and the same API may correspond to multiple levels of permissions (such as "read department information" including "only basic information" and "include sensitive fields" two permissions), which leads to the following problems: 1) selection difficulty: developers need to manually traverse the permission list, which is easy to confuse similar permissions (such as "message sending" and "message recall" permission codes are similar). 2) Security and function risks: excessive application of permissions: choose high-level permissions (such as "get all messages in the group") to simplify operations, which expands the attack surface. 3) Permission omission: not accurately matching the required permissions of the API (such as subscribing to "receive message" events requires distinguishing between applying "read user messages sent to the bot" or "receive group chat @bot message events").

[0075] Engineering link breakage: Frequent switching between platform manual configurations during development leads to tool chain fragmentation. Developers need to switch between Faas application development platforms and local development environments.

[0076] Knowledge synchronization lag: Application APIs are frequently iterated (such as field changes and interface obsolescence), but users rely on manual monitoring of document updates, which leads to: 1) compatibility failures: such as when the API response body adds a new field, the old parsing logic causes exceptions due to not handling null values. 2) redundant code accumulation: continue to use interfaces marked as "obsolete" (such as not replacing them with high-performance new APIs in time). 3) maintenance costs skyrocket: need to regularly manually compare code and the latest document differences, consuming a large amount of development resources.

[0077] An application development method based on a target model (which can be a large language model) is proposed in this embodiment, which can be used in application development platforms such as Figure 3As shown, by conversational interaction, natural language requirements are converted into complete executable code and application configuration files, thereby at least partially solving the above problems.

[0078] First, through natural language dialogue with the user, the development requirements are identified and converted into structured technical solutions. Through dialogue, the user is guided to describe the core requirements, and through multiple rounds of question and answer, key details such as data flow, trigger conditions, permission ranges, etc. are clarified. The target model generates a solution document containing an explicit technical path based on the dialogue content. The solution document automatically associates the API document links required for each implementation step, establishing a mapping relationship between the development requirements and the API.

[0079] Then, the permission is accurately identified. From the solution document, all API document links are extracted, and for each API link, the document content is automatically crawled and parsed to extract all related permissions. The "least privilege principle" algorithm is used to automatically filter permissions based on the following rules: 1) Range minimization: When there are multiple different permission ranges that can satisfy the same API, select the permission point with the smallest range; 2) Remove redundancy: Merge overlapping permission points and remove redundant items; 3) Hierarchical differentiation: Differentiate between user (user identity) and tenant (application identity) permissions. After filtering, the permission compatibility is checked to verify whether the generated permission set can meet all API call requirements.

[0080] Then, the application configuration file is generated. From the solution document, identify the events that need to be subscribed, such as message, calendar, document, and other change notifications. Determine whether to enable the robot function and related configurations based on the requirements. The generated application configuration file can be directly imported into the application development platform, realizing "one-key configuration".

[0081] Next, the application code is generated. Based on the API call chain in the solution document, the application code that meets the requirements is generated. Automatically analyze the parameters that need to be configured by the user in the application code. In this embodiment, the application development platform provides a runtime environment, supports one-key deployment and running of the code, and captures the code execution process in real time, facilitating debugging and optimization. To ensure code quality, a retry mechanism and exception handling logic are automatically implanted in the application code, and the application code contains comments explaining parameter meanings and processing logic. The functions in the application code are split into independent functions, facilitating maintenance and expansion.

[0082] The overall workflow follows a closed loop of "dialogue -> scheme -> configuration -> code -> execution": 1. Demand dialogue stage: the user describes the development demand through natural language, and clarifies the details through multiple rounds of dialogue. 2. Scheme generation stage: the target model analyzes the dialogue content and generates a structured solution document. 3. Permission analysis stage: the system parses the scheme document, extracts API links, and identifies the minimum permission point set. 4. Application configuration file generation stage: based on the permission set and event demand, the application configuration file is generated. 5. Code generation stage: according to the technical scheme and API call chain, the complete application code is generated. 6. Parameter configuration stage: the user configures the running parameters (such as APP_ID, key, etc.). 7. Code execution stage: run the application code in the FaaS running environment, and show the execution result and log.

[0083] In some embodiments of the present disclosure, a structured mapping between the development demand in natural language and the solution is established, filling the demand translation gap. By automatically extracting permission dependencies by parsing API documents, the minimum permission point set recommendation is achieved. The dispersed application configuration file generation and application code development environment are integrated to realize the engineering link through. The full-process automation from demand collection to application code execution greatly reduces the development threshold. Through the above process, the user can realize end-to-end development from demand to application without understanding API details, permission configuration, application configuration, etc.

[0084] In some embodiments of the present disclosure, the original application development process usually takes several days to complete demand analysis, API research, permission configuration, code development and testing and deployment. The present method compresses the entire process to minutes, significantly shortening the development cycle, especially in complex integration scenarios, the efficiency is improved more obviously. In some embodiments of the present disclosure, the dependence on professional developers is reduced, so that a single user can complete the whole process operation, reducing the cross-team collaboration cost and optimizing the human resource allocation. The user does not need to deeply understand the HTTP protocol, OAuth authorization process and programming language, and does not need to be proficient in the complex document system of the application development platform, but can realize application development through natural language description. The application development capability is extended from professional engineers to business personnel, so that more users without programming experience can participate in application development. In some embodiments of the present disclosure, based on the principle of least privilege, the permission application is automatically optimized, the over-authorization problem is reduced, the application security is improved, the actual required permissions are accurately analyzed, and the redundant permission points are avoided. Automatic generation of application configuration file reduces human error, reduces common configuration problems such as permission missing and event subscription omission, and improves the correctness and integrity of the initial configuration of the application.

[0085] In the embodiments of the present disclosure, an application development device is also proposed, which can be an application development platform, comprising:

[0086] a dialogue unit configured to, in response to receiving the development requirement, determine details of the development requirement through natural language dialogue;

[0087] a control unit configured to automatically generate a solution based on the development requirement and the details of the development requirement through a target model;

[0088] the control unit is further configured to automatically generate an application configuration file and application code based on the solution;

[0089] the control unit is further configured to create a target application based on the application configuration file and the application code.

[0090] In some embodiments, the details of the development requirement are determined through natural language dialogue, including:

[0091] one or more of a data flow direction, a trigger condition, and a permission scope of the development requirement are determined through natural language dialogue.

[0092] In some embodiments, the solution is automatically generated based on the development requirement through a target model, including:

[0093] one or more of an execution step in the solution, an order of the execution step, and an application interface called in the execution step are determined based on the development requirement.

[0094] In some embodiments, after the solution is automatically generated based on the development requirement and the details of the development requirement through a target model, the control unit is further configured to, before the application configuration file is automatically generated based on the solution, determine permission points related to the application interface called in the solution; filter the permission points based on a least-privilege principle to obtain a permission point set of the solution; and verify the permission point set to enable the permission point set to meet calling requirements of all application interfaces.

[0095] In some embodiments, the permission point set of the solution is obtained by filtering the permission points based on a least-privilege principle, including one or more of:

[0096] if multiple permission points can meet the calling requirements of the same application interface, a permission point with the smallest influence range is selected as the permission point of the application interface;

[0097] overlapping permission points are merged;

[0098] permission points are distinguished according to user identity and application identity.

[0099] In some embodiments, the application configuration file comprises one or more of the following: an enabling state of one or more functions, a set of permission points of the solution, a list of subscribed events, a call chain of application interfaces.

[0100] In some embodiments, after the application code is automatically generated according to the solution, the control unit is further configured to: parse the application code to determine a running parameter that needs to be configured by the application code; display a configuration interface of the running parameter, and receive a set value of the running parameter.

[0101] In some embodiments, the control unit is further configured to run the application code of the target application in a provided running environment, and display an execution result of the application code.

[0102] For the embodiments of the device, since they basically correspond to the embodiments of the method, the relevant parts are described in the part of the description of the embodiments of the method. The above-described device embodiments are only illustrative, and the modules described as separate modules can or can not be separate. Part or all of the modules can be selected according to actual needs to achieve the purpose of the embodiments. Those skilled in the art can understand and implement without creative labor.

[0103] The above describes the method and device of the present disclosure based on the embodiments and application examples. In addition, the present disclosure also provides an electronic device and a computer readable storage medium, which are described below.

[0104] The following refers to Figure 4 which shows a structural schematic diagram of an electronic device (such as a terminal device or a server) 800 suitable for implementing the embodiments of the present disclosure. The terminal device in the embodiments of the present disclosure can include but is not limited to mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablets), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), and the like, and fixed terminals such as digital TVs, desktop computers, and the like. The electronic device shown in the figure is only an example, and should not bring any limitation to the functions and use range of the embodiments of the present disclosure.

[0105] The electronic device 800 can include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 801 that can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 802 or loaded into a random access memory (RAM) 803 from a storage device 808. Various programs and data required for the operation of the electronic device 800 are also stored in the RAM 803. The processing device 801, the ROM 802, and the RAM 803 are connected to each other through a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0106] In general, the following devices can be connected to the I / O interface 805: input devices 806 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 807 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 808 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 809. The communication devices 809 can allow the electronic device 800 to communicate wirelessly or wired with other devices to exchange data. While the electronic device 800 is shown with various devices, it should be understood that all of the illustrated devices are not required to implement or have the electronic device 800. More or less devices can alternatively be implemented or have.

[0107] In particular, according to embodiments of the present disclosure, the processes described above with reference to the flowcharts can be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program carrying out the program code for performing the methods illustrated by the flowcharts carried on a computer readable medium. In such embodiments, the computer program can be downloaded and installed from a network through the communication devices 809, or installed from the storage devices 808, or installed from the ROM 802. When the computer program is executed by the processing device 801, the above-mentioned functions defined in the methods of the embodiments of the present disclosure are performed.

[0108] It should be noted that the computer-readable medium described above can be a computer-readable signal medium or a computer-readable storage medium or any combination thereof. The computer-readable storage medium, for example, can be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any suitable combination of the foregoing. More specific examples of the computer-readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the disclosure, the computer-readable storage medium can be any tangible medium that contains or stores a program used by or in connection with an instruction execution system, apparatus or device. In the disclosure, the computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, in which the computer-readable program code is contained. Such a propagated data signal can take any of a variety of forms, including, but not limited to, an electromagnetic signal, an optical signal, or any suitable combination of the foregoing. The computer-readable signal medium can also be any computer-readable medium that is not a storage medium and that can communicate, propagate or transport a program for use by or in connection with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including, but not limited to, wire, cable, RF (radio frequency), or the like, or any suitable combination of the foregoing.

[0109] In some embodiments, the client, server, or both can communicate using any current known or future developed network protocol, such as HTTP (HyperText Transfer Protocol), and can be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks ("LAN"), wide area networks ("WAN"), the Internet, and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any current known or future developed networks.

[0110] The computer-readable medium described above can be included in the electronic device described above; or can exist separately from the electronic device described above.

[0111] The computer-readable medium described above carries one or more programs that, when executed by the electronic device described above, cause the electronic device to perform the method of the disclosure described above.

[0112] Computer program code for carrying out operations of the present disclosure can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0113] The computer program instructions can also be loaded onto a computer or other programmable information processing apparatus to cause a series of operations to be performed on the computer or other programmable information processing apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable information processing apparatus implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0114] The units described in the embodiments of the present disclosure can be implemented by hardware, software, or a combination of hardware and software. In some cases, the names of the units do not constitute a limitation on the units themselves.

[0115] The functions described in this specification can be implemented in part or in whole through one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.

[0116] In the context of this disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium will include one or more of: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0117] According to one or more embodiments of the present disclosure, an application development method is provided, comprising:

[0118] In response to receiving a development requirement, details of the development requirement are specified through natural language dialogue.

[0119] A solution is automatically generated according to the development requirement and the details of the development requirement through a target model.

[0120] An application configuration file and application code are automatically generated according to the solution.

[0121] A target application is created according to the application configuration file and the application code.

[0122] According to one or more embodiments of the present disclosure, an application development method is provided, details of the development requirement are specified through natural language dialogue, comprising:

[0123] One or more of data flow, trigger conditions, and permission scope of the development requirement are specified through natural language dialogue.

[0124] According to one or more embodiments of the present disclosure, an application development method is provided, a solution is automatically generated according to the development requirement through a target model, comprising:

[0125] Execution steps in the solution, an order of the execution steps, and application interfaces called in the execution steps are determined according to the development requirement.

[0126] According to one or more embodiments of the present disclosure, an application development method is provided, and after a solution is automatically generated from the development requirement and the detailed content of the development requirement by a target model, before an application configuration file is automatically generated from the solution, the method further comprises: determining permission points related to application interfaces called in the solution; screening the permission points by a least privilege principle to obtain a permission point set of the solution; and verifying the permission point set so that the permission point set can meet the calling requirements of all application interfaces.

[0127] According to one or more embodiments of the present disclosure, an application development method is provided, and screening the permission points by a least privilege principle to obtain a permission point set of the solution comprises one or more of the following:

[0128] If multiple permission points can meet the calling requirements of the same application interface, the permission point with the smallest influence range is selected as the permission point of the application interface;

[0129] Merging overlapping permission points;

[0130] Distinguishing the permission points of the user identity and the application identity.

[0131] According to one or more embodiments of the present disclosure, an application development method is provided, and the application configuration file comprises one or more of the following: the enabled state of one or more functions, the permission point set of the solution, the subscribed event list, and the calling chain of the application interface.

[0132] According to one or more embodiments of the present disclosure, an application development method is provided, and after the application code is automatically generated from the solution, the method further comprises:

[0133] Parsing the application code to determine the running parameters that need to be configured by the application code; and displaying a configuration interface of the running parameters and receiving the set value of the running parameters.

[0134] According to one or more embodiments of the present disclosure, an application development method is provided, and the method further comprises:

[0135] Running the application code of the target application in the provided running environment and displaying the execution result of the application code.

[0136] According to one or more embodiments of the present disclosure, an application development device is provided, and the device comprises:

[0137] A dialogue unit configured to, in response to receiving a development requirement, explicitly determine the detailed content of the development requirement by means of natural language dialogue;

[0138] The control unit is configured to automatically generate a solution based on the target model according to the development demand and details of the development demand;

[0139] The control unit is further configured to automatically generate an application configuration file and application code according to the solution;

[0140] The control unit is further configured to create a target application according to the application configuration file and the application code.

[0141] According to one or more embodiments of the present disclosure, an electronic device is provided, comprising at least one memory and at least one processor;

[0142] The at least one memory is configured to store program code, and the at least one processor is configured to invoke the program code stored in the at least one memory to execute the method described in any one of the above.

[0143] According to one or more embodiments of the present disclosure, a computer readable storage medium is provided, which is configured to store program code, the program code causing a processor to execute the method described above when the processor runs the program code.

[0144] The above description is merely preferred embodiments of the present disclosure and a description of the principles of the technology applied. It should be understood by those skilled in the art that the disclosed scope of the present disclosure is not limited to the technical solutions formed by the specific combinations of the above technical features, and also covers other technical solutions formed by any combination of the above technical features or equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features disclosed in the present disclosure (but not limited to) having similar functions to form technical solutions.

[0145] In addition, although each operation is described in a specific order, this should not be understood as requiring the operations to be performed in the specific order shown or in a sequential order. In certain circumstances, multitasking and parallel processing can be advantageous. Similarly, although several implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Certain features described in the context of separate embodiments can also be combined in a single embodiment. Conversely, various features described in the context of a single embodiment can also be separated and implemented in multiple embodiments.

[0146] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims

1. An application development method, characterized in that: include: In response to receiving a development requirement, clarifying the details of the development requirement through natural language dialogue; Automatically generate a solution based on the development requirements and the details of the development requirements through a target model; Automatically generate application configuration files and application codes according to the solution; A target application is created according to the application configuration file and the application code.

2. The method according to claim 1, characterized in that Clarify the details of the development requirements through natural language dialogue, including: One or more of the data flow, trigger conditions, and authority scope of the development requirements are clarified through natural language dialogue.

3. The method according to claim 1, characterized in that Automatically generate solutions based on the development requirements through the target model, including: The execution steps in the solution, the order of the execution steps, and one or more application interfaces called in the execution steps are determined according to the development requirements.

4. The method according to claim 1, wherein After automatically generating a solution based on the development requirements and the details of the development requirements through the target model, before automatically generating an application configuration file based on the solution, it also includes: determining the permission points related to the application interface called in the solution; screening the permission points using the principle of least privilege to obtain a permission point set for the solution; and verifying the permission point set so that the permission point set can meet the calling requirements of all application interfaces.

5. The method according to claim 4, characterized in that The permission points are screened using the principle of least privilege to obtain a set of permission points for the solution, including one or more of the following: If multiple permission points can meet the calling requirements of the same application interface, the permission point with the smallest impact range is selected as the permission point of the application interface; Merge overlapping authority points; A permission point that distinguishes user identity from application identity.

6. The method according to claim 1, characterized in that The application configuration file includes one or more of the following: the enabling status of one or more functions, the permission point set of the solution, the subscribed event list, and the call chain of the application interface.

7. The method according to claim 1, characterized in that After automatically generating application code based on the solution, it also includes: The application code is parsed to determine the operating parameters that need to be configured for the application code; a configuration interface for the operating parameters is displayed, and set values ​​for the operating parameters are received.

8. The method according to any one of claims 1 to 7, characterized in that Also includes: The application code of the target application is run in the provided running environment, and the execution result of the application code is displayed.

9. An application development device, characterized in that: include: A dialogue unit, configured to, in response to receiving a development requirement, clarify the details of the development requirement through a natural language dialogue; A control unit, configured to automatically generate a solution according to the development requirement and details of the development requirement through a target model; The control unit is further configured to automatically generate an application configuration file and application code according to the solution; The control unit is further configured to create a target application according to the application configuration file and the application code.

10. An electronic device comprising: at least one memory and at least one processor; The at least one memory is used to store program code, and the at least one processor is used to call the program code stored in the at least one memory to execute the method according to any one of claims 1 to 8. 11 . A computer-readable storage medium, configured to store program code, wherein when the program code is executed by a processor, the processor is prompted to execute the method according to claim 1 .