Application packaging method and apparatus, device, and storage medium

By obtaining and parsing domain-specific language DSL datasets, automatically generating runnable code projects, solving the problem of low development efficiency in the existing technology and achieving an efficient application development process.

WO2024244727A1PCT designated stage expired Publication Date: 2024-12-05BOE TECHNOLOGY GROUP CO LTD

Patent Information

Application Number
PCT/CN2024/087971
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-05-31
Filing Date
2024-04-16
Publication Date
2024-12-05

AI Technical Summary

Technical Problem

In the prior art, application development requires developers to manually develop throughout the process, resulting in low efficiency.

Method used

By obtaining domain-specific language DSL datasets, automatically parsing and generating runnable code projects, forming application packages, reducing manual participation, and improving development efficiency.

Benefits of technology

It realizes an automated application development process, improves development efficiency, lowers development thresholds, and enhances development flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024087971_05122024_PF_FP_ABST
    Figure CN2024087971_05122024_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the present invention are an application packaging method and apparatus, a device, and a storage medium. The method comprises: acquiring a domain-specific language (DSL) data set used for describing initial configuration information of a target application, wherein the target application comprises a target application page; parsing the DSL data set to obtain a runnable code project comprising the initial configuration information, wherein the runnable code project comprises a target page code file used for rendering the target application page; in the process of parsing the DSL data set, filling the target page code file with DSL page data, in the DSL data set, for describing the target application page; and generating a program package of the target application according to the runnable code project, wherein the generated program package comprises a DSL parsing module, and the DSL parsing module is used for, in a running process, parsing the DSL page data filled in the target page code file, and rendering the target application page according to the parsed information.
Need to check novelty before this filing date? Find Prior Art

Description

Application packaging method, device, equipment and storage medium Technical Field

[0001] The present invention relates to the field of computer application technology, and in particular to an application packaging method, device, equipment and storage medium. Background Art

[0002] With the popularization of computer technology, users may use services provided by various applications, such as video applications, music applications, social applications, etc.

[0003] However, the development of these applications often requires developers to perform manual development throughout the process, resulting in low development efficiency.

[0004] Summary of the Invention

[0005] The present invention provides an application packaging method, device, equipment and storage medium to address the deficiencies in the related art.

[0006] According to a first aspect of an embodiment of the present invention, there is provided an application packaging method, comprising:

[0007] Obtaining a domain-specific language (DSL) dataset for describing initial configuration information of a target application; the target application includes a target application page;

[0008] Parsing the DSL data set to obtain an executable code project containing the initial configuration information; the executable code project includes a target page code file for rendering a target application page;

[0009] In the process of parsing the DSL data set, filling the DSL page data used to describe the target application page in the DSL data set into the target page code file;

[0010] generating a program package of the target application according to the executable code project;

[0011] The generated program package includes a DSL parsing module, which is used to parse the DSL page data filled in the target page code file during operation and render the target application page according to the parsed information.

[0012] Optionally, parsing the DSL page data filled in the target page code file and rendering the target application page according to the parsed information includes:

[0013] During operation, the DSL page data filled in the target page code file is parsed, and based on the parsed information, the controls contained in the target application page and the corresponding control attribute values ​​are determined; and the target application page is rendered based on the determined controls and the corresponding control attribute values.

[0014] Optionally, the generated package is also used to:

[0015] During operation, the DSL page data filled in the target page code file is updated, and the DSL parsing module is called to execute: parsing the updated DSL page data, and updating and rendering the target application page according to the parsed information.

[0016] Optionally, the step of filling the DSL page data used to describe the target application page in the DSL data set into the target page code file includes:

[0017] Parsing the DSL page data used to describe the target application page in the DSL data set, and creating, according to the parsing result: a page initial code file of the target application page;

[0018] The parsed DSL page data is filled into the created page initial code file to obtain the target page code file.

[0019] Optionally, the parsing result includes: information indicating whether the target application page includes a business function module;

[0020] The creation of the target application page initial code file according to the analysis result includes:

[0021] When it is determined that the target application page includes a business function module, different page initial code files are created for the target application page and the included business function module according to the analysis result.

[0022] Optionally, when it is determined that the target application page includes a business function module, the parsed DSL page data is filled into the created page initial code file to obtain the target page code file, including:

[0023] Filling the DSL business data used to describe the business function module in the parsed DSL page data into the page initial code file created for the business function module to obtain a business code file;

[0024] Filling the DSL layout data used to describe the page layout in the parsed DSL page data into the page initialization code file created for the target application page to obtain a layout code file;

[0025] The obtained business code file and layout code file are determined as the target page code file.

[0026] Optionally, generating a program package of the target application according to the executable code project includes:

[0027] Providing an editing interface for editing the executable code project, so as to facilitate secondary development of the executable code project according to user operations on the provided editing interface;

[0028] The executable code project completed by the secondary development is packaged to obtain the program package of the target application.

[0029] Optionally, generating a program package of the target application according to the executable code project includes:

[0030] Running the executable code project to obtain parameter transfer information, so as to facilitate secondary development of the executable code project based on the parameter transfer information;

[0031] The executable code project completed by the secondary development is packaged to obtain the program package of the target application.

[0032] Optionally, the business code file is used to render the corresponding business function module; the page layout includes the rendering position of the business function module in the application page; the layout code file is used to determine: the rendering position of the business function module in the target application page;

[0033] Before packaging the executable code project completed by secondary development, the method further includes:

[0034] Check whether the target page code file and the layout code file contain the rendering location information of the business function module.

[0035] Optionally, the initial configuration information includes at least one of the following: page configuration information, event binding information, data binding information, and component routing information.

[0036] Optionally, the method further comprises: determining a target operating platform of the target application, and obtaining an application engineering template of the target operating platform;

[0037] The step of parsing the DSL data set to obtain an executable code project containing the initial configuration information includes:

[0038] The DSL data set is parsed, and based on the parsed information and the obtained application project template, an executable code project including the initial configuration information is obtained.

[0039] Optionally, the obtained application engineering template includes a DSL parsing module;

[0040] The DSL parsing module is used to: during operation, parse the DSL page data filled in any page code file, and render the corresponding application page according to the parsed information.

[0041] Optionally, obtaining an application engineering template of a target operating platform includes:

[0042] Get a cross-platform application project template;

[0043] The obtained cross-platform application project template is configured as the application project template of the target operating platform.

[0044] Optionally, the method further includes: configuring basic information of the target application for the acquired application engineering template.

[0045] Optionally, the basic information includes at least one of the following:

[0046] Target operating platform, application identifier, application package name, application version number, application resource files, application component information, application dependency files, and DSL dataset identifier.

[0047] Optionally, the basic information includes a DSL dataset identifier;

[0048] The obtaining of a domain-specific language (DSL) dataset for describing initial configuration information of a target application includes:

[0049] According to the DSL dataset identifier in the basic information, a corresponding DSL dataset is acquired; the acquired DSL dataset is used to describe the initial configuration information of the target application.

[0050] According to a second aspect of an embodiment of the present invention, there is provided an application packaging device, including:

[0051] An acquiring unit, configured to acquire a domain specific language (DSL) dataset for describing initial configuration information of a target application; the target application includes a target application page;

[0052] a parsing unit configured to parse the DSL dataset to obtain an executable code project including the initial configuration information; the executable code project including a target page code file for rendering a target application page; and, during parsing of the DSL dataset, populating the target page code file with DSL page data in the DSL dataset for describing the target application page.

[0053] a packaging unit, configured to generate a program package of the target application according to the executable code project;

[0054] The generated program package includes a DSL parsing module, which is used to parse the DSL page data filled in the target page code file during operation and render the target application page according to the parsed information.

[0055] Optionally, the DSL parsing module is used to:

[0056] During operation, the DSL page data filled in the target page code file is parsed, and based on the parsed information, the controls contained in the target application page and the corresponding control attribute values ​​are determined; and the target application page is rendered based on the determined controls and the corresponding control attribute values.

[0057] Optionally, the generated package is also used to:

[0058] During operation, the DSL page data filled in the target page code file is updated, and the DSL parsing module is called to execute: parsing the updated DSL page data, and updating and rendering the target application page according to the parsed information.

[0059] Optionally, the parsing unit is used to:

[0060] Parsing the DSL page data used to describe the target application page in the DSL data set, and creating, according to the parsing result: a page initial code file of the target application page;

[0061] The parsed DSL page data is filled into the created page initial code file to obtain the target page code file.

[0062] Optionally, the parsing result includes: information indicating whether the target application page includes a business function module;

[0063] The parsing unit is used to:

[0064] When it is determined that the target application page includes a business function module, different page initial code files are created for the target application page and the included business function module according to the analysis result.

[0065] Optionally, when it is determined that the target application page includes a business function module, the parsing unit is configured to:

[0066] Filling the DSL business data used to describe the business function module in the parsed DSL page data into the page initial code file created for the business function module to obtain a business code file;

[0067] Filling the DSL layout data used to describe the page layout in the parsed DSL page data into the page initialization code file created for the target application page to obtain a layout code file;

[0068] The obtained business code file and layout code file are determined as the target page code file.

[0069] Optionally, the packaging unit is used to:

[0070] Providing an editing interface for editing the executable code project, so as to facilitate secondary development of the executable code project according to user operations on the provided editing interface;

[0071] The executable code project completed by the secondary development is packaged to obtain the program package of the target application.

[0072] Optionally, the packaging unit is used to:

[0073] Running the executable code project to obtain parameter transfer information, so as to facilitate secondary development of the executable code project based on the parameter transfer information;

[0074] The executable code project completed by the secondary development is packaged to obtain the program package of the target application.

[0075] Optionally, the business code file is used to render the corresponding business function module; the page layout includes the rendering position of the business function module in the application page; the layout code file is used to determine: the rendering position of the business function module in the target application page;

[0076] Before packaging the executable code project completed by secondary development, the packaging unit is further used to:

[0077] Check whether the target page code file and the layout code file contain the rendering location information of the business function module.

[0078] Optionally, the initial configuration information includes at least one of the following: page configuration information, event binding information, data binding information, and component routing information.

[0079] Optionally, the acquisition unit is further configured to: determine a target operating platform of the target application, and acquire an application engineering template of the target operating platform;

[0080] The parsing unit is used to:

[0081] The DSL data set is parsed, and based on the parsed information and the obtained application project template, an executable code project including the initial configuration information is obtained.

[0082] Optionally, the obtained application engineering template includes a DSL parsing module;

[0083] The DSL parsing module is used to: during operation, parse the DSL page data filled in any page code file, and render the corresponding application page according to the parsed information.

[0084] Optionally, the acquiring unit is configured to:

[0085] Get a cross-platform application project template;

[0086] The obtained cross-platform application project template is configured as the application project template of the target operating platform.

[0087] Optionally, the acquisition unit is further configured to: configure basic information of the target application for the acquired application engineering template.

[0088] Optionally, the basic information includes at least one of the following:

[0089] Target operating platform, application identifier, application package name, application version number, application resource files, application component information, application dependency files, and DSL dataset identifier.

[0090] Optionally, the basic information includes a DSL dataset identifier;

[0091] The acquisition unit is used for:

[0092] According to the DSL dataset identifier in the basic information, a corresponding DSL dataset is acquired; the acquired DSL dataset is used to describe the initial configuration information of the target application.

[0093] According to the above embodiments, a DSL data set describing a target application can be obtained, and the device can automatically parse the DSL data set to generate an executable code project to obtain a program package for the target application, thereby reducing the manual participation of developers and improving development efficiency.

[0094] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0095] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0096] FIG1 is a schematic diagram of a flow chart of an application packaging method according to an embodiment of the present invention;

[0097] FIG2 is a schematic structural diagram of an application packaging device according to an embodiment of the present invention;

[0098] FIG3 is a schematic diagram of a hardware structure of a computer device configured with a method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0099] Exemplary embodiments will be described in detail herein, examples of which are illustrated in the accompanying drawings. In the following description, when referring to the drawings, like numbers in different figures represent like or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all possible embodiments consistent with the present invention. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present invention, as detailed in the appended claims.

[0100] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in the embodiments of the present invention are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0101] With the popularization of computer technology, users may use services provided by various applications, such as video applications, music applications, social applications, etc.

[0102] However, the development of these applications often requires developers to perform manual development throughout the process, resulting in low development efficiency.

[0103] In order to solve the above problems, an embodiment of the present invention discloses an application packaging method.

[0104] In this method, an intermediate language file that describes an application in an intermediate language can be obtained, so that the device can automatically parse the intermediate language file into an executable code project, and then package the executable code project to obtain an application package.

[0105] The intermediate language can specifically be a language that can be parsed into executable code, for example, a custom language that is easy to parse into executable code. Specifically, it can have good interpretability to facilitate business personnel to view it. Specifically, it can be pseudocode or a domain-specific language (DSL).

[0106] The method can generate an executable code project and obtain an application package by automatically parsing an intermediate language file used to describe an application by a device, thereby reducing the manual participation of developers and improving their development efficiency.

[0107] The intermediate language file can be edited by developers. The intermediate language file is usually more explanatory than the executable code, thus lowering the threshold for developers.

[0108] In addition, the device automatically parses the intermediate language to obtain the executable code, and usually needs to pre-set the mapping relationship between the intermediate language and the executable code.

[0109] In order to improve the flexibility of application development, after generating the executable code project, an editing interface can be further opened for the executable code project, so that secondary development can be further carried out based on the automatic development of the device.

[0110] Optionally, the executable code project automatically parsed and generated by the device can be regarded as an intermediate product, which can be packaged into an application package after further secondary development.

[0111] Since the intermediate product has not been packaged into an unchangeable program, the form can be more flexible and can adapt to various business needs.

[0112] The following is a detailed explanation of an application packaging method provided by an embodiment of the present invention.

[0113] As shown in FIG1 , FIG1 is a flow chart of an application packaging method according to an embodiment of the present invention.

[0114] The embodiment of the present invention does not limit the execution subject of the method process. Optionally, the execution subject can be any computing device, such as a terminal, a server, or other electronic device.

[0115] Optionally, since application packaging is a part of the development process, the execution entity may be a development-side device.

[0116] The method may include the following steps.

[0117] S101: Acquire a domain-specific language (DSL) dataset for describing initial configuration information of a target application.

[0118] The target application may include an application page, specifically a target application page. Specifically, the target application may include one or more application pages to display information to the user and facilitate user interaction through the application page.

[0119] The target application can be any application. For ease of description, any application to be developed is referred to as the target application.

[0120] The target application page can specifically be any application page. It is understandable that the explanation of any application page in the target application can refer to the explanation of the target application page.

[0121] The initial configuration information may specifically be the relevant information configured for the target application during the development process before secondary development, and may specifically include page configuration information, event binding information, data binding information, and other information in the target application.

[0122] S102: Parse the DSL data set to obtain an executable code project containing initial configuration information.

[0123] The executable code project may include page code files for rendering application pages, and specifically may include target page code files for rendering target application pages.

[0124] The target page code file may specifically be any page code file. For the convenience of description, any page code file is referred to as the target page code file to facilitate subsequent explanation.

[0125] During the process of parsing the DSL dataset, the DSL page data used for describing the target application page in the DSL dataset may be filled into the target page code file used for rendering the target application page.

[0126] It is understandable that, during the process of parsing the DSL data set, multiple page code files may be generated. For the explanation of each page code file, please refer to the explanation of the target page code file.

[0127] S103: Generate a program package of the target application according to the executable code project.

[0128] The generated program package may include a DSL parsing module, which may be used to parse the DSL page data filled in the target page code file during operation, and render the target application page according to the parsed information.

[0129] Optionally, the executable code project may include a programming language and DSL data. The programming language may be C, C++, Python, etc.

[0130] The above method process can obtain a DSL data set describing the target application, and the device automatically parses the DSL data set to generate an executable code project to obtain the program package of the target application, thereby reducing the manual participation of developers and improving their development efficiency.

[0131] The method is not limited to a specific target application. For the convenience of description, the application to be packaged is referred to as the target application.

[0132] Furthermore, this method does not limit the number of page code files in an executable code project. For ease of description, this explanation will focus on one application page, and the corresponding page code file will be referred to as the target page code file. It is understood that the explanation of the target page code file can also be used for other page code files.

[0133] The following is a detailed explanation of each step.

[0134] 1. S101: Obtain a domain-specific language (DSL) dataset for describing initial configuration information of a target application.

[0135] 1) About the DSL dataset.

[0136] The method flow does not limit the specific form of the Domain Specific Language (DSL) or the specific format of the DSL dataset.

[0137] For example, for document writing tasks, lightweight markup language (Markdown) can be used as the DSL language; for string matching tasks, regular expressions (RegExp) can be used as the DSL language; for work process control tasks, dependency detection tool (Make) language or automated build tool (Gradle) language can be used as the DSL language; for data search tasks, structured query language (SQL) can be used as the DSL language; for web page (Web) style coding tasks, cascading style sheets (CSS) language can be used as the DSL language, and so on. The code file written by DSL is also the DSL dataset. Accordingly, the specific format of the DSL dataset corresponding to different DSL languages ​​will also be different. This application does not limit the specific programming language used by the DSL dataset and the format of the DSL dataset.

[0138] Optionally, the domain specific language may include any of the following: pseudo code, user-defined language, Chinese, etc. Optionally, the format of the DSL dataset may be JSON format or other formats.

[0139] Optionally, the DSL dataset can be used as an intermediate language file to facilitate parsing into executable code.

[0140] Therefore, the language or format of the DSL dataset itself is not limited, as long as the process can parse the DSL dataset and obtain an executable code project.

[0141] 2) This method does not limit the acquisition method and source of the DSL dataset.

[0142] Optionally, the DSL dataset can be obtained locally or externally, specifically, the DSL dataset can be obtained from a server or other device, or from other devices on the development side.

[0143] Optionally, the DSL dataset may also be obtained locally, specifically, it may be a pre-downloaded DSL dataset, or it may be a DSL dataset edited by the developer on the development-side device itself.

[0144] 3) Initial configuration information about the target application.

[0145] This method does not limit the specific form of the initial configuration information of the target application.

[0146] Optionally, the initial configuration information includes at least one of the following: page configuration information, event binding information, data binding information, and component routing information.

[0147] The page configuration information may specifically be information related to controls included in the page, such as the types and properties of controls included in the page.

[0148] Event binding information can specifically be event-related information contained in the target application. Events can include trigger mechanisms and corresponding actions. The trigger mechanisms in events can be bound to controls on the page. For example, clicking a query button on a page can trigger an interaction event and execute the corresponding query operation.

[0149] The data binding information can specifically be information related to the data contained in the target application. The data can be bound to controls on the page. For example, the query results for the target application can be displayed in a bound page table for easy viewing by the user.

[0150] Component routing information can specifically be component dependencies within the target application. Components can implement corresponding functionality within the target application, and dependencies can exist between components. For example, a query component often depends on components that interact with a backend database.

[0151] 4) Initial configuration process of the target application.

[0152] This method does not limit the configuration method of the target application during the development process.

[0153] The target application usually requires developers to design and configure it so that the target page can be published or updated.

[0154] Optionally, the target application can be configured by developers directly writing DSL datasets; it can also be configured through a visualization platform.

[0155] The visualization platform can be used to configure the initial configuration information of the application according to the user's interactive operation. This embodiment does not limit the specific interactive operation and initial configuration information.

[0156] Optionally, the initial configuration information may include at least one of the following: page configuration information, event binding information, data binding information, and component routing information. Detailed explanations can be found above.

[0157] Optionally, you can configure control-related information in the page configuration information, such as control layout information, control size, control content, etc. You can also configure event binding information and data binding information in the application, such as jump events between different pages, control interaction events, and parameter data passed within the page. Specifically, you can perform event binding and data binding.

[0158] Optionally, the developer's interactive operation may include at least one of the following: a control dragging operation, an event binding operation, a data binding operation, a configuration operation, a control size adjustment operation, and the like.

[0159] In a specific example, developers can interact with the visualization platform, first setting the size of the overall background panel of the page and configuring its content, which can be an image. They can then design the overall layout of the page by dragging and dropping controls and adjusting their position and size. They can also design the page's operational logic and functionality by binding events and data.

[0160] This embodiment can lower the development threshold for developers and improve the convenience of developers in configuring applications through the visualization platform.

[0161] 5) About how to generate DSL dataset.

[0162] This method does not limit the generation method of the DSL dataset.

[0163] Alternatively, the DSL dataset used to describe the target page can be edited directly by the developer.

[0164] For example, the DSL dataset may adopt pseudo code, so that a developer may edit the pseudo code for describing the initial configuration information of the target page as the DSL dataset.

[0165] Optionally, the initial configuration information of the target application may be converted into a DSL dataset, specifically, the conversion may be performed based on the configuration information for the target application in the visualization platform.

[0166] For example, developers can use the visualization platform to configure an application page in the target application, specifically configuring properties such as the control type, control position, and control size. This configuration information can then be converted into DSL data and added to the DSL dataset.

[0167] Specifically, the configuration information may be converted into JSON format. For example, for a button control with a size of 3*5 in the target application page, the control information may be converted into JSON format. The specific control type is a button with a size of 3*5.

[0168] 2. S102: Parse the DSL data set to obtain an executable code project including initial configuration information.

[0169] The executable code project may include a page code file for rendering the application page. Optionally, the page code file may be in Dart format.

[0170] During the process of parsing the DSL dataset, the DSL page data used for describing the target application page in the DSL dataset may be filled into the target page code file used for rendering the target application page.

[0171] Optionally, the target page code file may specifically be a target Dart file, which may contain executable code for implementing page rendering, and further may contain populated DSL page data.

[0172] The DSL page data may be DSL data used to describe an application page in a target application.

[0173] This embodiment does not limit the content of the DSL page data. Alternatively, the DSL page data may include information related to controls, event binding information, data binding information, and other information in the described application page. This facilitates parsing the DSL page data to obtain relevant information about the application page for subsequent page rendering.

[0174] 1. The following is a detailed explanation of the page code files in the executable code project.

[0175] The present method is not limited to the way of parsing the DSL dataset to obtain the executable code project, as long as the executable code project can include the initial configuration information of the target application described by the DSL dataset.

[0176] As for the page code files in the executable code project, in an optional embodiment, the page information in the DSL dataset can be parsed to generate corresponding page code files for rendering the application pages in the target application.

[0177] The generated page code file can be added to the executable code project.

[0178] Furthermore, since it is necessary to make the page code file include the corresponding DSL page data, the DSL page data can be filled into the corresponding page code file.

[0179] Therefore, optionally, the DSL page data used to describe the target application page in the DSL dataset is filled into the target page code file used to render the target application page. This can be done by: parsing the DSL page data used to describe the target application page in the DSL dataset, and creating: a page initial code file of the target application page according to the parsing result; and filling the parsed DSL page data into the created page initial code file to obtain the target page code file.

[0180] This embodiment can parse the DSL page data describing the application page in the DSL data set to create a page initial code file, and then fill it with the DSL page data to obtain a page code file that can be used to render the page, thereby improving the efficiency and flexibility of parsing.

[0181] Regarding the page initialization code file, this embodiment does not limit the specific format, as long as it can be used to render the page.

[0182] Optionally, the page initial code file may include a parsing function and unassigned page information, so that the parsing function can be used to parse the subsequently filled DSL page data, assign values ​​to the page information, and render the page based on the assigned page information.

[0183] Optionally, the initial page code file can be blank and only include DSL page data that is subsequently filled in. The target application can call the DSL parsing module to parse the DSL page data in the page code file to determine the controls and corresponding control attribute values ​​included in the application page, and then render the application page based on the determined controls and corresponding control attribute values.

[0184] In other words, by parsing the DSL page data in the DSL dataset, the number of initial code files of the page can be determined, which makes it easier to fill in the DSL data later so as to facilitate parsing and page rendering through the DSL parsing module.

[0185] Optionally, the page initialization code file can be in the form of a dart file, so that it can be used for page rendering.

[0186] Furthermore, when creating a page initial code file, in order to facilitate subsequent secondary development, multiple page initial code files can be created for a single application page, and DSL data for describing different parts of the application page can be filled in each of them.

[0187] It should be noted that during the application development and configuration process, some functions may be more complex and cannot be directly parsed and generated into executable code by the device for function implementation. Therefore, the functions are usually implemented with the help of subsequent secondary development.

[0188] If a single application page corresponds to a single page code file, when performing secondary development, it is often necessary to query from the code of the entire application page.

[0189] Moreover, function implementation often involves complex parameter passing, and it is often difficult to quickly determine the parameter passing situation between code files divided by pages.

[0190] For example, if a function in the first page requires a parameter input in the second page, the name of the parameter in the code of the second page needs to be clearly identified, and thus the entire page code file of the second page needs to be searched, which is time-consuming.

[0191] For another example, 500 parameters need to be transferred between the third page and the fourth page, but a certain function in the third page only requires one of the parameters, so it is necessary to query from the 500 parameters, which is time-consuming and labor-intensive.

[0192] Therefore, further functional splitting can be performed on a single application page to achieve functional modularization, and the split functional modules can be parsed separately into a code file.

[0193] In other words, a single application page can be parsed into multiple code files, thereby reducing the amount of code in a single code file, and each code file has corresponding functions, which is convenient for query.

[0194] Moreover, as parameters are passed between pages, multiple code files can be used to distinguish the parameters passed between pages.

[0195] For example, the first page contains a module for login and a module for registration, while the second page contains a module for querying information about the logged-in user. Therefore, the parameters sent from the first page to the second page can be divided into parameters sent from the "code file corresponding to the login function module" and from the "code file corresponding to the registration function module" to the corresponding code file on the second page. This facilitates subsequent querying.

[0196] For the convenience of description, the modules used to implement functions in the application page are described as business function modules, and the business function modules can be used to implement the split functions.

[0197] This embodiment does not limit the splitting method of the business function modules. Optionally, the business function modules in the application page can be determined directly according to the configuration of the developer.

[0198] Business function modules include login function module, registration function module, QR code scanning function module, etc.

[0199] On the one hand, this reduces the amount of code in a single code file, making it easier to search. Furthermore, a single functional module often has complete functional implementation, making it easier to view. On the other hand, it also makes it easier to distinguish parameters passed between pages and clearly define the parameter transfer between different functional modules, making it easier to search.

[0200] Therefore, optionally, the parsing result of the DSL page data may include information indicating whether the target application page includes a business function module.

[0201] Based on the parsing results, a page initialization code file for the target application page is created. Specifically, if the target application page is determined to include a business function module, separate page initialization code files are created for the target application page and the included business function module based on the parsing results. The created page initialization code files can be used to render the target application page.

[0202] Of course, the application page may include one or more business function modules. Specifically, a page initial code file may be created for each business function module included, or a page initial code file may be created for some business function modules.

[0203] This embodiment can create multiple page initial code files for a single application page, thereby facilitating subsequent secondary development and improving development efficiency.

[0204] Optionally, if any application page does not include a business function module, that is, there is no module that needs to be divided, a single page initial code file can be directly created. Creating a page initial code file according to the parsing result may include: creating a page initial code file for the application page according to the parsing result.

[0205] As for filling the page initial code file specifically, optionally, when it is determined that the target application page contains a business function module, the parsed DSL page data is filled into the created page initial code file to obtain the target page code file, which can be: filling the DSL business data used to describe the business function module in the parsed DSL page data into the page initial code file created for the business function module to obtain the business code file; filling the DSL layout data used to describe the page layout in the parsed DSL page data into the page initial code file created for the target application page to obtain the layout code file; and determining the obtained business code file and layout code file as the target page code file.

[0206] The present embodiment does not limit the specific content of the page layout. Optionally, the page layout may include the rendering position of the business function module, and may also include other control related information other than the business function module.

[0207] For example, an application page may need to deploy a query function module and two buttons. Therefore, the page layout may include the rendering position of the query function module and the relevant information of the two buttons, specifically the rendering position, size, display text, etc. of the two buttons.

[0208] Correspondingly, this embodiment does not limit the specific content of the DSL layout data. Optionally, the DSL layout data may include the rendering position of the business function module, and may also include other control related information other than the business function module.

[0209] For ease of understanding, in an optional specific embodiment, a folder can be created for the application page containing the business function module and determined as the target page code file, and then the business code file and layout code file can be placed in the folder.

[0210] Optionally, the layout code file and the business code file can be used together to render the application page required by the target page code file. Specifically, the business code file can render the business function module, while the layout code file renders the rest of the application page. The rendered business function modules are then combined to produce the final application page.

[0211] Specifically, the rendering position of the business function module in the application page can be determined according to the layout code file.

[0212] Optionally, the business code file can be used to render the corresponding business function module; the page layout can include the rendering position of the business function module in the application page; the layout code file can be used to determine: the rendering position of the business function module in the target application page.

[0213] This embodiment does not limit the division of business function modules.

[0214] Optionally, the business function modules in the page may be specified in the DSL dataset.

[0215] For example, the DSL business data used to describe the business function modules in the page can be marked in the DSL data set, or the DSL business data used to describe the business function modules in the page can be stored independently.

[0216] Optionally, the business function modules in the configuration page may be specifically configured by a developer.

[0217] In a specific example, the target application may be a large-screen display application, which specifically needs to display five blocks of data statistical analysis results, so five business function modules may be configured to render their respective data statistical analysis results.

[0218] For example, the target application could be an offline fulfillment platform, where a single page could include multiple business modules such as food delivery, takeout, rentals, and shopping. Each business module has completely different implementation logic, allowing for separate business code files.

[0219] 2. About project templates.

[0220] In an optional embodiment, an executable code project may be generated by using an application project template.

[0221] Optionally, the above method may further include: determining a target operating platform for the target application and obtaining an application engineering template for the target operating platform. The operating platform may be, for example, Android, iOS, or a computer.

[0222] This embodiment does not limit the form of the application project template, nor does it limit the specific target operating platform.

[0223] Optionally, parsing the DSL dataset to obtain the executable code project containing the initial configuration information may include: parsing the DSL dataset, and obtaining the executable code project containing the initial configuration information based on the parsed information and the obtained application project template.

[0224] This embodiment can improve the efficiency of generating executable code projects by using application project templates.

[0225] Of course, this embodiment does not limit how to obtain the executable code project based on the parsed information and the application project template.

[0226] Optionally, the initial configuration information of the target application in the parsed information may be filled into the application project template to obtain an executable code project.

[0227] Optionally, the executable code project can include page code files. Page code files can be used to render application pages. Specifically, they can be in the form of Dart files.

[0228] Therefore, optionally, the obtained application project template may include page template code.

[0229] Optionally, based on the parsed information and the obtained application project template, an executable code project containing initial configuration information is obtained, which may include: determining the corresponding page template code based on the information of any application page in the parsed information, combining the determined page template code to obtain a page initial code file; filling the DSL page data used to describe the application page in the DSL data set into the created page initial code file to obtain a page code file.

[0230] This embodiment can improve the generation efficiency of page code files through page template codes.

[0231] The page template code may specifically include a control template code, and the corresponding control template code may be determined according to the control type included in the application page in the parsed information.

[0232] Subsequently, the control information can be filled into the control template code according to the filled DSL page data, and the corresponding control can be rendered to render the application page.

[0233] Optionally, the project template may include a DSL parsing module. The DSL parsing module may be used to parse the DSL page data filled in any page code file during operation and render the corresponding application page based on the parsed information.

[0234] The DSL parsing module in the generated package can be the DSL parsing module provided in the project template. Specifically, the DSL parsing module can be a cross-platform parsing engine for parsing DSL data. A cross-platform parsing engine can easily adapt to different operating platforms and improve parsing stability.

[0235] In this embodiment, the page code file may only contain DSL page data, and the DSL parsing module may also be used to implement parsing and page rendering.

[0236] Optionally, in order to obtain an application engineering template adapted to a target operating platform, a cross-platform application engineering template may be used to reduce development difficulty.

[0237] Optionally, acquiring the application engineering template of the target operating platform may include: acquiring a cross-platform application engineering template; and configuring the acquired cross-platform application engineering template as the application engineering template of the target operating platform.

[0238] Optionally, to facilitate subsequent program packaging, basic information of the target application can be configured for the executable code project, such as the target application's name and icon. This can be configured by the developer.

[0239] Optionally, the above method flow may further include: configuring basic information of the target application for the obtained application engineering template.

[0240] This embodiment does not limit the content and format of the basic information.

[0241] Optionally, the basic information may include at least one of the following: target operating platform, application identifier, application package name, application version number, application resource file, application component information, application dependency file, and DSL data set identifier.

[0242] The target operating platform can be the platform on which the target application runs, specifically Android, iOS, or a desktop computer. The application identifier can be an identifier used to distinguish different applications. The application package name can be the name of the packaged program. The application version number can be used to distinguish different versions of the target application and to prioritize updates.

[0243] The application resource files may specifically be resources that the application needs to call during operation, such as images, videos, texts, etc.

[0244] The application component information may specifically be the components that the application needs to call during operation, for example, a database component, a mathematical component, an integral calculation component, and the like.

[0245] The application dependency files may specifically be files that the application depends on to run.

[0246] The DSL dataset identifier may be used to determine the DSL dataset that needs to be parsed.

[0247] By configuring the above basic information, you can easily generate a standard program package.

[0248] Optionally, after obtaining the basic information, a DSL dataset may be further obtained. The specific DSL dataset may be pre-set to facilitate subsequent selection and acquisition.

[0249] Therefore, optionally, the basic information may include a DSL dataset identifier; obtaining a domain-specific language DSL dataset for describing the initial configuration information of the target application may be: obtaining the corresponding DSL dataset based on the DSL dataset identifier in the basic information; the obtained DSL dataset is used to describe the initial configuration information of the target application.

[0250] 3. Page rendering and updating.

[0251] This method does not limit the specific method of implementing page rendering.

[0252] Optionally, parsing the DSL page data filled in the target page code file and rendering the target application page according to the parsed information can be: during operation, parsing the DSL page data filled in the target page code file, determining according to the parsed information: the controls included in the target application page and the corresponding control attribute values; rendering the target application page according to the determined controls and the corresponding control attribute values.

[0253] In this embodiment, the target page code file can be used to implement page rendering by parsing the DSL page data therein in real time during operation, thereby improving the real-time performance of the rendering. Furthermore, since page rendering is performed by real-time parsing of the DSL page data, page rendering can be subsequently updated by updating the DSL data in the page code file for the running target application package.

[0254] It should be noted that the above explanation is for a target page code file in an executable code project. It can be understood that the above explanation can be referred to for any page code file used to render an application page.

[0255] Therefore, any page code file used to render an application page in an executable code project can optionally include DSL page data describing the rendered application page. In the generated program package, the DSL parsing module can be used to parse the DSL page data filled in any page code file during runtime and render the corresponding application page based on the parsed information.

[0256] This embodiment does not limit the specific method of implementing page update rendering.

[0257] For the target application, the layout or display of the target application page may need to be updated due to business changes or version updates, which may require updating the rendering of the application page. Of course, it may also be necessary to update the layout or display of the application page due to the execution of local device events, such as the need to display relevant results in a list when querying data, which may require updating the rendering of the application page.

[0258] Optionally, the generated program package can be further used to: update the DSL page data filled in the target page code file during operation, and call the DSL parsing module to execute: parse the updated DSL page data, and update the rendering target application page according to the parsed information.

[0259] This embodiment does not limit the specific method of updating the DSL page data in the page code file.

[0260] Optionally, the update may be performed directly, specifically, new DSL page data sent by other devices may be received, and then directly updated into the corresponding page code file.

[0261] Optionally, the page code file may include an interface code for obtaining the corresponding current DSL page data, so that the interface code can be run to directly obtain the current DSL page data for updating.

[0262] Optionally, the page code file may include a data identifier for obtaining the corresponding current DSL page data, so that the current DSL page data can be obtained from other devices (such as the corresponding server) according to the data identifier for updating.

[0263] Optionally, the DSL page data that needs to be updated may be obtained from the event execution status of the local device and then updated.

[0264] 3. S103: Generate a target application program package based on the executable code project.

[0265] This method does not limit the specific packaging method.

[0266] Before the actual packaging, secondary development can be carried out.

[0267] This method process does not limit the specific secondary development method.

[0268] Optionally, the editing authority and editing interface of the executable code project may be opened, and the developer's operations may be received from the editing interface to update the executable code project.

[0269] Optionally, generating a program package for a target application based on an executable code project may include: providing an editing interface for editing the executable code project, so as to facilitate secondary development of the executable code project based on user operations on the provided editing interface; and packaging the executable code project after the secondary development is completed to obtain a program package for the target application.

[0270] Optionally, in order to facilitate secondary development, since secondary development may require the use of parameters passed in the executable code project, for example, parameters passed between different pages, parameters passed between different function implementations, etc., the executable code project can be run directly so that the parameter passing information in the current executable code project is specifically displayed, which facilitates secondary development.

[0271] For example, the card swiping function on the first page receives the account field "username" passed by the login function on the second page, so that when the secondary development of the card swiping function is carried out, the username field name can be used for development.

[0272] This embodiment does not limit the display method of parameter transfer information. Optionally, during the execution of the executable code project, the log may contain relevant information about parameter transfer, so that the parameter transfer information can be filtered out from the log. For example, the parameter names transferred between different page code files.

[0273] Optionally, a program for capturing parameter passing information can also be set in the executable code project, so that the parameter names passed between different files can be captured and then displayed to the user to facilitate secondary development.

[0274] Therefore, optionally, generating a program package for a target application based on an executable code project may include: running the executable code project to obtain parameter passing information so as to perform secondary development on the executable code project based on the parameter passing information; and packaging the executable code project after the secondary development is completed to obtain a program package for the target application.

[0275] This embodiment does not limit the specific form and content of the parameter transmission information.

[0276] Optionally, the parameter transfer information may include parameter fields, parameter sources, and parameter transfer targets, thereby facilitating secondary development.

[0277] This embodiment can improve the efficiency of secondary development by acquiring parameter transmission information.

[0278] In an optional embodiment, since parameter passing is involved, multiple code files can be created for a single application page containing a business function module to facilitate querying the passed parameters.

[0279] Specifically, when secondary development is performed on a single business function module, parameter information transmitted to the business function module, such as parameter fields, parameter sources, etc., can be conveniently and directly determined.

[0280] It should be noted that since some business function modules may undergo secondary development before their size, shape, controls and other appearances are determined, the layout code file may omit the rendering location of these business function modules.

[0281] Optionally, the business code file can be used to render the corresponding business function module; the page layout can include the rendering position of the business function module in the application page; the layout code file can be used to determine: the rendering position of the business function module in the target application page. Before packaging the executable code project completed for secondary development, it is possible to detect whether the layout code file in the target page code file contains the location information of the business function module corresponding to the business code file.

[0282] Optionally, it may be specifically detected whether the layout code file in the target page code file contains the location information of the business function module corresponding to each business code file.

[0283] If the target page code file or the layout code file does not contain the location information of the business function module corresponding to any business code file, a prompt can be issued to continue secondary development, or a location on the page can be automatically set. For example, a location on the page that does not block other controls.

[0284] It should be noted that the above explanation is for the target page code file. It is understandable that for any page code file, the above explanation can be referred to.

[0285] This embodiment can improve the stability of application development by detecting the relationship between the layout code file and the business code file before packaging.

[0286] For ease of understanding, the embodiment of the present invention further provides a specific application example.

[0287] First, you can configure the application pages through visual configuration. The page configuration information can be converted into DSL data to obtain a DSL dataset.

[0288] After visual configuration, you can store DSL datasets. In addition to DSL datasets, corresponding images and other resources can also be saved.

[0289] Afterwards, for subsequent development, you can perform the following steps.

[0290] 1. Based on the Flutter cross-platform project template that matches the cross-platform engine framework (the template embeds basic routing calls related to iOS, Android, and Windows, as well as a signaling transmission middle layer), you can output the corresponding project template based on the operating platform type selected in the visual configuration.

[0291] Specifically, it may be a project template that runs on the selected operating platform.

[0292] 2. Git clone the output project template to the Jenkins packager.

[0293] 3. Jenkins sends basic application information to the project template. This basic information can include at least one of the following:

[0294] The platform type of the application (Android / iOS / Windows / Web) is used to determine the content of the information packaged and embedded in the future.

[0295] Application ID (the unique ID of the application, which is used to distinguish the content above the version and is a platform attribute content), application package name (the unique identifier for the application to be listed on the app store), and application version number (the content of the currently built version).

[0296] Resource files such as the application's startup images / ICONs, including static configuration images, are placed in the corresponding directory folders according to platform attributes.

[0297] According to the platform information and the selected component information, put the Flutter / iOS / Android components into the YAML, Podfile, and Gradle files respectively.

[0298] And the ID information of the DSL dataset.

[0299] 4.According to the ID information of the DSL dataset, obtain the DSL dataset generated by the visual editor.

[0300] Based on the page information obtained in the shell script using the application ID, the corresponding Dart file can be generated (the Dart file is actually a template within the project. The template mainly needs to replace fixed markup strings with DSL page data, and the template will uniformly call back CallBack to receive events passed by the panel):

[0301] If the number of business function modules contained in the page is 0, then the XX page Class.dart file can be generated directly; if the number of business function modules contained in the page is not 0, then a folder named XX page is generated, and then XX page Class.dart is generated inside the folder.

[0302] After the Dart file of the page layer is generated, the location of the lower-level business function modules is determined according to the directory determined in the previous step. The business function modules under all XX pages are generated in the format of AaPannel.dart according to the obtained business function module names and placed in the folder of the page.

[0303] After generating the corresponding Dart file, replace the markup string in Dart with the actual DSL content.

[0304] According to the above steps, you can obtain an intermediate project template. This project template actually contains DSL data. Specifically, you can parse the DSL data through the code files in it.

[0305] A project template is a package that contains all dart files, has the file directory planned, has the corresponding DSL data filled in, and has prepared the entry point for secondary editing at the corresponding location. The project template also introduces the required components through the pub library / CocoaPods library / Marven library. Based on business needs, you can decide whether to introduce basic configurations for other scenarios. This intermediate product exists as a project, and the source code can be seen and edited on the source code, so developers can develop directly. The difference between the intermediate product and the final product is that the final product exists as an installation package, and developers cannot perform any secondary development or operations and can only install and use it directly. The intermediate product must be re-edited and recompiled to generate the final product. Compared with directly generating the final product, the intermediate product is more flexible and can highly meet the development needs of various business lines.

[0306] Corresponding to the above method embodiment, the embodiment of the present invention also provides an apparatus embodiment.

[0307] As shown in FIG2 , FIG2 is a structural diagram of an application packaging device according to an embodiment of the present invention.

[0308] The embodiments of the present invention do not limit the execution subject of the present apparatus embodiment. Alternatively, the execution subject may be any computing device, such as a terminal, a server, or other electronic device.

[0309] Optionally, since application packaging is a part of the development process, the execution entity may be a development-side device.

[0310] The apparatus may include the following units.

[0311] The acquisition unit 201 is configured to acquire a domain specific language (DSL) dataset for describing initial configuration information of a target application; the target application includes a target application page;

[0312] The parsing unit 202 is configured to parse the DSL dataset to obtain an executable code project containing initial configuration information; the executable code project includes a target page code file for rendering a target application page; during the parsing of the DSL dataset, the DSL page data used to describe the target application page in the DSL dataset is populated into the target page code file;

[0313] The packaging unit 203 is used to generate a program package of the target application according to the executable code project;

[0314] The generated program package includes a DSL parsing module, which is used to parse the DSL page data filled in the target page code file during operation and render the target application page according to the parsed information.

[0315] Optionally, the DSL parsing module is used to:

[0316] During the running process, the DSL page data filled in the target page code file is parsed, and based on the parsed information, the controls contained in the target application page and the corresponding control attribute values ​​are determined; and the target application page is rendered based on the determined controls and the corresponding control attribute values.

[0317] Optionally, the generated package is also used to:

[0318] During the running process, the DSL page data filled in the target page code file is updated, and the DSL parsing module is called to execute: parse the updated DSL page data, and update the rendering target application page according to the parsed information.

[0319] Optionally, the parsing unit 202 is configured to:

[0320] Parse the DSL page data used to describe the target application page in the DSL dataset, and create the target application page initial code file based on the parsing results;

[0321] The parsed DSL page data is filled into the created page initial code file to obtain the target page code file.

[0322] Optionally, the parsing result includes: information indicating whether the target application page includes a business function module;

[0323] The parsing unit 202 is used to:

[0324] When it is determined that the target application page includes a business function module, different page initial code files are created for the target application page and the included business function module according to the analysis result.

[0325] Optionally, when it is determined that the target application page includes a business function module, the parsing unit 202 is configured to:

[0326] Filling the DSL business data used to describe the business function module in the parsed DSL page data into the page initial code file created for the business function module to obtain a business code file;

[0327] Filling the DSL layout data used to describe the page layout in the parsed DSL page data into the page initialization code file created for the target application page to obtain a layout code file;

[0328] The obtained business code file and layout code file are determined as the target page code file.

[0329] Optionally, the packaging unit 203 is configured to:

[0330] Provide an editing interface for editing executable code projects, so that users can conduct secondary development on the executable code projects based on their operations on the provided editing interface;

[0331] The executable code project completed by secondary development is packaged to obtain the program package of the target application.

[0332] Optionally, the packaging unit 203 is configured to:

[0333] Run the executable code project and obtain parameter passing information so as to conduct secondary development on the executable code project based on the parameter passing information;

[0334] The executable code project completed by secondary development is packaged to obtain the program package of the target application.

[0335] Optionally, the business code file is used to render the corresponding business function module; the page layout includes the rendering position of the business function module in the application page; the layout code file is used to determine: the rendering position of the business function module in the target application page;

[0336] Before packaging the executable code project completed by secondary development, the packaging unit 203 is further used to:

[0337] Check whether the target page code file and the layout code file contain the rendering location information of the business function module.

[0338] Optionally, the initial configuration information includes at least one of the following: page configuration information, event binding information, data binding information, and component routing information.

[0339] Optionally, the acquisition unit 201 is further configured to: determine a target operating platform of the target application, and acquire an application engineering template of the target operating platform;

[0340] The parsing unit 202 is used to:

[0341] Parse the DSL data set and obtain a runnable code project containing initial configuration information based on the parsed information and the obtained application project template.

[0342] Optionally, the obtained application engineering template includes a DSL parsing module;

[0343] The DSL parsing module is used to parse the DSL page data filled in any page code file during operation, and render the corresponding application page according to the parsed information.

[0344] Optionally, the acquiring unit 201 is configured to:

[0345] Get a cross-platform application project template;

[0346] The obtained cross-platform application project template is configured as the application project template of the target operating platform.

[0347] Optionally, the acquisition unit 201 is further configured to: configure basic information of the target application for the acquired application engineering template.

[0348] Optionally, the basic information includes at least one of the following:

[0349] Target operating platform, application identifier, application package name, application version number, application resource files, application component information, application dependency files, and DSL dataset identifier.

[0350] Optionally, the basic information includes a DSL dataset identifier;

[0351] The acquisition unit 201 is used to:

[0352] According to the DSL dataset identifier in the basic information, the corresponding DSL dataset is obtained; the obtained DSL dataset is used to describe the initial configuration information of the target application.

[0353] The detailed explanation of the above device embodiment can be found in the above method embodiment.

[0354] An embodiment of the present invention further provides a computer device, which includes at least a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, any one of the above method embodiments is implemented.

[0355] An embodiment of the present invention also provides an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute any of the above-mentioned method embodiments.

[0356] FIG3 is a schematic diagram of the hardware structure of a computer device configured to implement the method according to an embodiment of the present invention, according to an embodiment of the present invention. The device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are connected to each other within the device via the bus 1050.

[0357] The processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided by the embodiments of the present invention.

[0358] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage devices, dynamic storage devices, etc. The memory 1020 can store an operating system and other application programs. When the technical solutions provided by the embodiments of the present invention are implemented through software or firmware, the relevant program codes are stored in the memory 1020 and are called and executed by the processor 1010.

[0359] The input / output interface 1030 is used to connect input / output modules to implement information input and output. The input / output modules can be configured as components within the device (not shown in the figure) or can be externally connected to the device to provide corresponding functions. Input devices may include a keyboard, mouse, touch screen, microphone, various sensors, etc., and output devices may include a display, speaker, vibrator, indicator light, etc.

[0360] The communication interface 1040 is used to connect to a communication module (not shown) to enable communication between the device and other devices. The communication module can communicate via a wired method (such as USB, network cable, etc.) or a wireless method (such as mobile network, WiFi, Bluetooth, etc.).

[0361] The bus 1050 comprises a path for transmitting information between the various components of the device (eg, the processor 1010 , the memory 1020 , the input / output interface 1030 , and the communication interface 1040 ).

[0362] It should be noted that although the above device only shows the processor 1010, the memory 1020, the input / output interface 1030, the communication interface 1040, and the bus 1050, in a specific implementation, the device may also include other components necessary for normal operation. In addition, those skilled in the art will understand that the above device may only include the components necessary to implement the embodiments of the present invention, and does not necessarily include all the components shown in the figure.

[0363] An embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon, which implements any of the above method embodiments when executed by a processor.

[0364] An embodiment of the present invention further provides a computer-readable storage medium storing a computer program, wherein the computer program implements any of the above method embodiments when executed by a processor.

[0365] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0366] Through the description of the above embodiments, it can be seen that those skilled in the art can clearly understand that the embodiments of the present invention can be implemented by means of software plus the necessary general hardware platform. Based on this understanding, the technical solution of the embodiments of the present invention can essentially or in other words, the contributing part can be embodied in the form of a software product. The computer software product can be stored in a storage medium such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in various embodiments or certain parts of the embodiments of the present invention.

[0367] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email transceiver, game console, tablet computer, wearable device, or any combination of these devices.

[0368] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment. The device embodiment described above is merely illustrative, wherein the modules described as separate components may or may not be physically separated, and when implementing the embodiment of the present invention, the functions of each module can be implemented in the same one or more software and / or hardware. It is also possible to select some or all of the modules according to actual needs to achieve the purpose of the embodiment. A person of ordinary skill in the art can understand and implement it without paying any creative work.

[0369] The above description is only a specific implementation of the embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the embodiment of the present invention. These improvements and modifications should also be regarded as protection for the embodiment of the present invention.

[0370] In the present invention, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance. The term "plurality" refers to two or more, unless otherwise clearly defined.

[0371] Other embodiments of the present invention will readily occur to those skilled in the art after considering the specification and practicing the disclosure herein. The present invention is intended to cover any variations, uses, or adaptations of the present invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the invention being indicated by the following claims.

[0372] It should be understood that the present invention is not limited to the exact construction described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.

Claims

1. An application packaging method, characterized in that: Applied to a development-side device, the method includes: Acquire a domain specific language (DSL) data set for describing initial configuration information of a target application; the target application includes a target application page; Parsing the DSL data set to obtain an executable code project including the initial configuration information; the executable code project includes a target page code file for rendering a target application page; In the process of parsing the DSL data set, the DSL page data used to describe the target application page in the DSL data set is filled into the target page code file; Generating a program package of the target application according to the executable code project; The generated program package includes a DSL parsing module, and the DSL parsing module is used to: during operation, parse the DSL page data filled in the target page code file, and render the target application page according to the parsed information.

2. The method according to claim 1, characterized in that: The parsing of the DSL page data filled in the target page code file and rendering the target application page according to the parsed information includes: During the running process, the DSL page data filled in the target page code file is parsed, and the controls contained in the target application page and the corresponding control attribute values ​​are determined according to the parsed information; and the target application page is rendered according to the determined controls and the corresponding control attribute values.

3. The method according to claim 1, characterized in that Generated packages are also used to: During the running process, the DSL page data filled in the target page code file is updated, and the DSL parsing module is called to execute: parsing the updated DSL page data, and updating and rendering the target application page according to the parsed information.

4. The method according to claim 1, characterized in that: The step of filling the DSL page data in the DSL data set for describing the target application page into the target page code file includes: Parsing the DSL page data used to describe the target application page in the DSL data set, and creating, according to the parsing result: a page initial code file of the target application page; The parsed DSL page data is filled into the created page initial code file to obtain the target page code file.

5. The method according to claim 4, characterized in that The analysis result includes: information used to indicate whether the target application page includes a business function module; The creation according to the parsing result: the page initial code file of the target application page includes: When it is determined that the target application page contains a business function module, the target application page is respectively Describe the target application page and the business function modules it contains, and create different page initial code files.

6. The method according to claim 5, characterized in that In the case where it is determined that the target application page includes a business function module, the parsed DSL page data is filled into the created page initial code file to obtain the target page code file, including: Filling the DSL service data used to describe the service function module in the parsed DSL page data into the page initial code file created for the service function module to obtain a service code file; Filling the DSL layout data used for describing the page layout in the parsed DSL page data into the page initial code file created for the target application page to obtain a layout code file; The obtained business code file and layout code file are determined as the target page code file.

7. The method according to claim 6, characterized in that The step of generating a program package of the target application according to the executable code project includes: Providing an editing interface for editing the executable code project, so as to facilitate secondary development of the executable code project according to the user's operation on the provided editing interface; The executable code project completed by the secondary development is packaged to obtain a program package of the target application.

8. The method according to claim 6, characterized in that The step of generating a program package of the target application according to the executable code project includes: Running the executable code project to obtain parameter transfer information, so as to perform secondary development on the executable code project according to the parameter transfer information; The executable code project completed by the secondary development is packaged to obtain a program package of the target application.

9. The method according to claim 7 or 8, characterized in that: The business code file is used to render the corresponding business function module; the page layout includes the rendering position of the business function module in the application page; the layout code file is used to determine: the rendering position of the business function module in the target application page; Before packaging the executable code project completed by the secondary development, the method further includes: Check whether the target page code file and the layout code file contain the rendering location information of the business function module.

10. The method according to claim 1, characterized in that The initial configuration information includes at least one of the following: page configuration information, event binding information, data binding information, and component routing information.

11. The method according to claim 1, characterized in that: The method further includes: determining a target operating platform of the target application, and obtaining an application engineering template of the target operating platform; The step of parsing the DSL data set to obtain an executable code project containing the initial configuration information includes: The DSL data set is parsed, and based on the parsed information and the obtained application project template, an executable code project including the initial configuration information is obtained.

12. The method according to claim 11, characterized in that The obtained application engineering template includes a DSL parsing module; The DSL parsing module is used to: during operation, parse the DSL page data filled in any page code file, and render the corresponding application page according to the parsed information.

13. The method according to claim 11, characterized in that The step of obtaining the application engineering template of the target operating platform includes: Get a cross-platform application project template; The obtained cross-platform application engineering template is configured as the application engineering template of the target operating platform.

14. The method according to claim 11, characterized in that The method further includes: configuring basic information of the target application for the acquired application engineering template.

15. The method according to claim 14, characterized in that The basic information includes at least one of the following: Target operating platform, application identifier, application package name, application version number, application resource files, application component information, application dependency files, and DSL data set identifier.

16. The method according to claim 14, characterized in that The basic information includes a DSL data set identifier; The step of obtaining a domain specific language DSL data set for describing initial configuration information of a target application includes: According to the DSL data set identifier in the basic information, a corresponding DSL data set is acquired; the acquired DSL data set is used to describe the initial configuration information of the target application.

17. An application packaging device, characterized in that: Applied to the development side equipment, the device comprises: An acquisition unit is used to acquire a domain specific language DSL data set for describing initial configuration information of a target application; the target application includes a target application page; a parsing unit, configured to parse the DSL data set to obtain an executable code project including the initial configuration information; the executable code project includes a target page code file for rendering a target application page; in the process of parsing the DSL data set, the DSL page data for describing the target application page in the DSL data set is filled into the target page code file; A packaging unit, used to generate a program package of the target application according to the executable code project; The generated program package includes a DSL parsing module, and the DSL parsing module is used to: during operation, parse the DSL page data filled in the target page code file, and render the target application page according to the parsed information.

18. An electronic device, characterized in that: include: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the one processor, and the instructions are executed by the at least one processor so as to enable the at least one processor to perform the method according to any one of claims 1 to 16.

19. A computer-readable storage medium storing a computer program, characterized in that: The computer program implements the method according to any one of claims 1 to 16 when executed by a processor.

Citation Information

Patent Citations

  • Page DSL analysis method, system and device and storage medium

    CN114090015A

  • Application generation method and device, equipment and medium

    CN115629757A

  • Method and device for constructing front-end code engineering based on low-code application

    CN115857926A

  • Application packaging method and device, equipment and storage medium

    CN116594676A

  • User control objects for providing server-side code generation from a user-defined dynamic web page content file

    US20030025728A1

Cited By

  • Method and system for generating software front-end page according to picture file

    CN119987764A