[go: up one dir, main page]

WO2019233293A1 - Method and apparatus for developing application program - Google Patents

Method and apparatus for developing application program Download PDF

Info

Publication number
WO2019233293A1
WO2019233293A1 PCT/CN2019/088258 CN2019088258W WO2019233293A1 WO 2019233293 A1 WO2019233293 A1 WO 2019233293A1 CN 2019088258 W CN2019088258 W CN 2019088258W WO 2019233293 A1 WO2019233293 A1 WO 2019233293A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
information
functional component
data
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2019/088258
Other languages
French (fr)
Chinese (zh)
Inventor
李帆
万宁邦
张果
刘彦玮
陈智浩
李春城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of WO2019233293A1 publication Critical patent/WO2019233293A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Definitions

  • the present application relates to the field of computer technology, and in particular, to a method for developing an application program and a device for developing an application program.
  • React is a JavaScript (literally interpreted scripting language) library for building user interfaces. Its design idea is extremely unique and its performance is very good. However, the code logic is very simple. As a result, more and more developers are beginning to pay attention to and use React, and develop application applications through React.
  • the final grammatical structure of the output is similar to XML (Extensible Markup Language) structure.
  • the application structure is built through this structure. Special problems arise. However, it is difficult to apply the same business model and logic to other different platforms for development tasks based on specific programming implementations, making it difficult for applications developed based on React to adapt to multiple different platforms. If the application is to be applied to multiple platforms, it needs to be developed separately for each platform, resulting in a sharp increase in development costs.
  • embodiments of the present application are provided in order to provide an application program development method and a corresponding application program development device that overcome the above problems or at least partially solve the above problems.
  • this application discloses a method for developing an application program, including:
  • the step of generating structured description information corresponding to the functional component includes:
  • the logic implementation information is converted into structured description information.
  • the structured description information is Json Schema description information.
  • the step of configuring the coding information of the functional component according to the structured description information to obtain a target component includes:
  • the encoding information of the functional component is rendered in the parsing engine to obtain a target component.
  • the step of loading the encoded information of the functional component to a parsing engine includes:
  • the step of obtaining data to be loaded includes:
  • the step of compiling the target component and the data to be loaded into an executable program for multiple application ends includes:
  • it further includes:
  • it further includes:
  • the step of updating or modifying the functional components of the application program includes:
  • this application discloses a method for developing an application program, including:
  • the executable programs are run in respective application ends.
  • an application development device including:
  • a determining module configured to determine a functional component of an application, where the functional component has corresponding coding information
  • a generating module configured to generate structured description information corresponding to the functional component
  • a configuration module configured to configure the coding information of the functional component according to the structured description information to obtain a target component
  • a compiling module is configured to compile the target component and the data to be loaded into executable programs for multiple application ends, respectively.
  • an application development device including:
  • a determining module configured to determine a functional component of an application program, the functional component having corresponding encoding information and logic implementation information;
  • a conversion module configured to convert the logic implementation information of the functional components into Json schema description information
  • a loading module configured to load the encoded information of the functional component to a parsing engine
  • a configuration module configured to configure encoding information of the functional component in the parsing engine according to the Json Schema description information to obtain a target component
  • a compiling module configured to compile the target component and the data to be loaded into executable programs for multiple application ends
  • the running module is configured to run the executable program in each application end.
  • the embodiments of the present application include the following advantages:
  • the coding information of the functional component can be configured to obtain the target component according to the above structured description information, and then After obtaining the data to be loaded, the above target components and the data to be loaded can be compiled into executable programs that can be run on different application ends for multiple different application ends.
  • the same set of code writing methods can be implemented on different application ends, and then the executable programs supported by different application ends can be constructed and translated without the need to separately develop for different application ends. The reuse of the application side improves the efficiency of application development and reduces the cost of application development.
  • FIG. 1 is a schematic flowchart of steps of an application development method according to an embodiment of the present application
  • FIG. 2 is a schematic flowchart of steps of another method for developing an application according to an embodiment of the present application
  • FIG. 3 is a schematic flowchart of steps of another application development method according to an embodiment of the present application.
  • FIG. 4 is a schematic diagram of an application program development method according to an embodiment of the present application.
  • FIG. 5 is a schematic structural block diagram of an application development device according to an embodiment of the present application.
  • FIG. 6 is a schematic structural block diagram of another application development device according to an embodiment of the present application.
  • FIG. 1 a schematic flowchart of steps of a method for developing an application according to an embodiment of the present application is shown, which may specifically include the following steps:
  • Step 101 Determine a functional component of the application, where the functional component has corresponding encoding information
  • the above application program may be a program or software applied to different application platforms or application ends.
  • the Web terminal, Html5 terminal, Native terminal, etc. are not limited in this embodiment.
  • each application program includes corresponding functions, and various functions are implemented through specific functional components. Therefore, when developing an application, the developer first needs to determine which functional components the currently developed application should have.
  • the coding information possessed by each functional component may be component code prepared by a developer according to a specific development mode after determining a corresponding functional component.
  • developers can use React Component to write the code of each functional component of the application.
  • React Component is an abstract base class that can be used by implementing a subclass of it and defining at least one render () method.
  • React Component allows developers to split UI (User Interface) into separate reusable parts and consider each part individually.
  • Step 102 Generate structured description information corresponding to the functional component
  • the structured description information may be a structured protocol.
  • the functional components of the application can be described or expressed through this protocol.
  • the structured description information may be Json Schema description information.
  • Json Schema is a document used to mark and verify the metadata of Json documents, which can be analogized to XML Schema.
  • Json schema is an instance of Json schema.
  • Json schema can solve problems related to consistency verification, such as:
  • Step 103 Configure the coding information of the functional component according to the structured description information to obtain a target component.
  • the configuration of the encoding information of the functional components through the structured description information may be implemented in a parsing engine.
  • the above parsing engine is a device that can parse the Json Schema protocol. Through the parsing engine, the Json document can be finally parsed into the code implementation of the application function.
  • a registration function can be provided first to register the code information of the functional components in the parsing engine.
  • engine.register ( ⁇ input: ComInput ⁇ ), where input is the type of the defined functional component and comInput is the specific functional component.
  • Step 104 Obtain data to be loaded
  • a functional component only has information such as styles, which is not enough. It also needs specific behaviors or data to support it. For example, a chart module needs to pull the data displayed in the icon; or, the chart module may also have some interactive behaviors, such as the need to respond when clicked, and so on. This requires specific data to support it.
  • the rules for configuring data in the Json schema, related custom logic, and so on may be determined first, and then the corresponding data is pulled according to the above rules or logic.
  • Step 105 compile the target component and the data to be loaded into executable programs for multiple applications.
  • a parsing engine may be used to parse the target component and the data to be loaded into executables on different application ends. Procedures to achieve the reuse of a set of business logic on multiple applications.
  • the coding information of the functional component can be configured to obtain the target component according to the above structured description information.
  • the target components and the data to be loaded can be compiled into executable programs that can be run on different application ends for multiple different application ends.
  • the same set of code writing methods can be implemented on different application ends, and then the executable programs supported by different application ends can be constructed and translated without the need to separately develop for different application ends. The reuse of the application side improves the efficiency of application development and reduces the cost of application development.
  • FIG. 2 a schematic flowchart of steps of another method for developing an application program according to an embodiment of the present application is shown, which may specifically include the following steps:
  • Step 201 Determine the functional components of the application, where the functional components have corresponding encoding information
  • the above application program may be a program or software applied to multiple application terminals.
  • Web For example, Web, Html5, Native, etc.
  • a developer may first determine which functional components the application program includes before developing the application program.
  • the application has various functions that can be implemented by various functional components.
  • the encoding information of each functional component of the application may be the code of the functional component written by the developer using React Component.
  • Step 202 Determine the logic implementation information of each functional component.
  • each functional component may refer to a specific functional implementation of the functional component, and the logical implementation is often embodied in the form of software programming.
  • Step 203 Convert the logic implementation information into structured description information.
  • the above-mentioned structured description information may be Json Schema description information
  • the Json Schema description information may be a Json Schema protocol
  • Step 204 Load the encoding information of the functional component into a parsing engine.
  • the configuration of the encoding information of the functional components through the structured description information may be implemented in a parsing engine.
  • the above parsing engine is a device that can analyze the Json schema protocol, such as React Engine (a React-based parsing engine). Through React Engine, the Json document can be finally parsed into the code implementation of the application function.
  • React Engine a React-based parsing engine
  • a preset registration function can be called first, and through this registration function, the encoding information of the functional component can be registered to the ReactEngine parsing engine.
  • Step 205 Render the encoding information of the functional component in the parsing engine according to the structured description information to obtain a target component.
  • only the functional components registered in the React Engine can complete the configuration in the Json Schema, and finally, the React Engine can parse and render the functional components to obtain the required target components.
  • the above code can be configured and rendered in the React Engine according to the Json Schema protocol to obtain the required target component.
  • Step 206 Determine a data configuration rule for each functional component
  • a functional component only has information such as styles, which is not enough. It also needs specific behaviors or data to support it. For example, a chart module needs to pull the data displayed in the icon; or, the chart module may also have some interactive behaviors, such as the need to respond when clicked, and so on. This requires specific data to support it.
  • the rules for configuring data in the Json Schema, related custom logic, and so on may be determined first.
  • Step 207 Acquire corresponding data to be loaded according to the data configuration rule
  • each formed target component can have specific behavior and data support.
  • Step 208 Determine a target application, where the target application has a corresponding compilation mode
  • the target application terminal may refer to an application terminal to be run by a currently developed application program.
  • the target application can be the Web, Html5, Native, and other types of applications.
  • Step 209 compile the target component and the data to be loaded into an executable program on the target application side according to the compilation mode
  • a set of codes can be compiled into executable programs that can be run on different application ends according to a compilation method corresponding to each application end through a construction manner, such as a babel script.
  • Babel is a compiler for writing the next generation of JavaScript. It compiles JavaScript code written in the latest standards down to a version that can be used today. This process is often referred to as "source-to-source” compilation, also known as conversion compilation.
  • the program can be matched to different application ends, and once developed, it can be reused on multiple application ends.
  • Step 210 Run the executable program in the target application.
  • the program can be run on the target application side, thereby completing application program development on multiple application sides.
  • the functional components of the application program can be updated or modified according to the actual needs of the subsequent use of the application program, and the functional components that have been online can be dynamically replaced.
  • Various content such as changing icons, fields, colors, and so on, to update the content of the application at any time.
  • each application terminal since each application terminal shares a piece of structured description information, when an application program needs to be updated and modified, it may first determine which functional component to be updated or modified, and then to the above-mentioned to-be-updated The structured description information corresponding to the modified or modified functional component is updated or modified to implement one-time modification and multi-terminal synchronization, and the application content is quickly updated.
  • FIG. 3 a schematic flowchart of steps of another method for developing an application according to an embodiment of the present application is shown, which may specifically include the following steps:
  • Step 301 Determine the functional components of the application, where the functional components have corresponding encoding information and logic implementation information;
  • Step 302 Convert the logic implementation information of the functional components into Json schema description information.
  • Step 303 Load the encoding information of the functional component into a parsing engine.
  • Step 304 Configure the encoding information of the functional component in the parsing engine according to the Json Schema description information to obtain a target component.
  • Step 305 Obtain data to be loaded
  • Step 306 compile the target component and the data to be loaded into executable programs for multiple application ends
  • Step 307 Run the executable program in each application terminal.
  • a developer when a developer develops an application program, it may first determine which application ends the application program is to run.
  • FIG. 4 it is a schematic diagram of an application program development method according to an embodiment of the present application.
  • the currently developed application may need to run on the Web side, Html5 side, and the Native side.
  • the above logical implementation information can be abstracted into a Json schema description, as shown in Figure 4, Component (Component), Layout (Layout), Data (Data), Rules (configuration rules) .
  • each functional component obtained by using React Component is loaded into the React Engine parsing engine capable of parsing Json Schema, and the React Engine is parsed, configured, and rendered to obtain the target component.
  • the target component can be compiled into an executable program corresponding to the application side for each application side and run on the application side.
  • a Web page web page
  • Html5APP Html5 application
  • a Native APP Native Application
  • this embodiment Since the steps in this embodiment are similar to steps 201 to 210 in the foregoing embodiment, and can be referred to each other, this embodiment is relatively simple to describe. For related processes, refer to the description of steps 201 to 210 in the foregoing embodiment. No longer.
  • FIG. 5 a schematic structural block diagram of an application development device according to an embodiment of the present application is shown, which may specifically include the following modules:
  • a determining module 501 configured to determine a functional component of an application program, where the functional component has corresponding coding information
  • a generating module 502 configured to generate structured description information corresponding to the functional component
  • a configuration module 503, configured to configure the coding information of the functional component according to the structured description information to obtain a target component
  • the compiling module 505 is configured to compile the target component and the data to be loaded into executable programs for multiple application ends, respectively.
  • the generating module 502 may specifically include the following sub-modules:
  • Logic implementation information determination sub-module for determining logic implementation information of each functional component
  • the logic implementation information conversion submodule is configured to convert the logic implementation information into structured description information.
  • the structured description information may be Json schema description information.
  • the configuration module 503 may specifically include the following sub-modules:
  • a coding information loading sub-module for loading coding information of the functional component to a parsing engine
  • the encoding information rendering submodule is configured to render the encoding information of the functional component in the parsing engine according to the structured description information to obtain a target component.
  • the encoding information loading submodule may specifically include the following units:
  • the encoding information registration unit is configured to register the encoding information of the functional component to an analysis engine through the registration function.
  • the obtaining module 504 may specifically include the following sub-modules:
  • Data configuration rule determination sub-module for determining data configuration rules of each functional component
  • the data to be loaded submodule is configured to obtain corresponding data to be loaded according to the data configuration rule.
  • the compilation module 505 may specifically include the following submodules:
  • An executable program compiling sub-module is configured to compile the target component and the data to be loaded into an executable program on the target application side according to the compilation mode.
  • the device may further include the following modules:
  • the running module is configured to run the executable program in the target application end.
  • the device may further include the following modules:
  • An update and modification module is used to update or modify a functional component of the application.
  • the update and modification module may specifically include the following submodules:
  • a functional component determination sub-module for determining a functional component to be updated or modified
  • the structured description information update and modification sub-module is used to update or modify the structured description information corresponding to the functional component to be updated or modified.
  • FIG. 6 there is shown a schematic structural block diagram of another application development device according to an embodiment of the present application, which may specifically include the following modules:
  • a determining module 601 configured to determine a functional component of an application program, where the functional component has corresponding coding information and logic implementation information;
  • a conversion module 602 configured to convert the logic implementation information of the functional components into Json schema description information
  • a configuration module 604 configured to configure encoding information of the functional component in the parsing engine according to the Json Schema description information to obtain a target component;
  • a compiling module 606, configured to compile the target component and the data to be loaded into executable programs for multiple application ends;
  • the running module 607 is configured to run the executable program in each application terminal.
  • the description is relatively simple. For the relevant part, refer to the description of the method embodiment.
  • the embodiments of the embodiments of the present application may be provided as a method, an apparatus, or a computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
  • the computer device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
  • Memory may include non-persistent memory, random access memory (RAM), and / or non-volatile memory in computer-readable media, such as read-only memory (ROM) or flash memory (flash RAM).
  • ROM read-only memory
  • flash RAM flash memory
  • Computer-readable media includes permanent and non-persistent, removable and non-removable media.
  • Information storage can be accomplished by any method or technology. Information may be computer-readable instructions, data structures, modules of a program, 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), and read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, read-only disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transmitting medium may be used to store information that can be accessed by a computing device.
  • computer-readable media does not include non-persistent computer-readable media, such as modulated data signals and carrier waves.
  • These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing terminal device Means are generated for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagrams.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to work in a specific manner, such that the instructions stored in the computer-readable memory produce a manufactured article including the instruction means, the The instruction means implements the functions specified in one or more flowcharts and / or one or more blocks of the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing terminal device, so that a series of operation steps can be performed on the computer or other programmable terminal device to produce a computer-implemented process, so that the computer or other programmable terminal device can
  • the instructions executed on the steps provide steps for implementing the functions specified in one or more of the flowcharts and / or one or more of the block diagrams.

Landscapes

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

Abstract

A method and apparatus for developing an application program. The method comprises: determining a functional component of an application program, the functional component having corresponding encoded information (101); generating structured description information corresponding to the functional component (102); configuring the encoded information of the functional component according to the structured description information to obtain a target component (103); acquiring data to be loaded (104); and for multiple application ends, respectively compiling the target component and said data into an executable program (105). According to the method, the same set of code writing methods can be used on different application ends and the code is then built and translated into executable programs supported by different application ends without it being necessary to separately conduct development for different application ends, realizing the reuse of a set of service logic on multiple application ends, improving the development efficiency of an application program and reducing the development cost of the application program.

Description

一种应用程序的开发方法和装置Method and device for developing application program

本申请要求2018年06月07日递交的申请号为201810580599.9、发明名称为“一种应用程序的开发方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority from a Chinese patent application filed on June 07, 2018 with an application number of 201810580599.9 and an invention name of "An Application Development Method and Device", the entire contents of which are incorporated herein by reference.

技术领域Technical field

本申请涉及计算机技术领域,特别是涉及一种应用程序的开发方法和一种应用程序的开发装置。The present application relates to the field of computer technology, and in particular, to a method for developing an application program and a device for developing an application program.

背景技术Background technique

React是一个用于构建用户界面的JavaScript(一种直译式脚本语言)库,其设计思想极其独特,性能也十分出众,然而代码逻辑却非常简单。于是有越来越多的开发人员开始关注和使用React,并通过React进行应用程序的开发。React is a JavaScript (literally interpreted scripting language) library for building user interfaces. Its design idea is extremely unique and its performance is very good. However, the code logic is very simple. As a result, more and more developers are beginning to pay attention to and use React, and develop application applications through React.

在基于React进行的应用程序的开发过程中,开发人员首先需要将业务需求拆分为具体步骤,然后按照各个步骤的顺序依次去实现、集成,直到最终完成整个应用程序的开发。在此过程中,开发形式往往是以串行方式,而非协议配置的形式来进行的。In the development process of applications based on React, developers first need to split the business requirements into specific steps, and then implement and integrate in accordance with the order of each step, until the entire application development is finally completed. In this process, the development form is often carried out in a serial manner, rather than a protocol configuration.

按照React此种开发方式,其最终产出的语法结构是类似XML(Extensible Markup Language,可扩展标记语言)结构,通过该结构进行应用程序的搭建,如果仅仅是应用在一个平台上,不会有特别的问题出现。但是,针对具体编程实现来完成的开发任务,很难做到将同一种业务模型和逻辑应用到其他不同的平台上,使得基于React开发完成的应用程序难以适配多个不同的平台。如果要将该应用程序应用在多个平台上,就需要针对各个平台分别进行开发,导致开发成本的急剧增加。According to this development method of React, the final grammatical structure of the output is similar to XML (Extensible Markup Language) structure. The application structure is built through this structure. Special problems arise. However, it is difficult to apply the same business model and logic to other different platforms for development tasks based on specific programming implementations, making it difficult for applications developed based on React to adapt to multiple different platforms. If the application is to be applied to multiple platforms, it needs to be developed separately for each platform, resulting in a sharp increase in development costs.

发明内容Summary of the Invention

鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序的开发方法和相应的一种应用程序的开发装置。In view of the above problems, embodiments of the present application are provided in order to provide an application program development method and a corresponding application program development device that overcome the above problems or at least partially solve the above problems.

为了解决上述问题,本申请公开了一种应用程序的开发方法,包括:In order to solve the above problems, this application discloses a method for developing an application program, including:

确定应用程序的功能组件,所述功能组件具有相应的编码信息;Determining the functional components of the application, the functional components having corresponding encoding information;

生成与所述功能组件相对应的结构化描述信息;Generating structured description information corresponding to the functional component;

依据所述结构化描述信息对所述功能组件的编码信息进行配置,以获得目标组件;Configuring the coding information of the functional component according to the structured description information to obtain a target component;

获取待加载的数据;Get the data to be loaded;

针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序。For multiple applications, compile the target component and the data to be loaded into executable programs.

可选地,所述生成与所述功能组件相对应的结构化描述信息的步骤包括:Optionally, the step of generating structured description information corresponding to the functional component includes:

确定各个功能组件的逻辑实现信息;Determine the logic implementation information of each functional component;

将所述逻辑实现信息转换为结构化描述信息。The logic implementation information is converted into structured description information.

可选地,所述结构化描述信息为Json Schema描述信息。Optionally, the structured description information is Json Schema description information.

可选地,所述依据所述结构化描述信息对所述功能组件的编码信息进行配置,以获得目标组件的步骤包括:Optionally, the step of configuring the coding information of the functional component according to the structured description information to obtain a target component includes:

加载所述功能组件的编码信息至解析引擎;Loading the encoding information of the functional component to a parsing engine;

按照所述结构化描述信息,在所述解析引擎中对所述功能组件的编码信息进行渲染,以获得目标组件。According to the structured description information, the encoding information of the functional component is rendered in the parsing engine to obtain a target component.

可选地,所述加载所述功能组件的编码信息至解析引擎的步骤包括:Optionally, the step of loading the encoded information of the functional component to a parsing engine includes:

调用预设的注册函数;Call a preset registration function;

通过所述注册函数,将所述功能组件的编码信息注册至解析引擎。Registering the encoding information of the functional component to the parsing engine through the registration function.

可选地,所述获取待加载的数据的步骤包括:Optionally, the step of obtaining data to be loaded includes:

确定各个功能组件的数据配置规则;Determine the data configuration rules for each functional component;

按照所述数据配置规则,获取相应的待加载数据。Obtain the corresponding data to be loaded according to the data configuration rule.

可选地,所述针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序的步骤包括:Optionally, the step of compiling the target component and the data to be loaded into an executable program for multiple application ends includes:

确定目标应用端,所述目标应用端具有对应的编译方式;Determining a target application, where the target application has a corresponding compilation mode;

按照所述编译方式,将所述目标组件和所述待加载的数据编译为所述目标应用端的可执行程序。Compile the target component and the data to be loaded into an executable program on the target application side according to the compilation mode.

可选地,还包括:Optionally, it further includes:

在所述目标应用端中运行所述可执行程序。Running the executable program in the target application side.

可选地,还包括:Optionally, it further includes:

对所述应用程序的功能组件进行更新或修改。Update or modify the functional components of the application.

可选地,所述对所述应用程序的功能组件进行更新或修改的步骤包括:Optionally, the step of updating or modifying the functional components of the application program includes:

确定待更新或修改的功能组件;Identify the functional components to be updated or modified;

对所述待更新或修改的功能组件对应的结构化描述信息进行更新或修改。Update or modify the structured description information corresponding to the functional component to be updated or modified.

为了解决上述问题,本申请公开了一种应用程序的开发方法,包括:In order to solve the above problems, this application discloses a method for developing an application program, including:

确定应用程序的功能组件,所述功能组件具有相应的编码信息和逻辑实现信息;Determining the functional components of the application, the functional components having corresponding encoding information and logic implementation information;

将所述功能组件的逻辑实现信息转换为Json Schema描述信息;Converting the logic implementation information of the functional components into Json Schema description information;

加载所述功能组件的编码信息至解析引擎;Loading the encoding information of the functional component to a parsing engine;

依据所述Json Schema描述信息,在所述解析引擎中对所述功能组件的编码信息进行配置,以获得目标组件;Configure the encoding information of the functional component in the parsing engine according to the JsonSchema description information to obtain a target component;

获取待加载的数据;Get the data to be loaded;

针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序;Compile the target component and the data to be loaded into executable programs for multiple applications;

分别在各个应用端中运行所述可执行程序。The executable programs are run in respective application ends.

为了解决上述问题,本申请公开了一种应用程序的开发装置,包括:In order to solve the above problems, this application discloses an application development device, including:

确定模块,用于确定应用程序的功能组件,所述功能组件具有相应的编码信息;A determining module, configured to determine a functional component of an application, where the functional component has corresponding coding information;

生成模块,用于生成与所述功能组件相对应的结构化描述信息;A generating module, configured to generate structured description information corresponding to the functional component;

配置模块,用于依据所述结构化描述信息对所述功能组件的编码信息进行配置,以获得目标组件;A configuration module, configured to configure the coding information of the functional component according to the structured description information to obtain a target component;

获取模块,用于获取待加载的数据;An acquisition module for acquiring data to be loaded;

编译模块,用于针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序。A compiling module is configured to compile the target component and the data to be loaded into executable programs for multiple application ends, respectively.

为了解决上述问题,本申请公开了一种应用程序的开发装置,包括:In order to solve the above problems, this application discloses an application development device, including:

确定模块,用于确定应用程序的功能组件,所述功能组件具有相应的编码信息和逻辑实现信息;A determining module, configured to determine a functional component of an application program, the functional component having corresponding encoding information and logic implementation information;

转换模块,用于将所述功能组件的逻辑实现信息转换为Json Schema描述信息;A conversion module, configured to convert the logic implementation information of the functional components into Json schema description information;

加载模块,用于加载所述功能组件的编码信息至解析引擎;A loading module, configured to load the encoded information of the functional component to a parsing engine;

配置模块,用于依据所述Json Schema描述信息,在所述解析引擎中对所述功能组件的编码信息进行配置,以获得目标组件;A configuration module, configured to configure encoding information of the functional component in the parsing engine according to the Json Schema description information to obtain a target component;

获取模块,用于获取待加载的数据;An acquisition module for acquiring data to be loaded;

编译模块,用于针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序;A compiling module, configured to compile the target component and the data to be loaded into executable programs for multiple application ends;

运行模块,用于分别在各个应用端中运行所述可执行程序。The running module is configured to run the executable program in each application end.

与背景技术相比,本申请实施例包括以下优点:Compared with the background art, the embodiments of the present application include the following advantages:

本申请实施例,通过确定应用程序的各个功能组件,并生成与各个功能组件相对应的结构化描述信息,从而可以依据上述结构化描述信息对功能组件的编码信息进行配置 获得目标组件,然后在获取待加载的数据后,可以针对多个不同的应用端,分别将上述目标组件和待加载的数据编译为能够在不同的应用端上运行的可执行程序。本实施例可以在不同的应用端使同一套代码编写方式,然后通过构建翻译成不同的应用端支持的可执行程序,无需针对不同的应用端分别进行开发,实现了一套业务逻辑的在多个应用端的复用,提高了应用程序的开发效率,降低了应用程序的开发成本。In the embodiment of the present application, by determining each functional component of the application and generating structured description information corresponding to each functional component, the coding information of the functional component can be configured to obtain the target component according to the above structured description information, and then After obtaining the data to be loaded, the above target components and the data to be loaded can be compiled into executable programs that can be run on different application ends for multiple different application ends. In this embodiment, the same set of code writing methods can be implemented on different application ends, and then the executable programs supported by different application ends can be constructed and translated without the need to separately develop for different application ends. The reuse of the application side improves the efficiency of application development and reduces the cost of application development.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1是本申请一个实施例的一种应用程序的开发方法的步骤流程示意图;FIG. 1 is a schematic flowchart of steps of an application development method according to an embodiment of the present application; FIG.

图2是本申请一个实施例的另一种应用程序的开发方法的步骤流程示意图;2 is a schematic flowchart of steps of another method for developing an application according to an embodiment of the present application;

图3是本申请一个实施例的又一种应用程序的开发方法的步骤流程示意图;FIG. 3 is a schematic flowchart of steps of another application development method according to an embodiment of the present application; FIG.

图4是本申请一个实施例的一种应用程序的开发方法的原理图;FIG. 4 is a schematic diagram of an application program development method according to an embodiment of the present application; FIG.

图5是本申请一个实施例的一种应用程序的开发装置的示意性结构框图;5 is a schematic structural block diagram of an application development device according to an embodiment of the present application;

图6是本申请一个实施例的另一种应用程序的开发装置的示意性结构框图。FIG. 6 is a schematic structural block diagram of another application development device according to an embodiment of the present application.

具体实施方式Detailed ways

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。In order to make the foregoing objects, features, and advantages of the present application more comprehensible, the present application is further described in detail below with reference to the accompanying drawings and specific embodiments.

参照图1,示出了本申请一个实施例的一种应用程序的开发方法的步骤流程示意图,具体可以包括如下步骤:Referring to FIG. 1, a schematic flowchart of steps of a method for developing an application according to an embodiment of the present application is shown, which may specifically include the following steps:

步骤101,确定应用程序的功能组件,所述功能组件具有相应的编码信息;Step 101: Determine a functional component of the application, where the functional component has corresponding encoding information;

需要说明的是,上述应用程序可以是应用于不同的应用平台或应用端的程序或软件。例如,Web端、Html5端、Native端等等,本实施例对此不作限定。It should be noted that the above application program may be a program or software applied to different application platforms or application ends. For example, the Web terminal, Html5 terminal, Native terminal, etc. are not limited in this embodiment.

通常,各个应用程序都包括有相应的功能,各种功能都是通过具体的功能组件来实现的。因此,在进行应用程序的开发时,开发人员首先需要确定当前开发的应用程序应当具有哪些功能组件。Generally, each application program includes corresponding functions, and various functions are implemented through specific functional components. Therefore, when developing an application, the developer first needs to determine which functional components the currently developed application should have.

在本申请实施例中,各个功能组件具有的编码信息可以是由开发人员在确定出相应的功能组件后按照特定的开发方式进行编写得到的组件代码。在具体实现中,开发人员可以使用React Component编写应用程序各个功能组件的代码。In the embodiment of the present application, the coding information possessed by each functional component may be component code prepared by a developer according to a specific development mode after determining a corresponding functional component. In the specific implementation, developers can use React Component to write the code of each functional component of the application.

React Component是一个抽象基类,通过实现一个它的子类,并且至少定义一个render()方法即可使用。React Component允许开发人员将UI(User Interface,用户界面) 拆分为独立的可重用的部分,并单独地去考虑每个部分。React Component is an abstract base class that can be used by implementing a subclass of it and defining at least one render () method. React Component allows developers to split UI (User Interface) into separate reusable parts and consider each part individually.

步骤102,生成与所述功能组件相对应的结构化描述信息;Step 102: Generate structured description information corresponding to the functional component;

在本申请实施例中,在开发人员进行应用程序的开发时,为了实现一次开发便能够最大限度地在多个不同的应用端上应用,可以在确定出应用程序的各个功能组件后,以一种结构化的描述信息去描述各个功能组件。In the embodiment of the present application, when a developer develops an application program, in order to achieve a single development, it can be applied to a plurality of different application terminals to the maximum extent. After determining each functional component of the application program, This kind of structured description information describes each functional component.

在本申请实施例中,结构化描述信息可以是一种结构化的协议。对于应用程序的功能组件,可以通过该协议去进行描述或表达。In the embodiment of the present application, the structured description information may be a structured protocol. The functional components of the application can be described or expressed through this protocol.

在具体实现中,上述结构化描述信息可以是Json Schema描述信息。In a specific implementation, the structured description information may be Json Schema description information.

熟悉XML的开发人员都知道,对XML文档的定义有一个XML Schema(模式)。同样,对于Json文件的定义,也应该有一个Json Schema来规范Json文件的内容。因此,Json Schema是一种用以标注和验证Json文档的元数据的文档,可以类比于XML Schema。相对于Json Schema,一个Json文档就是Json Schema的一个instance(实例)。Developers who are familiar with XML know that there is an XML Schema for the definition of XML documents. Similarly, for the definition of Json files, there should also be a Json schema to standardize the content of Json files. Therefore, Json Schema is a document used to mark and verify the metadata of Json documents, which can be analogized to XML Schema. Compared to Json schema, a Json document is an instance of Json schema.

Json Schema可以解决有关一致性验证的问题,例如:Json schema can solve problems related to consistency verification, such as:

1、值的数据类型是否正确:可以具体规定一个值是数字、字符串等类型;1. Whether the data type of the value is correct: you can specify that a value is a number, a string, etc .;

2、是否包含所需的数据:可以规定哪些数据是需要的,哪些是不需要的;2. Whether it contains the required data: it can be specified which data is needed and which is not needed;

3、值的形式是不是我需要的:可以指定范围、最小值和最大值。3. Is the value form what I need: you can specify the range, minimum, and maximum.

如下信息,是Json Schema描述的一种示例:The following information is an example described by Json Schema:

Figure PCTCN2019088258-appb-000001
Figure PCTCN2019088258-appb-000001

Figure PCTCN2019088258-appb-000002
Figure PCTCN2019088258-appb-000002

Figure PCTCN2019088258-appb-000003
Figure PCTCN2019088258-appb-000003

步骤103,依据所述结构化描述信息对所述功能组件的编码信息进行配置,以获得目标组件;Step 103: Configure the coding information of the functional component according to the structured description information to obtain a target component.

在本申请实施例中,通过结构化描述信息对功能组件的编码信息进行配置可以在解析引擎中实现。In the embodiment of the present application, the configuration of the encoding information of the functional components through the structured description information may be implemented in a parsing engine.

以结构化描述信息为Json Schema描述信息为例,上述解析引擎即是可以对Json Schema协议进行解析的一种装置。通过解析引擎,可以将Json文档最终解析为应用功能的代码实现。Taking the structured description information as Json Schema description information as an example, the above parsing engine is a device that can parse the Json Schema protocol. Through the parsing engine, the Json document can be finally parsed into the code implementation of the application function.

在具体实现中,可以首先提供一个注册函数,来把功能组件的代码信息注册到解析引擎中。In a specific implementation, a registration function can be provided first to register the code information of the functional components in the parsing engine.

例如,engine.register({input:ComInput}),其中input为定义的功能组件的类型(type),comInput为具体的功能组件。For example, engine.register ({input: ComInput}), where input is the type of the defined functional component and comInput is the specific functional component.

只有注册到解析引擎中的功能组件,才能在Json Schema中完成配置,并且最终通过解析引擎才能解析并渲染出该功能组件,从而得到需要的目标组件。Only the functional components registered in the parsing engine can complete the configuration in Json Schema, and finally the parsing engine can parse and render the functional components to obtain the required target components.

步骤104,获取待加载的数据;Step 104: Obtain data to be loaded;

通常,一个功能组件仅有样式等信息是不够的,还需要有具体的行为或者数据来支持。例如,一个图表模块,需要去拉取在该图标中进行显示的数据;或者,该图表模块可能还有一些交互行为,如点击的时候需要响应等等。这就需要具体的数据去支持。In general, a functional component only has information such as styles, which is not enough. It also needs specific behaviors or data to support it. For example, a chart module needs to pull the data displayed in the icon; or, the chart module may also have some interactive behaviors, such as the need to respond when clicked, and so on. This requires specific data to support it.

在本申请实施例中,在获取待加载的数据前,可以首先确定在Json Schema中配置数据的规则、相关的定制逻辑等等,然后按照上述规则或逻辑去拉取相应的数据。In the embodiment of the present application, before obtaining the data to be loaded, the rules for configuring data in the Json schema, related custom logic, and so on may be determined first, and then the corresponding data is pulled according to the above rules or logic.

步骤105,针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序。Step 105: compile the target component and the data to be loaded into executable programs for multiple applications.

在本申请实施例中,在完成前述各个步骤后,为了实现将待开发的应用程序应用在不同的应用端中,可以利用解析引擎,将目标组件和待加载的数据解析为不同应用端的可执行程序,从而实现一套业务逻辑在多个应用端的复用。In the embodiment of the present application, after completing the foregoing steps, in order to implement the application to be developed in different application ends, a parsing engine may be used to parse the target component and the data to be loaded into executables on different application ends. Procedures to achieve the reuse of a set of business logic on multiple applications.

在本申请实施例中,通过确定应用程序的各个功能组件,并生成与各个功能组件相 对应的结构化描述信息,从而可以依据上述结构化描述信息对功能组件的编码信息进行配置获得目标组件,然后在获取待加载的数据后,可以针对多个不同的应用端,分别将上述目标组件和待加载的数据编译为能够在不同的应用端上运行的可执行程序。本实施例可以在不同的应用端使同一套代码编写方式,然后通过构建翻译成不同的应用端支持的可执行程序,无需针对不同的应用端分别进行开发,实现了一套业务逻辑的在多个应用端的复用,提高了应用程序的开发效率,降低了应用程序的开发成本。In the embodiment of the present application, by determining each functional component of the application and generating structured description information corresponding to each functional component, the coding information of the functional component can be configured to obtain the target component according to the above structured description information. After obtaining the data to be loaded, the target components and the data to be loaded can be compiled into executable programs that can be run on different application ends for multiple different application ends. In this embodiment, the same set of code writing methods can be implemented on different application ends, and then the executable programs supported by different application ends can be constructed and translated without the need to separately develop for different application ends. The reuse of the application side improves the efficiency of application development and reduces the cost of application development.

参照图2,示出了本申请一个实施例的另一种应用程序的开发方法的步骤流程示意图,具体可以包括如下步骤:Referring to FIG. 2, a schematic flowchart of steps of another method for developing an application program according to an embodiment of the present application is shown, which may specifically include the following steps:

步骤201,确定应用程序的功能组件,所述功能组件具有相应的编码信息;Step 201: Determine the functional components of the application, where the functional components have corresponding encoding information;

需要说明的是,上述应用程序可以是应用于多个应用端的程序或软件。例如,Web端、Html5端、Native端等等。It should be noted that the above application program may be a program or software applied to multiple application terminals. For example, Web, Html5, Native, etc.

在本申请实施例中,开发人员在进行应用程序的开发前,可以首先确定该应用程序所具有的功能组件包括哪些。该应用程序具有的各种功能均可以通过各个功能组件来实现。In the embodiment of the present application, a developer may first determine which functional components the application program includes before developing the application program. The application has various functions that can be implemented by various functional components.

在本申请实施例中,应用程序各个功能组件的编码信息可以是由开发人员使用React Component编写得到的功能组件的代码。In the embodiment of the present application, the encoding information of each functional component of the application may be the code of the functional component written by the developer using React Component.

步骤202,确定各个功能组件的逻辑实现信息;Step 202: Determine the logic implementation information of each functional component.

在本申请实施例中,各个功能组件的逻辑实现信息可以是指该功能组件的具体功能实现,逻辑实现常常以软件编程的形式得以体现。In the embodiment of the present application, the logic implementation information of each functional component may refer to a specific functional implementation of the functional component, and the logical implementation is often embodied in the form of software programming.

步骤203,将所述逻辑实现信息转换为结构化描述信息;Step 203: Convert the logic implementation information into structured description information.

在本申请实施例中,上述结构化描述信息可以是Json Schema描述信息,Json Schema描述信息可以是一种Json Schema协议。In the embodiment of the present application, the above-mentioned structured description information may be Json Schema description information, and the Json Schema description information may be a Json Schema protocol.

为了实现一次开发便能够最大限度地在多个不同的应用端上应用,可以在确定出应用程序的各个功能组件的逻辑实现后,以一种Json Schema协议去描述各个功能组件。In order to realize a single development, it can be applied to a plurality of different application ends to the maximum extent. After determining the logical implementation of each functional component of the application, a Json Schema protocol is used to describe each functional component.

步骤204,加载所述功能组件的编码信息至解析引擎;Step 204: Load the encoding information of the functional component into a parsing engine.

在本申请实施例中,通过结构化描述信息对功能组件的编码信息进行配置可以在解析引擎中实现。In the embodiment of the present application, the configuration of the encoding information of the functional components through the structured description information may be implemented in a parsing engine.

例如,在结构化描述信息为Json Schema描述信息时,上述解析引擎即是可以对Json Schema协议进行解析的一种装置,如,React Engine(一种基于React的解析引擎)。通过React Engine,可以将Json文档最终解析为应用功能的代码实现。For example, when the structured description information is Json schema description information, the above parsing engine is a device that can analyze the Json schema protocol, such as React Engine (a React-based parsing engine). Through React Engine, the Json document can be finally parsed into the code implementation of the application function.

在具体实现中,可以首先调用预设的注册函数,通过该注册函数,可以将功能组件的编码信息注册至React Engine解析引擎。In a specific implementation, a preset registration function can be called first, and through this registration function, the encoding information of the functional component can be registered to the ReactEngine parsing engine.

步骤205,按照所述结构化描述信息,在所述解析引擎中对所述功能组件的编码信息进行渲染,以获得目标组件;Step 205: Render the encoding information of the functional component in the parsing engine according to the structured description information to obtain a target component.

在本申请实施例中,只有注册到React Engine中的功能组件,才能在Json Schema中完成配置,并且最终通过React Engine才能解析并渲染出该功能组件,从而得到需要的目标组件。In the embodiment of the present application, only the functional components registered in the React Engine can complete the configuration in the Json Schema, and finally, the React Engine can parse and render the functional components to obtain the required target components.

因此,在将功能组件的代码注册到React Engine后,可以按照Json Schema协议,在React Engine中对上述代码进行配置和渲染,得到所需的目标组件。Therefore, after the code of the functional component is registered to the React Engine, the above code can be configured and rendered in the React Engine according to the Json Schema protocol to obtain the required target component.

步骤206,确定各个功能组件的数据配置规则;Step 206: Determine a data configuration rule for each functional component;

通常,一个功能组件仅有样式等信息是不够的,还需要有具体的行为或者数据来支持。例如,一个图表模块,需要去拉取在该图标中进行显示的数据;或者,该图表模块可能还有一些交互行为,如点击的时候需要响应等等。这就需要具体的数据去支持。In general, a functional component only has information such as styles, which is not enough. It also needs specific behaviors or data to support it. For example, a chart module needs to pull the data displayed in the icon; or, the chart module may also have some interactive behaviors, such as the need to respond when clicked, and so on. This requires specific data to support it.

在本申请实施例中,在获取相应的数据前,可以首先确定在Json Schema中配置数据的规则、相关的定制逻辑等等。In the embodiment of the present application, before obtaining the corresponding data, the rules for configuring data in the Json Schema, related custom logic, and so on may be determined first.

步骤207,按照所述数据配置规则,获取相应的待加载数据;Step 207: Acquire corresponding data to be loaded according to the data configuration rule;

在确定出在Json Schema中配置数据的规则后,便可以按照这个规则去拉取相应的数据。这些数据即是在后续的开发过程中,需要用到的待加载数据,通过将这些数据加载至目标组件中,可以使得形成的各个目标组件具备了具体的行为和数据支撑。After determining the rules for configuring data in Json Schema, you can pull the corresponding data according to this rule. These data are the data to be loaded in the subsequent development process. By loading these data into the target components, each formed target component can have specific behavior and data support.

步骤208,确定目标应用端,所述目标应用端具有对应的编译方式;Step 208: Determine a target application, where the target application has a corresponding compilation mode;

在本申请实施例中,目标应用端可以是指当前开发的应用程序所要运行的应用端。例如,目标应用端可以是Web端、Html5端、Native端,以及,其他类型的应用端。In the embodiment of the present application, the target application terminal may refer to an application terminal to be run by a currently developed application program. For example, the target application can be the Web, Html5, Native, and other types of applications.

通常,不同的应用端具有不同的软件开发编译方式。因此,在确定出目标应用端后,可以进一步确定与该目标应用端相匹配的编译方式是什么,从而可以按照对应的编译方式将前述步骤获得的目标组件和待加载的数据编译为适配于该目标应用端的可执行程序。Generally, different applications have different software development and compilation methods. Therefore, after the target application is determined, it is possible to further determine what compilation method matches the target application, so that the target component and the data to be loaded obtained in the previous steps can be compiled to fit the The executable program on the target application side.

步骤209,按照所述编译方式,将所述目标组件和所述待加载的数据编译为所述目标应用端的可执行程序;Step 209: compile the target component and the data to be loaded into an executable program on the target application side according to the compilation mode;

在本申请实施例中,可以按照各个应用端对应的编译方式,通过构建方式,例如babel脚本,将一套代码编译成可以在不同应用端运行的可执行程序。In the embodiment of the present application, a set of codes can be compiled into executable programs that can be run on different application ends according to a compilation method corresponding to each application end through a construction manner, such as a babel script.

Babel是一种用于编写下一代JavaScript的编译器,能够把用最新标准编写的JavaScript代码向下编译成可以在今天随处可用的版本。这一过程通常被叫做“源码到源码”编译,也被称为转换编译。Babel is a compiler for writing the next generation of JavaScript. It compiles JavaScript code written in the latest standards down to a version that can be used today. This process is often referred to as "source-to-source" compilation, also known as conversion compilation.

通过上述编译过程,使得程序能够匹配不同的应用端,实现一次开发便能够在多个应用端上的复用。Through the above compilation process, the program can be matched to different application ends, and once developed, it can be reused on multiple application ends.

步骤210,在所述目标应用端中运行所述可执行程序。Step 210: Run the executable program in the target application.

在本申请实施例中,在将代码编译为对应目标应用端上的可执行程序后,便可以在该目标应用端上运行该程序,从而完成在多个应用端上的应用程序开发。In the embodiment of the present application, after the code is compiled into an executable program corresponding to the target application side, the program can be run on the target application side, thereby completing application program development on multiple application sides.

需要说明的是,在完成对应用程序的开发后,还可以根据应用程序在后续的使用过程中的实际需要,对应用程序的功能组件进行更新或修改,动态地替换掉已经上线的功能组件的各个内容,例如,如更改图标、字段、颜色等等,实现对应用程序的内容的随时更新。It should be noted that after the development of the application program is completed, the functional components of the application program can be updated or modified according to the actual needs of the subsequent use of the application program, and the functional components that have been online can be dynamically replaced. Various content, such as changing icons, fields, colors, and so on, to update the content of the application at any time.

在本申请实施例中,由于各个应用端共用一份结构化描述信息,因此在需要对应用程序进行更新后修改时,可以首先确定待更新或修改的功能组件是哪一个,然后对上述待更新或修改的功能组件对应的结构化描述信息进行更新或修改,实现一次修改多端同步,对应用程序内容快速更新。In the embodiment of the present application, since each application terminal shares a piece of structured description information, when an application program needs to be updated and modified, it may first determine which functional component to be updated or modified, and then to the above-mentioned to-be-updated The structured description information corresponding to the modified or modified functional component is updated or modified to implement one-time modification and multi-terminal synchronization, and the application content is quickly updated.

在本申请实施例中,通过将应用程序的设计抽象为Json Schema描述,这样PC端、Mobile端等各个不同的应用端都可以使用同一份Schema描述来生成功能组件;同时,整个应用程序都是Json数据格式的,每一次操作都是一份新的Json文档,所有过程都是可逆的;业务逻辑通过相应的配置规则实现,不会侵入功能组件内部,降低了组件的使用难度,无需针对不同的应用端分别进行开发,实现了一套业务逻辑的在多个应用端的复用,提高了应用程序的开发效率,降低了应用程序的开发成本。In the embodiment of the present application, by abstracting the design of the application as a Json schema description, different application ends such as the PC end and the mobile end can use the same Schema description to generate functional components; at the same time, the entire application is In the Json data format, each operation is a new Json document, and all processes are reversible; business logic is implemented through corresponding configuration rules, which will not intrude into functional components, reducing the difficulty of using the components, and eliminating the need to target different The application side of the application is developed separately, and a set of business logic is reused on multiple application sides, which improves the development efficiency of the application program and reduces the development cost of the application program.

参照图3,示出了本申请一个实施例的又一种应用程序的开发方法的步骤流程示意图,具体可以包括如下步骤:Referring to FIG. 3, a schematic flowchart of steps of another method for developing an application according to an embodiment of the present application is shown, which may specifically include the following steps:

步骤301,确定应用程序的功能组件,所述功能组件具有相应的编码信息和逻辑实现信息;Step 301: Determine the functional components of the application, where the functional components have corresponding encoding information and logic implementation information;

步骤302,将所述功能组件的逻辑实现信息转换为Json Schema描述信息;Step 302: Convert the logic implementation information of the functional components into Json schema description information.

步骤303,加载所述功能组件的编码信息至解析引擎;Step 303: Load the encoding information of the functional component into a parsing engine.

步骤304,依据所述Json Schema描述信息,在所述解析引擎中对所述功能组件的编码信息进行配置,以获得目标组件;Step 304: Configure the encoding information of the functional component in the parsing engine according to the Json Schema description information to obtain a target component.

步骤305,获取待加载的数据;Step 305: Obtain data to be loaded;

步骤306,针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序;Step 306: compile the target component and the data to be loaded into executable programs for multiple application ends;

步骤307,分别在各个应用端中运行所述可执行程序。Step 307: Run the executable program in each application terminal.

在本申请实施例中,开发人员在进行应用程序的开发时,可以首先确定该应用程序所要运行的应用端包括哪些。In the embodiment of the present application, when a developer develops an application program, it may first determine which application ends the application program is to run.

如图4所示,是本申请一个实施例的一种应用程序的开发方法的原理图。在图4中,当前开发的应用程序可以是需要运行于Web端、Html5端,以及,Native端中。As shown in FIG. 4, it is a schematic diagram of an application program development method according to an embodiment of the present application. In FIG. 4, the currently developed application may need to run on the Web side, Html5 side, and the Native side.

然后,可以进一步确定该应用程序所具有的功能组件包括哪些,以及各个功能组件的逻辑实现信息。通过这些功能组件能够实现该应用程序的完整功能。Then, you can further determine which functional components the application has, and the logic implementation information of each functional component. These functional components enable the full functionality of the application.

在确定出功能组件的逻辑实现信息后,可以将上述逻辑实现信息抽象为Json Schema描述,如图4中所示的Component(组件)、Layout(布局)、Data(数据)、Rules(配置规则)。After determining the logical implementation information of the functional components, the above logical implementation information can be abstracted into a Json schema description, as shown in Figure 4, Component (Component), Layout (Layout), Data (Data), Rules (configuration rules) .

进而,将通过使用React Component编写得到的各个功能组件的代码加载至能够解析Json Schema的React Engine解析引擎中,并在React Engine进行解析、配置和渲染,得到目标组件。Furthermore, the code of each functional component obtained by using React Component is loaded into the React Engine parsing engine capable of parsing Json Schema, and the React Engine is parsed, configured, and rendered to obtain the target component.

在获取到待加载的数据后,可以针对各个应用端,将目标组件编译为对应应用端的可执行程序,并在该应用端中进行运行。例如,在图4中,对应于Web端,可以编译得到适配于该Web端的Web Page(网页页面);对应于Html5端,可以编译得到适配于该Html5端的Html5APP(Html5应用程序);对应于Native端,可以编译得到适配于该Native端的Native APP(Native应用程序)。After obtaining the data to be loaded, the target component can be compiled into an executable program corresponding to the application side for each application side and run on the application side. For example, in FIG. 4, corresponding to the Web end, a Web page (web page) adapted to the Web end can be compiled; corresponding to the Html5 end, an Html5APP (Html5 application) adapted to the Html5 end can be compiled; corresponding On the Native side, a Native APP (Native Application) adapted to the Native side can be compiled and obtained.

由于本实施例中各个步骤与前述实施例步骤201-步骤210类似,可以相互参阅,本实施例对此描述得比较简单,相关过程可以参见上述步骤201-步骤210的描述,本实施例对此不再赘述。Since the steps in this embodiment are similar to steps 201 to 210 in the foregoing embodiment, and can be referred to each other, this embodiment is relatively simple to describe. For related processes, refer to the description of steps 201 to 210 in the foregoing embodiment. No longer.

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。It should be noted that, for the method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the embodiments of the present application are not limited by the described action sequence because According to the embodiment of the present application, some steps may be performed in other orders or simultaneously. Secondly, a person skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present application.

参照图5,示出了本申请一个实施例的一种应用程序的开发装置的示意性结构框图, 具体可以包括如下模块:Referring to FIG. 5, a schematic structural block diagram of an application development device according to an embodiment of the present application is shown, which may specifically include the following modules:

确定模块501,用于确定应用程序的功能组件,所述功能组件具有相应的编码信息;A determining module 501, configured to determine a functional component of an application program, where the functional component has corresponding coding information;

生成模块502,用于生成与所述功能组件相对应的结构化描述信息;A generating module 502, configured to generate structured description information corresponding to the functional component;

配置模块503,用于依据所述结构化描述信息对所述功能组件的编码信息进行配置,以获得目标组件;A configuration module 503, configured to configure the coding information of the functional component according to the structured description information to obtain a target component;

获取模块504,用于获取待加载的数据;An obtaining module 504, configured to obtain data to be loaded;

编译模块505,用于针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序。The compiling module 505 is configured to compile the target component and the data to be loaded into executable programs for multiple application ends, respectively.

在本申请实施例中,所述生成模块502具体可以包括如下子模块:In the embodiment of the present application, the generating module 502 may specifically include the following sub-modules:

逻辑实现信息确定子模块,用于确定各个功能组件的逻辑实现信息;Logic implementation information determination sub-module, for determining logic implementation information of each functional component;

逻辑实现信息转换子模块,用于将所述逻辑实现信息转换为结构化描述信息。The logic implementation information conversion submodule is configured to convert the logic implementation information into structured description information.

在本申请实施例中,所述结构化描述信息可以为Json Schema描述信息。In the embodiment of the present application, the structured description information may be Json schema description information.

在本申请实施例中,所述配置模块503具体可以包括如下子模块:In the embodiment of the present application, the configuration module 503 may specifically include the following sub-modules:

编码信息加载子模块,用于加载所述功能组件的编码信息至解析引擎;A coding information loading sub-module for loading coding information of the functional component to a parsing engine;

编码信息渲染子模块,用于按照所述结构化描述信息,在所述解析引擎中对所述功能组件的编码信息进行渲染,以获得目标组件。The encoding information rendering submodule is configured to render the encoding information of the functional component in the parsing engine according to the structured description information to obtain a target component.

在本申请实施例中,所述编码信息加载子模块具体可以包括如下单元:In the embodiment of the present application, the encoding information loading submodule may specifically include the following units:

注册函数调用单元,用于调用预设的注册函数;A registered function calling unit for calling a preset registered function;

编码信息注册单元,用于通过所述注册函数,将所述功能组件的编码信息注册至解析引擎。The encoding information registration unit is configured to register the encoding information of the functional component to an analysis engine through the registration function.

在本申请实施例中,所述获取模块504具体可以包括如下子模块:In the embodiment of the present application, the obtaining module 504 may specifically include the following sub-modules:

数据配置规则确定子模块,用于确定各个功能组件的数据配置规则;Data configuration rule determination sub-module, for determining data configuration rules of each functional component;

待加载数据获取子模块,用于按照所述数据配置规则,获取相应的待加载数据。The data to be loaded submodule is configured to obtain corresponding data to be loaded according to the data configuration rule.

在本申请实施例中,所述编译模块505具体可以包括如下子模块:In the embodiment of the present application, the compilation module 505 may specifically include the following submodules:

目标应用端确定子模块,用于确定目标应用端,所述目标应用端具有对应的编译方式;A target application end determining sub-module for determining a target application end, where the target application end has a corresponding compilation mode;

可执行程序编译子模块,用于按照所述编译方式,将所述目标组件和所述待加载的数据编译为所述目标应用端的可执行程序。An executable program compiling sub-module is configured to compile the target component and the data to be loaded into an executable program on the target application side according to the compilation mode.

在本申请实施例中,所述装置还可以包括如下模块:In the embodiment of the present application, the device may further include the following modules:

运行模块,用于在所述目标应用端中运行所述可执行程序。The running module is configured to run the executable program in the target application end.

在本申请实施例中,所述装置还可以包括如下模块:In the embodiment of the present application, the device may further include the following modules:

更新修改模块,用于对所述应用程序的功能组件进行更新或修改。An update and modification module is used to update or modify a functional component of the application.

在本申请实施例中,所述更新修改模块具体可以包括如下子模块:In the embodiment of the present application, the update and modification module may specifically include the following submodules:

功能组件确定子模块,用于确定待更新或修改的功能组件;A functional component determination sub-module for determining a functional component to be updated or modified;

结构化描述信息更新修改子模块,用于对所述待更新或修改的功能组件对应的结构化描述信息进行更新或修改。The structured description information update and modification sub-module is used to update or modify the structured description information corresponding to the functional component to be updated or modified.

参照图6,示出了本申请一个实施例的另一种应用程序的开发装置的示意性结构框图,具体可以包括如下模块:Referring to FIG. 6, there is shown a schematic structural block diagram of another application development device according to an embodiment of the present application, which may specifically include the following modules:

确定模块601,用于确定应用程序的功能组件,所述功能组件具有相应的编码信息和逻辑实现信息;A determining module 601, configured to determine a functional component of an application program, where the functional component has corresponding coding information and logic implementation information;

转换模块602,用于将所述功能组件的逻辑实现信息转换为Json Schema描述信息;A conversion module 602, configured to convert the logic implementation information of the functional components into Json schema description information;

加载模块603,用于加载所述功能组件的编码信息至解析引擎;A loading module 603, configured to load the encoded information of the functional component to a parsing engine;

配置模块604,用于依据所述Json Schema描述信息,在所述解析引擎中对所述功能组件的编码信息进行配置,以获得目标组件;A configuration module 604, configured to configure encoding information of the functional component in the parsing engine according to the Json Schema description information to obtain a target component;

获取模块605,用于获取待加载的数据;An obtaining module 605, configured to obtain data to be loaded;

编译模块606,用于针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序;A compiling module 606, configured to compile the target component and the data to be loaded into executable programs for multiple application ends;

运行模块607,用于分别在各个应用端中运行所述可执行程序。The running module 607 is configured to run the executable program in each application terminal.

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple. For the relevant part, refer to the description of the method embodiment.

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。Each embodiment in this specification is described in a progressive manner. Each embodiment focuses on the differences from other embodiments, and the same or similar parts between the various embodiments may refer to each other.

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art should understand that the embodiments of the embodiments of the present application may be provided as a method, an apparatus, or a computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存 是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。In a typical configuration, the computer device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory. Memory may include non-persistent memory, random access memory (RAM), and / or non-volatile memory in computer-readable media, such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium. Computer-readable media includes permanent and non-persistent, removable and non-removable media. Information storage can be accomplished by any method or technology. Information may be computer-readable instructions, data structures, modules of a program, 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), and read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, read-only disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transmitting medium may be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include non-persistent computer-readable media, such as modulated data signals and carrier waves.

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The embodiments of the present application are described with reference to flowcharts and / or block diagrams of the method, the terminal device (system), and the computer program product according to the embodiments of the present application. It should be understood that each process and / or block in the flowcharts and / or block diagrams, and combinations of processes and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing terminal device Means are generated for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagrams.

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to work in a specific manner, such that the instructions stored in the computer-readable memory produce a manufactured article including the instruction means, the The instruction means implements the functions specified in one or more flowcharts and / or one or more blocks of the block diagram.

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded on a computer or other programmable data processing terminal device, so that a series of operation steps can be performed on the computer or other programmable terminal device to produce a computer-implemented process, so that the computer or other programmable terminal device can The instructions executed on the steps provide steps for implementing the functions specified in one or more of the flowcharts and / or one or more of the block diagrams.

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。Although the preferred embodiments of the embodiments of the present application have been described, those skilled in the art can make other changes and modifications to these embodiments once they know the basic inventive concepts. Therefore, the appended claims are intended to be construed to include the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present application.

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何 其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。Finally, it should be noted that in this article, relational terms such as first and second are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply these entities. There is any such actual relationship or order between OR operations. Moreover, the terms "including", "comprising", or any other variation thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or terminal device that includes a series of elements includes not only those elements but also those that are not explicitly listed Other elements, or elements inherent to such a process, method, article, or terminal. Without more restrictions, the elements defined by the sentence "including a ..." do not exclude the existence of other identical elements in the process, method, article, or terminal device including the elements.

以上对本申请所提供的一种应用程序的开发方法和一种应用程序的开发装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。The application development method and the application development device provided by the present application have been described in detail above. The specific examples are used in this article to explain the principle and implementation of the present application. The description of the above embodiments It is only used to help understand the method of the application and its core ideas; at the same time, for those of ordinary skill in the art, according to the ideas of the application, there will be changes in the specific implementation and application scope. In summary, The contents of this description should not be construed as limiting the present application.

Claims (13)

一种应用程序的开发方法,其特征在于,包括:An application program development method is characterized in that it includes: 确定应用程序的功能组件,所述功能组件具有相应的编码信息;Determining the functional components of the application, the functional components having corresponding encoding information; 生成与所述功能组件相对应的结构化描述信息;Generating structured description information corresponding to the functional component; 依据所述结构化描述信息对所述功能组件的编码信息进行配置,以获得目标组件;Configuring the coding information of the functional component according to the structured description information to obtain a target component; 获取待加载的数据;Get the data to be loaded; 针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序。For multiple applications, compile the target component and the data to be loaded into executable programs. 根据权利要求1所述的方法,其特征在于,所述生成与所述功能组件相对应的结构化描述信息的步骤包括:The method according to claim 1, wherein the step of generating structured description information corresponding to the functional component comprises: 确定各个功能组件的逻辑实现信息;Determine the logic implementation information of each functional component; 将所述逻辑实现信息转换为结构化描述信息。The logic implementation information is converted into structured description information. 根据权利要求2所述的方法,其特征在于,所述结构化描述信息为Json Schema描述信息。The method according to claim 2, wherein the structured description information is JsonSchema description information. 根据权利要求1所述的方法,其特征在于,所述依据所述结构化描述信息对所述功能组件的编码信息进行配置,以获得目标组件的步骤包括:The method according to claim 1, wherein the step of configuring encoding information of the functional component according to the structured description information to obtain a target component comprises: 加载所述功能组件的编码信息至解析引擎;Loading the encoding information of the functional component to a parsing engine; 按照所述结构化描述信息,在所述解析引擎中对所述功能组件的编码信息进行渲染,以获得目标组件。According to the structured description information, the encoding information of the functional component is rendered in the parsing engine to obtain a target component. 根据权利要求4所述的方法,其特征在于,所述加载所述功能组件的编码信息至解析引擎的步骤包括:The method according to claim 4, wherein the step of loading the encoding information of the functional component to a parsing engine comprises: 调用预设的注册函数;Call a preset registration function; 通过所述注册函数,将所述功能组件的编码信息注册至解析引擎。Registering the encoding information of the functional component to the parsing engine through the registration function. 根据权利要求1所述的方法,其特征在于,所述获取待加载的数据的步骤包括:The method according to claim 1, wherein the step of obtaining data to be loaded comprises: 确定各个功能组件的数据配置规则;Determine the data configuration rules for each functional component; 按照所述数据配置规则,获取相应的待加载数据。Obtain the corresponding data to be loaded according to the data configuration rule. 根据权利要求1所述的方法,其特征在于,所述针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序的步骤包括:The method according to claim 1, wherein the step of compiling the target component and the data to be loaded into an executable program for a plurality of application ends includes: 确定目标应用端,所述目标应用端具有对应的编译方式;Determining a target application, where the target application has a corresponding compilation mode; 按照所述编译方式,将所述目标组件和所述待加载的数据编译为所述目标应用端的可执行程序。Compile the target component and the data to be loaded into an executable program on the target application side according to the compilation mode. 根据权利要求7所述的方法,其特征在于,还包括:The method according to claim 7, further comprising: 在所述目标应用端中运行所述可执行程序。Running the executable program in the target application side. 根据权利要求1所述的方法,其特征在于,还包括:The method according to claim 1, further comprising: 对所述应用程序的功能组件进行更新或修改。Update or modify the functional components of the application. 根据权利要求9所述的方法,其特征在于,所述对所述应用程序的功能组件进行更新或修改的步骤包括:The method according to claim 9, wherein the step of updating or modifying the functional components of the application program comprises: 确定待更新或修改的功能组件;Identify the functional components to be updated or modified; 对所述待更新或修改的功能组件对应的结构化描述信息进行更新或修改。Update or modify the structured description information corresponding to the functional component to be updated or modified. 一种应用程序的开发方法,其特征在于,包括:An application program development method is characterized in that it includes: 确定应用程序的功能组件,所述功能组件具有相应的编码信息和逻辑实现信息;Determining the functional components of the application, the functional components having corresponding encoding information and logic implementation information; 将所述功能组件的逻辑实现信息转换为Json Schema描述信息;Converting the logic implementation information of the functional components into Json Schema description information; 加载所述功能组件的编码信息至解析引擎;Loading the encoding information of the functional component to a parsing engine; 依据所述Json Schema描述信息,在所述解析引擎中对所述功能组件的编码信息进行配置,以获得目标组件;Configure the encoding information of the functional component in the parsing engine according to the JsonSchema description information to obtain a target component; 获取待加载的数据;Get the data to be loaded; 针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序;Compile the target component and the data to be loaded into executable programs for multiple applications; 分别在各个应用端中运行所述可执行程序。The executable programs are run in respective application ends. 一种应用程序的开发装置,其特征在于,包括:An application development device is characterized in that it includes: 确定模块,用于确定应用程序的功能组件,所述功能组件具有相应的编码信息;A determining module, configured to determine a functional component of an application, where the functional component has corresponding coding information; 生成模块,用于生成与所述功能组件相对应的结构化描述信息;A generating module, configured to generate structured description information corresponding to the functional component; 配置模块,用于依据所述结构化描述信息对所述功能组件的编码信息进行配置,以获得目标组件;A configuration module, configured to configure the coding information of the functional component according to the structured description information to obtain a target component; 获取模块,用于获取待加载的数据;An acquisition module for acquiring data to be loaded; 编译模块,用于针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序。A compiling module is configured to compile the target component and the data to be loaded into executable programs for multiple application ends, respectively. 一种应用程序的开发装置,其特征在于,包括:An application development device is characterized in that it includes: 确定模块,用于确定应用程序的功能组件,所述功能组件具有相应的编码信息和逻 辑实现信息;A determining module, configured to determine a functional component of an application program, where the functional component has corresponding coding information and logic implementation information; 转换模块,用于将所述功能组件的逻辑实现信息转换为Json Schema描述信息;A conversion module, configured to convert the logic implementation information of the functional components into Json schema description information; 加载模块,用于加载所述功能组件的编码信息至解析引擎;A loading module, configured to load the encoded information of the functional component to a parsing engine; 配置模块,用于依据所述Json Schema描述信息,在所述解析引擎中对所述功能组件的编码信息进行配置,以获得目标组件;A configuration module, configured to configure encoding information of the functional component in the parsing engine according to the Json Schema description information to obtain a target component; 获取模块,用于获取待加载的数据;An acquisition module for acquiring data to be loaded; 编译模块,用于针对多个应用端,分别将所述目标组件和所述待加载的数据编译为可执行程序;A compiling module, configured to compile the target component and the data to be loaded into executable programs for multiple application ends; 运行模块,用于分别在各个应用端中运行所述可执行程序。The running module is configured to run the executable program in each application end.
PCT/CN2019/088258 2018-06-07 2019-05-24 Method and apparatus for developing application program Ceased WO2019233293A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810580599.9A CN110580147B (en) 2018-06-07 2018-06-07 Application program development method and device
CN201810580599.9 2018-06-07

Publications (1)

Publication Number Publication Date
WO2019233293A1 true WO2019233293A1 (en) 2019-12-12

Family

ID=68769715

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/088258 Ceased WO2019233293A1 (en) 2018-06-07 2019-05-24 Method and apparatus for developing application program

Country Status (3)

Country Link
CN (1) CN110580147B (en)
TW (1) TW202001548A (en)
WO (1) WO2019233293A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339136A (en) * 2020-02-19 2020-06-26 中国建设银行股份有限公司 Data checking method and device, electronic equipment and storage medium
CN111880785A (en) * 2020-06-23 2020-11-03 北京三快在线科技有限公司 Program code conversion method and device and electronic equipment
CN112051985A (en) * 2020-07-23 2020-12-08 北京奇艺世纪科技有限公司 Event triggering method and device, electronic equipment and readable storage medium
CN112487163A (en) * 2020-11-30 2021-03-12 广州品唯软件有限公司 Execution method of automation process and acquisition method and device of interface data of automation process
CN114297146A (en) * 2021-12-23 2022-04-08 上海数禾信息科技有限公司 Application data processing method, device and device
CN114385163A (en) * 2020-10-22 2022-04-22 华为技术有限公司 Development method and terminal for application of MVVM (multifunction vehicle virtual machine) architecture
CN114995790A (en) * 2022-05-30 2022-09-02 蜂巢能源科技(无锡)有限公司 Component development method and device, computer readable medium and electronic equipment
CN116088855A (en) * 2023-02-15 2023-05-09 天翼云科技有限公司 Development method, development device, electronic device, and storage medium
CN118689473A (en) * 2024-08-27 2024-09-24 浙江口碑网络技术有限公司 Multi-terminal application development system, method, medium and equipment

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338608B (en) * 2020-02-28 2022-03-04 腾讯科技(深圳)有限公司 Distributed application development method and device, node equipment and readable storage medium
CN113360134B (en) * 2020-03-06 2022-06-17 武汉斗鱼网络科技有限公司 Method, device, equipment and storage medium for generating security verification program
CN111399810A (en) * 2020-03-11 2020-07-10 杭州涂鸦信息技术有限公司 iOS application program dynamic componentization development method, system and equipment thereof
CN113495727B (en) * 2020-04-07 2024-07-09 腾讯科技(深圳)有限公司 Business component development method, device, electronic equipment and medium
CN112799660A (en) * 2021-01-21 2021-05-14 三一重工股份有限公司 Application program generation method and device
US20240419438A1 (en) * 2021-03-30 2024-12-19 Boe Technology Group Co., Ltd. Program data package generation method, device and storage medium
CN113672224B (en) * 2021-08-20 2024-10-25 上海哔哩哔哩科技有限公司 Method and device for generating applet page code and computer equipment
CN113869016A (en) * 2021-09-28 2021-12-31 城云科技(中国)有限公司 Chart configuration method, device and computer program product
CN115080025A (en) * 2022-06-30 2022-09-20 平安银行股份有限公司 A visual component generation method, device and electronic device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775725A (en) * 2016-12-19 2017-05-31 网易(杭州)网络有限公司 A kind of visual configuration edit methods and device
US20170161121A1 (en) * 2014-09-17 2017-06-08 StrongLoop, Inc Codeless Generation of APIs
CN106951231A (en) * 2017-02-23 2017-07-14 微梦创科网络科技(中国)有限公司 A kind of computer software development approach and device
CN107908432A (en) * 2017-11-17 2018-04-13 深圳泉眼体育运营管理有限公司 Collocation method and device, the terminal device and readable storage medium storing program for executing of application program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426750C (en) * 2006-04-23 2008-10-15 华为技术有限公司 Method for generating two set of network administration systems
CN103246515B (en) * 2013-05-13 2016-11-02 广东飞企互联科技股份有限公司 A kind of visualization MVC function modeling control method
US9678723B2 (en) * 2014-08-20 2017-06-13 Verizon Patent And Licensing Inc. Application programming interface (API) engine
CN104714830B (en) * 2015-04-03 2018-03-30 普元信息技术股份有限公司 The system and method for cross-platform exploitation is realized based on primary development language
KR101787527B1 (en) * 2016-03-31 2017-10-24 주식회사 티맥스 소프트 Framework supporting apparatus for developing client application under multi-platform environment, and method using the same
US20170329505A1 (en) * 2016-05-13 2017-11-16 Sap Se Transferring parameters in applications and interfaces across multiple platforms
CN106873989A (en) * 2017-01-20 2017-06-20 北京奇虎科技有限公司 Application program building method and device
CN106990966A (en) * 2017-03-31 2017-07-28 中国科学技术大学苏州研究院 Mobile terminal cross-platform Development Framework and development approach based on front end frame
CN107193545B (en) * 2017-04-07 2020-07-10 广东省科技基础条件平台中心 Component-oriented multi-language collaborative development device, method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170161121A1 (en) * 2014-09-17 2017-06-08 StrongLoop, Inc Codeless Generation of APIs
CN106775725A (en) * 2016-12-19 2017-05-31 网易(杭州)网络有限公司 A kind of visual configuration edit methods and device
CN106951231A (en) * 2017-02-23 2017-07-14 微梦创科网络科技(中国)有限公司 A kind of computer software development approach and device
CN107908432A (en) * 2017-11-17 2018-04-13 深圳泉眼体育运营管理有限公司 Collocation method and device, the terminal device and readable storage medium storing program for executing of application program

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339136A (en) * 2020-02-19 2020-06-26 中国建设银行股份有限公司 Data checking method and device, electronic equipment and storage medium
CN111880785A (en) * 2020-06-23 2020-11-03 北京三快在线科技有限公司 Program code conversion method and device and electronic equipment
CN112051985A (en) * 2020-07-23 2020-12-08 北京奇艺世纪科技有限公司 Event triggering method and device, electronic equipment and readable storage medium
CN112051985B (en) * 2020-07-23 2023-07-25 北京奇艺世纪科技有限公司 Event triggering method, device, electronic equipment and readable storage medium
CN114385163A (en) * 2020-10-22 2022-04-22 华为技术有限公司 Development method and terminal for application of MVVM (multifunction vehicle virtual machine) architecture
CN112487163A (en) * 2020-11-30 2021-03-12 广州品唯软件有限公司 Execution method of automation process and acquisition method and device of interface data of automation process
CN112487163B (en) * 2020-11-30 2024-04-12 广州品唯软件有限公司 Method and device for executing automated process and obtaining interface data thereof
CN114297146A (en) * 2021-12-23 2022-04-08 上海数禾信息科技有限公司 Application data processing method, device and device
CN114995790A (en) * 2022-05-30 2022-09-02 蜂巢能源科技(无锡)有限公司 Component development method and device, computer readable medium and electronic equipment
CN116088855A (en) * 2023-02-15 2023-05-09 天翼云科技有限公司 Development method, development device, electronic device, and storage medium
CN118689473A (en) * 2024-08-27 2024-09-24 浙江口碑网络技术有限公司 Multi-terminal application development system, method, medium and equipment

Also Published As

Publication number Publication date
CN110580147A (en) 2019-12-17
CN110580147B (en) 2022-07-05
TW202001548A (en) 2020-01-01

Similar Documents

Publication Publication Date Title
WO2019233293A1 (en) Method and apparatus for developing application program
EP3008585B1 (en) Automatic source code generation
CN111399853A (en) Templated deployment method of machine learning model and custom operator
CN111813381A (en) Method, device, medium and electronic equipment for generating executable program in cross-platform mode
CN108920496B (en) Rendering method and device
WO2023035563A1 (en) Applet cross-application migration method, device, terminal, system and storage medium
TW201732647A (en) Webpage script loading method and device
WO2022166669A1 (en) Hook method and apparatus at compile time, device, and storage medium
US20140068559A1 (en) Annotation-based infrastructure for automatically generating "predictable" ids for visual components in a web-application
KR20140057547A (en) Runtime system
CN107908394A (en) A kind of data interchange format source code generation method and instrument
CN108595171B (en) Object model generation method, device, equipment and storage medium
CN110941655A (en) A data format conversion method and device
CN114153459A (en) Interface document generation method and device
CN110362792B (en) Method and device for converting RN file into applet file and conversion equipment
CN111857709A (en) Mapping method and device for React component and Flutter component, electronic equipment and storage medium
US9747085B2 (en) Source code generation from prototype source
US9697021B2 (en) Modifiable high-level intermediate representation of source code
CN114020358B (en) Interface rendering method and device based on iOS application
CN113971028B (en) Data processing method, apparatus, device, storage medium and computer program product
US9916315B2 (en) Computer implemented system and method for comparing at least two visual programming language files
HK40018689A (en) Method and apparatus for developing application program
CN114721713B (en) Annotation-based data processing method, computer device, and readable storage medium
CN110716746B (en) Method and device for converting RN style code into applet style code
CN110162307B (en) Method and device for converting JSON file into DLL file

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19815340

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19815340

Country of ref document: EP

Kind code of ref document: A1