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

Method and apparatus for developing application program Download PDF

Info

Publication number
TW202001548A
TW202001548A TW108108593A TW108108593A TW202001548A TW 202001548 A TW202001548 A TW 202001548A TW 108108593 A TW108108593 A TW 108108593A TW 108108593 A TW108108593 A TW 108108593A TW 202001548 A TW202001548 A TW 202001548A
Authority
TW
Taiwan
Prior art keywords
application
information
functional component
data
component
Prior art date
Application number
TW108108593A
Other languages
Chinese (zh)
Inventor
李帆
萬寧邦
張果
劉彥瑋
陳智浩
***
Original Assignee
香港商阿里巴巴集團服務有限公司
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 香港商阿里巴巴集團服務有限公司 filed Critical 香港商阿里巴巴集團服務有限公司
Publication of TW202001548A publication Critical patent/TW202001548A/en

Links

Images

Classifications

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

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; generating structured description information corresponding to the functional component; configuring the encoded information of the functional component according to the structured description information to obtain a target component; acquiring data to be loaded; and for multiple application ends, respectively compiling the target component and said data into an executable program. 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

應用程式的開發方法和裝置Application program development method and device

本申請涉及計算機技術領域,特別是涉及一種應用程式的開發方法和一種應用程式的開發裝置。This application relates to the field of computer technology, in particular to an application program development method and an application program development device.

React是一個用於構建用戶界面的JavaScript(一種直譯式腳本語言)庫,其設計思想極其獨特,性能也十分出眾,然而代碼邏輯卻非常簡單。於是有越來越多的開發人員開始關注和使用React,並透過React進行應用程式的開發。 在基於React進行的應用程式的開發過程中,開發人員首先需要將業務需求拆分為具體步驟,然後按照各個步驟的順序依次去實現、整合,直到最終完成整個應用程式的開發。在此過程中,開發形式往往是以串行方式,而非協定配置的形式來進行的。 按照React此種開發方式,其最終產出的語法結構是類似XML(Extensible Markup Language,可擴展標記語言)結構,透過該結構進行應用程式的搭建,如果僅僅是應用在一個平台上,不會有特別的問題出現。但是,針對具體編程實現來完成的開發任務,很難做到將同一種業務模型和邏輯應用到其他不同的平台上,使得基於React開發完成的應用程式難以適配多個不同的平台。如果要將該應用程式應用在多個平台上,就需要針對各個平台分別進行開發,導致開發成本的急劇增加。React is a JavaScript (a literal script language) library for building user interfaces. Its design philosophy is extremely unique and its performance is outstanding. However, the code logic is very simple. So more and more developers began to pay attention to and use React, and develop applications through React. In the application development process 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 development of the entire application is finally completed. In this process, the development form is often carried out in a serial manner rather than in the form of an agreement configuration. According to the development method of React, the final syntax structure is similar to XML (Extensible Markup Language, Extensible Markup Language) structure. Through this structure, the application is built. If it is only applied on a platform, there will be no Special problems arise. However, it is difficult to apply the same business model and logic to other different platforms for the development tasks completed by specific programming implementations, making it difficult to adapt the application programs developed based on React to multiple different platforms. If you want to apply the application on multiple platforms, you need to develop for each platform separately, resulting in a sharp increase in development costs.

鑒於上述問題,提出了本申請實施例以便提供一種克服上述問題或者至少部分地解決上述問題的一種應用程式的開發方法和相應的一種應用程式的開發裝置。 為了解決上述問題,本申請公開了一種應用程式的開發方法,包括: 確定應用程式的功能組件,所述功能組件具有相應的編碼資訊; 生成與所述功能組件相對應的結構化描述資訊; 依據所述結構化描述資訊對所述功能組件的編碼資訊進行配置,以獲得目標組件; 獲取待加載的資料; 針對多個應用端,分別將所述目標組件和所述待加載的資料編譯為可執行程式。 可選地,所述生成與所述功能組件相對應的結構化描述資訊的步驟包括: 確定各個功能組件的邏輯實現資訊; 將所述邏輯實現資訊轉換為結構化描述資訊。 可選地,所述結構化描述資訊為Json Schema描述資訊。 可選地,所述依據所述結構化描述資訊對所述功能組件的編碼資訊進行配置,以獲得目標組件的步驟包括: 加載所述功能組件的編碼資訊至解析引擎; 按照所述結構化描述資訊,在所述解析引擎中對所述功能組件的編碼資訊進行渲染,以獲得目標組件。 可選地,所述加載所述功能組件的編碼資訊至解析引擎的步驟包括: 呼叫預設的註冊函數; 透過所述註冊函數,將所述功能組件的編碼資訊註冊至解析引擎。 可選地,所述獲取待加載的資料的步驟包括: 確定各個功能組件的資料配置規則; 按照所述資料配置規則,獲取相應的待加載資料。 可選地,所述針對多個應用端,分別將所述目標組件和所述待加載的資料編譯為可執行程式的步驟包括: 確定目標應用端,所述目標應用端具有對應的編譯方式; 按照所述編譯方式,將所述目標組件和所述待加載的資料編譯為所述目標應用端的可執行程式。 可選地,還包括: 在所述目標應用端中運行所述可執行程式。 可選地,還包括: 對所述應用程式的功能組件進行更新或修改。 可選地,所述對所述應用程式的功能組件進行更新或修改的步驟包括: 確定待更新或修改的功能組件; 對所述待更新或修改的功能組件對應的結構化描述資訊進行更新或修改。 為了解決上述問題,本申請公開了一種應用程式的開發方法,包括: 確定應用程式的功能組件,所述功能組件具有相應的編碼資訊和邏輯實現資訊; 將所述功能組件的邏輯實現資訊轉換為Json Schema描述資訊; 加載所述功能組件的編碼資訊至解析引擎; 依據所述Json Schema描述資訊,在所述解析引擎中對所述功能組件的編碼資訊進行配置,以獲得目標組件; 獲取待加載的資料; 針對多個應用端,分別將所述目標組件和所述待加載的資料編譯為可執行程式; 分別在各個應用端中運行所述可執行程式。 為了解決上述問題,本申請公開了一種應用程式的開發裝置,包括: 確定模組,用於確定應用程式的功能組件,所述功能組件具有相應的編碼資訊; 生成模組,用於生成與所述功能組件相對應的結構化描述資訊; 配置模組,用於依據所述結構化描述資訊對所述功能組件的編碼資訊進行配置,以獲得目標組件; 獲取模組,用於獲取待加載的資料; 編譯模組,用於針對多個應用端,分別將所述目標組件和所述待加載的資料編譯為可執行程式。 為了解決上述問題,本申請公開了一種應用程式的開發裝置,包括: 確定模組,用於確定應用程式的功能組件,所述功能組件具有相應的編碼資訊和邏輯實現資訊; 轉換模組,用於將所述功能組件的邏輯實現資訊轉換為Json Schema描述資訊; 加載模組,用於加載所述功能組件的編碼資訊至解析引擎; 配置模組,用於依據所述Json Schema描述資訊,在所述解析引擎中對所述功能組件的編碼資訊進行配置,以獲得目標組件; 獲取模組,用於獲取待加載的資料; 編譯模組,用於針對多個應用端,分別將所述目標組件和所述待加載的資料編譯為可執行程式; 運行模組,用於分別在各個應用端中運行所述可執行程式。 與背景技術相比,本申請實施例包括以下優點: 本申請實施例,透過確定應用程式的各個功能組件,並生成與各個功能組件相對應的結構化描述資訊,從而可以依據上述結構化描述資訊對功能組件的編碼資訊進行配置獲得目標組件,然後在獲取待加載的資料後,可以針對多個不同的應用端,分別將上述目標組件和待加載的資料編譯為能夠在不同的應用端上運行的可執行程式。本實施例可以在不同的應用端使同一套代碼編寫方式,然後透過構建翻譯成不同的應用端支持的可執行程式,無需針對不同的應用端分別進行開發,實現了一套業務邏輯的在多個應用端的複用,提高了應用程式的開發效率,降低了應用程式的開發成本。In view of the above problems, the embodiments of the present application are proposed in order to provide an application development method and corresponding application 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 an application development method, including: Identify the functional components of the application, the functional components having corresponding coding information; Generate structured description information corresponding to the functional components; Configuring the coding information of the functional component according to the structured description information to obtain the target component; Obtain the data to be loaded; For multiple application ends, the target component and the data to be loaded are compiled into executable programs, respectively. Optionally, the step of generating structured description information corresponding to the functional component includes: Determine the logic implementation information of each functional component; Convert the logic implementation information into structured description information. Optionally, the structured description information is Json Schema description information. Optionally, the step of configuring the encoded information of the functional component according to the structured description information to obtain the target component includes: Load the encoded information of the functional component into the parsing engine; According to the structured description information, the encoded information of the functional component is rendered in the parsing engine to obtain the target component. Optionally, the step of loading the encoded information of the functional component into the parsing engine includes: Call the preset registration function; Through the registration function, the coding information of the functional component is registered to the parsing engine. Optionally, the step of obtaining the data to be loaded includes: Determine the data configuration rules of each functional component; Obtain the corresponding data to be loaded according to the data configuration rules. Optionally, the step of compiling the target component and the data to be loaded into executable programs for multiple application ends includes: Determine the target application side, the target application side has a corresponding compilation method; According to the compilation method, compile the target component and the data to be loaded into an executable program on the target application side. Optionally, it also includes: Run the executable program in the target application side. Optionally, it also 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 an application development method, including: Identify the functional components of the application, the functional components have corresponding coding information and logic implementation information; Convert the logic implementation information of the functional component into Json Schema description information; Load the encoded information of the functional component into the parsing engine; According to the Json Schema description information, configure the coding information of the functional component in the parsing engine to obtain the target component; Obtain the data to be loaded; For multiple applications, compile the target component and the data to be loaded into executable programs respectively; Run the executable program in each application separately. In order to solve the above problems, this application discloses an application development device, including: The determination module is used to determine the functional components of the application program, and the functional components have corresponding coding information; A generation module, used 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 the target component; Acquisition module, used to acquire the data to be loaded; The compilation module is used 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: The determination module is used to determine the functional components of the application program, and the functional components have corresponding coding information and logic implementation information; The conversion module is used to convert the logic realization information of the functional component into Json Schema description information; A loading module, used to load the coding information of the functional component to the parsing engine; A configuration module, configured to configure the encoded information of the functional component in the parsing engine according to the Json Schema description information to obtain the target component; Acquisition module, used to acquire the data to be loaded; Compilation module, which is used to compile the target component and the data to be loaded into executable programs for multiple applications; The running module is used to run the executable program in each application end. Compared with the background technology, 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 program and generating structured description information corresponding to each functional component, the encoded information of the functional component can be configured according to the above structured description information to obtain the target component, and then After obtaining the data to be loaded, the target component 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 can be written on different application ends, and then the executable program supported by the different application ends can be constructed, without developing separately for different application ends. The reuse of an application side improves the efficiency of application development and reduces the cost of application development.

為使本申請的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實施方式對本申請作進一步詳細的說明。 參照圖1,示出了本申請一個實施例的一種應用程式的開發方法的步驟流程示意圖,具體可以包括如下步驟: 步驟101,確定應用程式的功能組件,所述功能組件具有相應的編碼資訊; 需要說明的是,上述應用程式可以是應用於不同的應用平台或應用端的程式或軟體。例如,Web端、Html5端、Native端等等,本實施例對此不作限定。 通常,各個應用程式都包括有相應的功能,各種功能都是透過具體的功能組件來實現的。因此,在進行應用程式的開發時,開發人員首先需要確定當前開發的應用程式應當具有哪些功能組件。 在本申請實施例中,各個功能組件具有的編碼資訊可以是由開發人員在確定出相應的功能組件後按照特定的開發方式進行編寫得到的組件代碼。在具體實現中,開發人員可以使用React Component編寫應用程式各個功能組件的代碼。 React Component是一個抽象基類,透過實現一個它的子類,並且至少定義一個render()方法即可使用。React Component允許開發人員將UI(User Interface,用戶界面)拆分為獨立的可重用的部分,並單獨地去考慮每個部分。 步驟102,生成與所述功能組件相對應的結構化描述資訊; 在本申請實施例中,在開發人員進行應用程式的開發時,為了實現一次開發便能夠最大限度地在多個不同的應用端上應用,可以在確定出應用程式的各個功能組件後,以一種結構化的描述資訊去描述各個功能組件。 在本申請實施例中,結構化描述資訊可以是一種結構化的協定。對於應用程式的功能組件,可以透過該協定去進行描述或表達。 在具體實現中,上述結構化描述資訊可以是Json Schema描述資訊。 熟悉XML的開發人員都知道,對XML文檔的定義有一個XML Schema(模式)。同樣,對於Json文件的定義,也應該有一個Json Schema來規範Json文件的內容。因此,Json Schema是一種用以標注和驗證Json文檔的元資料的文檔,可以類比於XML Schema。相對於Json Schema,一個Json文檔就是Json Schema的一個instance(實例)。 Json Schema可以解決有關一致性驗證的問題,例如: 1、值的資料類型是否正確:可以具體規定一個值是數字、字符串等類型; 2、是否包含所需的資料:可以規定哪些資料是需要的,哪些是不需要的; 3、值的形式是不是我需要的:可以指定範圍、最小值和最大值。 如下資訊,是Json Schema描述的一種示例:

Figure 02_image001
Figure 02_image003
步驟103,依據所述結構化描述資訊對所述功能組件的編碼資訊進行配置,以獲得目標組件; 在本申請實施例中,透過結構化描述資訊對功能組件的編碼資訊進行配置可以在解析引擎中實現。 以結構化描述資訊為Json Schema描述資訊為例,上述解析引擎即是可以對Json Schema協定進行解析的一種裝置。透過解析引擎,可以將Json文檔最終解析為應用功能的代碼實現。 在具體實現中,可以首先提供一個註冊函數,來把功能組件的代碼資訊註冊到解析引擎中。 例如,engine.register({input: ComInput}),其中input為定義的功能組件的類型(type),comInput為具體的功能組件。 只有註冊到解析引擎中的功能組件,才能在Json Schema中完成配置,並且最終透過解析引擎才能解析並渲染出該功能組件,從而得到需要的目標組件。 步驟104,獲取待加載的資料; 通常,一個功能組件僅有樣式等資訊是不夠的,還需要有具體的行為或者資料來支持。例如,一個圖表模組,需要去拉取在該圖標中進行顯示的資料;或者,該圖表模組可能還有一些互動行為,如點擊的時候需要回應等等。這就需要具體的資料去支持。 在本申請實施例中,在獲取待加載的資料前,可以首先確定在Json Schema中配置資料的規則、相關的定制邏輯等等,然後按照上述規則或邏輯去拉取相應的資料。 步驟105,針對多個應用端,分別將所述目標組件和所述待加載的資料編譯為可執行程式。 在本申請實施例中,在完成前述各個步驟後,為了實現將待開發的應用程式應用在不同的應用端中,可以利用解析引擎,將目標組件和待加載的資料解析為不同應用端的可執行程式,從而實現一套業務邏輯在多個應用端的複用。 在本申請實施例中,透過確定應用程式的各個功能組件,並生成與各個功能組件相對應的結構化描述資訊,從而可以依據上述結構化描述資訊對功能組件的編碼資訊進行配置獲得目標組件,然後在獲取待加載的資料後,可以針對多個不同的應用端,分別將上述目標組件和待加載的資料編譯為能夠在不同的應用端上運行的可執行程式。本實施例可以在不同的應用端使同一套代碼編寫方式,然後透過構建翻譯成不同的應用端支持的可執行程式,無需針對不同的應用端分別進行開發,實現了一套業務邏輯的在多個應用端的複用,提高了應用程式的開發效率,降低了應用程式的開發成本。 參照圖2,示出了本申請一個實施例的另一種應用程式的開發方法的步驟流程示意圖,具體可以包括如下步驟: 步驟201,確定應用程式的功能組件,所述功能組件具有相應的編碼資訊; 需要說明的是,上述應用程式可以是應用於多個應用端的程式或軟體。例如,Web端、Html5端、Native端等等。 在本申請實施例中,開發人員在進行應用程式的開發前,可以首先確定該應用程式所具有的功能組件包括哪些。該應用程式具有的各種功能均可以透過各個功能組件來實現。 在本申請實施例中,應用程式各個功能組件的編碼資訊可以是由開發人員使用React Component編寫得到的功能組件的代碼。 步驟202,確定各個功能組件的邏輯實現資訊; 在本申請實施例中,各個功能組件的邏輯實現資訊可以是指該功能組件的具體功能實現,邏輯實現常常以軟體編程的形式得以體現。 步驟203,將所述邏輯實現資訊轉換為結構化描述資訊; 在本申請實施例中,上述結構化描述資訊可以是Json Schema描述資訊,Json Schema描述資訊可以是一種Json Schema協定。 為了實現一次開發便能夠最大限度地在多個不同的應用端上應用,可以在確定出應用程式的各個功能組件的邏輯實現後,以一種Json Schema協定去描述各個功能組件。 步驟204,加載所述功能組件的編碼資訊至解析引擎; 在本申請實施例中,透過結構化描述資訊對功能組件的編碼資訊進行配置可以在解析引擎中實現。 例如,在結構化描述資訊為Json Schema描述資訊時,上述解析引擎即是可以對Json Schema協定進行解析的一種裝置,如,React Engine(一種基於React的解析引擎)。透過React Engine,可以將Json文檔最終解析為應用功能的代碼實現。 在具體實現中,可以首先呼叫預設的註冊函數,透過該註冊函數,可以將功能組件的編碼資訊註冊至React Engine解析引擎。 步驟205,按照所述結構化描述資訊,在所述解析引擎中對所述功能組件的編碼資訊進行渲染,以獲得目標組件; 在本申請實施例中,只有註冊到React Engine中的功能組件,才能在Json Schema中完成配置,並且最終透過React Engine才能解析並渲染出該功能組件,從而得到需要的目標組件。 因此,在將功能組件的代碼註冊到React Engine後,可以按照Json Schema協定,在React Engine中對上述代碼進行配置和渲染,得到所需的目標組件。 步驟206,確定各個功能組件的資料配置規則; 通常,一個功能組件僅有樣式等資訊是不夠的,還需要有具體的行為或者資料來支持。例如,一個圖表模組,需要去拉取在該圖標中進行顯示的資料;或者,該圖表模組可能還有一些互動行為,如點擊的時候需要回應等等。這就需要具體的資料去支持。 在本申請實施例中,在獲取相應的資料前,可以首先確定在Json Schema中配置資料的規則、相關的定制邏輯等等。 步驟207,按照所述資料配置規則,獲取相應的待加載資料; 在確定出在Json Schema中配置資料的規則後,便可以按照這個規則去拉取相應的資料。這些資料即是在後續的開發過程中,需要用到的待加載資料,透過將這些資料加載至目標組件中,可以使得形成的各個目標組件具備了具體的行為和資料支撐。 步驟208,確定目標應用端,所述目標應用端具有對應的編譯方式; 在本申請實施例中,目標應用端可以是指當前開發的應用程式所要運行的應用端。例如,目標應用端可以是Web端、Html5端、Native端,以及,其他類型的應用端。 通常,不同的應用端具有不同的軟體開發編譯方式。因此,在確定出目標應用端後,可以進一步確定與該目標應用端相匹配的編譯方式是什麼,從而可以按照對應的編譯方式將前述步驟獲得的目標組件和待加載的資料編譯為適配於該目標應用端的可執行程式。 步驟209,按照所述編譯方式,將所述目標組件和所述待加載的資料編譯為所述目標應用端的可執行程式; 在本申請實施例中,可以按照各個應用端對應的編譯方式,透過構建方式,例如babel腳本,將一套代碼編譯成可以在不同應用端運行的可執行程式。 Babel 是一種用於編寫下一代JavaScript的編譯器,能夠把用最新標準編寫的JavaScript代碼向下編譯成可以在今天隨處可用的版本。這一過程通常被叫做“源碼到源碼”編譯,也被稱為轉換編譯。 透過上述編譯過程,使得程式能夠匹配不同的應用端,實現一次開發便能夠在多個應用端上的複用。 步驟210,在所述目標應用端中運行所述可執行程式。 在本申請實施例中,在將代碼編譯為對應目標應用端上的可執行程式後,便可以在該目標應用端上運行該程式,從而完成在多個應用端上的應用程式開發。 需要說明的是,在完成對應用程式的開發後,還可以根據應用程式在後續的使用過程中的實際需要,對應用程式的功能組件進行更新或修改,動態地替換掉已經上線的功能組件的各個內容,例如,如更改圖標、字段、顏色等等,實現對應用程式的內容的隨時更新。 在本申請實施例中,由於各個應用端共用一份結構化描述資訊,因此在需要對應用程式進行更新後修改時,可以首先確定待更新或修改的功能組件是哪一個,然後對上述待更新或修改的功能組件對應的結構化描述資訊進行更新或修改,實現一次修改多端同步,對應用程式內容快速更新。 在本申請實施例中,透過將應用程式的設計抽象為Json Schema描述,這樣PC端、Mobile端等各個不同的應用端都可以使用同一份Schema描述來生成功能組件;同時,整個應用程式都是Json資料格式的,每一次操作都是一份新的Json文檔,所有過程都是可逆的;業務邏輯透過相應的配置規則實現,不會侵入功能組件內部,降低了組件的使用難度,無需針對不同的應用端分別進行開發,實現了一套業務邏輯的在多個應用端的複用,提高了應用程式的開發效率,降低了應用程式的開發成本。 參照圖3,示出了本申請一個實施例的又一種應用程式的開發方法的步驟流程示意圖,具體可以包括如下步驟: 步驟301,確定應用程式的功能組件,所述功能組件具有相應的編碼資訊和邏輯實現資訊; 步驟302,將所述功能組件的邏輯實現資訊轉換為Json Schema描述資訊; 步驟303,加載所述功能組件的編碼資訊至解析引擎; 步驟304,依據所述Json Schema描述資訊,在所述解析引擎中對所述功能組件的編碼資訊進行配置,以獲得目標組件; 步驟305,獲取待加載的資料; 步驟306,針對多個應用端,分別將所述目標組件和所述待加載的資料編譯為可執行程式; 步驟307,分別在各個應用端中運行所述可執行程式。 在本申請實施例中,開發人員在進行應用程式的開發時,可以首先確定該應用程式所要運行的應用端包括哪些。 如圖4所示,是本申請一個實施例的一種應用程式的開發方法的原理圖。在圖4中,當前開發的應用程式可以是需要運行於Web端、Html5端,以及,Native端中。 然後,可以進一步確定該應用程式所具有的功能組件包括哪些,以及各個功能組件的邏輯實現資訊。透過這些功能組件能夠實現該應用程式的完整功能。 在確定出功能組件的邏輯實現資訊後,可以將上述邏輯實現資訊抽象為Json Schema描述,如圖4中所示的Component(組件)、Layout(佈局)、Data(資料)、Rules(配置規則)。 進而,將透過使用React Component編寫得到的各個功能組件的代碼加載至能夠解析Json Schema的React Engine解析引擎中,並在React Engine進行解析、配置和渲染,得到目標組件。 在獲取到待加載的資料後,可以針對各個應用端,將目標組件編譯為對應應用端的可執行程式,並在該應用端中進行運行。例如,在圖4中,對應於Web端,可以編譯得到適配於該Web端的Web Page(網頁頁面);對應於Html5端,可以編譯得到適配於該Html5端的Html5 APP(Html5應用程式);對應於Native端,可以編譯得到適配於該Native端的Native APP(Native應用程式)。 由於本實施例中各個步驟與前述實施例步驟201-步驟210類似,可以相互參閱,本實施例對此描述得比較簡單,相關過程可以參見上述步驟201-步驟210的描述,本實施例對此不再贅述。 需要說明的是,對於方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本申請實施例並不受所描述的動作順序的限制,因為依據本申請實施例,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作並不一定是本申請實施例所必須的。 參照圖5,示出了本申請一個實施例的一種應用程式的開發裝置的示意性結構框圖,具體可以包括如下模組: 確定模組501,用於確定應用程式的功能組件,所述功能組件具有相應的編碼資訊; 生成模組502,用於生成與所述功能組件相對應的結構化描述資訊; 配置模組503,用於依據所述結構化描述資訊對所述功能組件的編碼資訊進行配置,以獲得目標組件; 獲取模組504,用於獲取待加載的資料; 編譯模組505,用於針對多個應用端,分別將所述目標組件和所述待加載的資料編譯為可執行程式。 在本申請實施例中,所述生成模組502具體可以包括如下子模組: 邏輯實現資訊確定子模組,用於確定各個功能組件的邏輯實現資訊; 邏輯實現資訊轉換子模組,用於將所述邏輯實現資訊轉換為結構化描述資訊。 在本申請實施例中,所述結構化描述資訊可以為Json Schema描述資訊。 在本申請實施例中,所述配置模組503具體可以包括如下子模組: 編碼資訊加載子模組,用於加載所述功能組件的編碼資訊至解析引擎; 編碼資訊渲染子模組,用於按照所述結構化描述資訊,在所述解析引擎中對所述功能組件的編碼資訊進行渲染,以獲得目標組件。 在本申請實施例中,所述編碼資訊加載子模組具體可以包括如下單元: 註冊函數呼叫單元,用於呼叫預設的註冊函數; 編碼資訊註冊單元,用於透過所述註冊函數,將所述功能組件的編碼資訊註冊至解析引擎。 在本申請實施例中,所述獲取模組504具體可以包括如下子模組: 資料配置規則確定子模組,用於確定各個功能組件的資料配置規則; 待加載資料獲取子模組,用於按照所述資料配置規則,獲取相應的待加載資料。 在本申請實施例中,所述編譯模組505具體可以包括如下子模組: 目標應用端確定子模組,用於確定目標應用端,所述目標應用端具有對應的編譯方式; 可執行程式編譯子模組,用於按照所述編譯方式,將所述目標組件和所述待加載的資料編譯為所述目標應用端的可執行程式。 在本申請實施例中,所述裝置還可以包括如下模組: 運行模組,用於在所述目標應用端中運行所述可執行程式。 在本申請實施例中,所述裝置還可以包括如下模組: 更新修改模組,用於對所述應用程式的功能組件進行更新或修改。 在本申請實施例中,所述更新修改模組具體可以包括如下子模組: 功能組件確定子模組,用於確定待更新或修改的功能組件; 結構化描述資訊更新修改子模組,用於對所述待更新或修改的功能組件對應的結構化描述資訊進行更新或修改。 參照圖6,示出了本申請一個實施例的另一種應用程式的開發裝置的示意性結構框圖,具體可以包括如下模組: 確定模組601,用於確定應用程式的功能組件,所述功能組件具有相應的編碼資訊和邏輯實現資訊; 轉換模組602,用於將所述功能組件的邏輯實現資訊轉換為Json Schema描述資訊; 加載模組603,用於加載所述功能組件的編碼資訊至解析引擎; 配置模組604,用於依據所述Json Schema描述資訊,在所述解析引擎中對所述功能組件的編碼資訊進行配置,以獲得目標組件; 獲取模組605,用於獲取待加載的資料; 編譯模組606,用於針對多個應用端,分別將所述目標組件和所述待加載的資料編譯為可執行程式; 運行模組607,用於分別在各個應用端中運行所述可執行程式。 對於裝置實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。 本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。 本領域內的技術人員應明白,本申請實施例的實施例可提供為方法、裝置、或計算機程式產品。因此,本申請實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本申請實施例可採用在一個或多個其中包含有計算機可用程式代碼的計算機可用儲存媒體(包括但不限於磁碟儲存器、CD-ROM、光學儲存器等)上實施的計算機程式產品的形式。 在一個典型的配置中,所述計算機設備包括一個或多個處理器 (CPU)、輸入/輸出介面、網路介面和內存記憶體。內存記憶體可能包括計算機可讀媒體中的非永久性儲存器,隨機存取記憶體(RAM) 及/或非揮發性內存記憶體等形式,如唯讀記憶體(ROM)或閃存(flash RAM)。內存記憶體是計算機可讀媒體的示例。計算機可讀媒體包括永久性和非永久性、可移除和非可移除媒體可以由任何方法或技術來實現資訊儲存。資訊可以是計算機可讀指令、資料結構、程式的模組或其他資料。計算機的儲存媒體的例子包括,但不限於相變內存記憶體 (PRAM)、靜態隨機存取記憶體 (SRAM)、動態隨機存取記憶體 (DRAM)、其他類型的隨機存取記憶體 (RAM)、唯讀記憶體 (ROM)、電可擦除可編程唯讀記憶體 (EEPROM)、快閃記憶體或其他內存記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、卡式磁帶,磁帶磁磁碟儲存或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,計算機可讀媒體不包括非持續性的電腦可讀媒體(transitory media),如調變的資料信號和載波。 本申請實施例是參照根據本申請實施例的方法、終端設備(系統)、和計算機程式產品的流程圖及/或方框圖來描述的。應理解可由計算機程式指令實現流程圖及/或方框圖中的每一流程及/或方框、以及流程圖及/或方框圖中的流程及/或方框的結合。可提供這些計算機程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程資料處理終端設備的處理器以產生一個機器,使得透過計算機或其他可編程資料處理終端設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程及/或方框圖一個方框或多個方框中指定的功能的裝置。 這些計算機程式指令也可儲存在能引導計算機或其他可編程資料處理終端設備以特定方式工作的計算機可讀儲存器中,使得儲存在該計算機可讀儲存器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程及/或方框圖一個方框或多個方框中指定的功能。 這些計算機程式指令也可裝載到計算機或其他可編程資料處理終端設備上,使得在計算機或其他可編程終端設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程終端設備上執行的指令提供用於實現在流程圖一個流程或多個流程及/或方框圖一個方框或多個方框中指定的功能的步驟。 儘管已描述了本申請實施例的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,所附申請專利範圍意欲解釋為包括優選實施例以及落入本申請實施例範圍的所有變更和修改。 最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的相同要素。 以上對本申請所提供的一種應用程式的開發方法和一種應用程式的開發裝置,進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本申請的方法及其核心思想;同時,對於本領域的一般技術人員,依據本申請的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。In order to make the above objects, features and advantages of the present application more obvious and understandable, the present application will be described in further detail below with reference to the accompanying drawings and specific embodiments. Referring to FIG. 1, a schematic flowchart of steps of an application development method according to an embodiment of the present application is shown, which may specifically include the following steps: Step 101: Determine a functional component of an application, the functional component having corresponding coding information; It should be noted that the above application programs may be programs or software applied to different application platforms or application terminals. For example, Web side, HTML5 side, Native side, etc., this embodiment does not limit this. Generally, each application includes corresponding functions, and various functions are implemented through specific functional components. Therefore, when developing application programs, developers first need to determine which functional components the currently developed application programs should have. In the embodiment of the present application, the coding information possessed by each functional component may be a component code written by a developer according to a specific development method after determining the 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 is an abstract base class that can be used by implementing one of its subclasses and defining at least one render() method. React Component allows developers to split the UI (User Interface) into separate, reusable parts and consider each part individually. Step 102, generate structured description information corresponding to the functional component; in the embodiment of the present application, when developers develop application programs, in order to realize one development, they can maximize the number of different application terminals. On the application, after identifying each functional component of the application program, each functional component is described with a structured description information. In the embodiment of the present application, the structured description information may be a structured agreement. The functional components of the application can be described or expressed through the agreement. In a specific implementation, the above structured description information may be Json Schema description information. Developers 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 regulate the contents of Json files. Therefore, Json Schema is a document used to mark and verify the metadata of Json documents, which can be compared to XML Schema. Compared to Json Schema, a Json document is an instance of Json Schema. Json Schema can solve the problems related to consistency verification, such as: 1. Whether the value data type is correct: you can specify that a value is a number, string, etc.; 2. Whether it contains the required data: you can specify which data is needed Yes, which is not needed; 3. The form of the value is not what I need: you can specify the range, minimum and maximum values. The following information is an example of Json Schema description:
Figure 02_image001
Figure 02_image003
Step 103: Configure the coding information of the functional component according to the structured description information to obtain the target component; In the embodiment of the present application, the coding information of the functional component can be configured in the parsing engine through the structured description information Implemented in. 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, you can finally parse the Json document into the code of the application function. In the specific implementation, you can first provide a registration function to register the code information of the functional component to the parsing engine. For example, engine.register({input: ComInput}), where input is the type of the defined functional component and comInput is the specific functional component. Only the functional components registered in the parsing engine can be configured in Json Schema, and finally the functional component can be parsed and rendered through the parsing engine to obtain the required target components. Step 104: Obtain the data to be loaded. Generally, it is not enough for a functional component to have only the style and other information, but also requires specific behavior 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 responding when clicked. This requires specific information to support. In the embodiment of the present application, before obtaining the data to be loaded, the rules for configuring the data in the Json Schema, related custom logic, etc. may be determined first, and then the corresponding data may be 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 application ends, respectively. 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 of different application ends Program to achieve multiplexing of a set of business logic in 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 encoded information of the functional component can be configured according to the above structured description information to obtain the target component, Then, after obtaining the data to be loaded, the target component and the data to be loaded can be compiled into executable programs that can run on different application terminals for multiple different application terminals. In this embodiment, the same set of code can be written on different application ends, and then the executable program supported by the different application ends can be constructed, without developing separately for different application ends. The reuse of an application side improves the efficiency of application development and reduces the cost of application development. 2, a schematic flowchart of steps of another application development method according to an embodiment of the present application is shown, which may specifically include the following steps: Step 201: Determine a functional component of an application, the functional component having corresponding coding information ; It should be noted that the above application program may be a program or software applied to multiple application terminals. For example, Web side, Html5 side, Native side, etc. In the embodiment of the present application, before developing an application, the developer may first determine which functional components the application has. The various functions possessed by the application can be realized through various functional components. In the embodiment of the present application, the coding information of each functional component of the application program 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. In the embodiment of the present application, the logic implementation information of each functional component may refer to the specific function implementation of the functional component, and the logic implementation is often embodied in the form of software programming. Step 203: Convert the logic implementation information into structured description information. In the embodiment of the present application, the structured description information may be Json Schema description information, and the Json Schema description information may be a Json Schema protocol. In order to realize the maximum application on multiple different application ends in one development, after determining the logic implementation of each functional component of the application, each functional component is described by a Json Schema agreement. Step 204: Load the encoded information of the functional component to the parsing engine. In the embodiment of the present application, configuring the encoded information of the functional component through structured description information can be implemented in the parsing engine. For example, when the structured description information is Json Schema description information, the above parsing engine is a device that can parse the Json Schema protocol, such as React Engine (a React-based parsing engine). Through React Engine, Json documents can be finally parsed into code for application functions. In a specific implementation, the preset registration function can be called first, and through the registration function, the coding information of the functional component can be registered to the React Engine parsing engine. Step 205, according to the structured description information, rendering the encoded information of the functional component in the parsing engine to obtain the target component; in the embodiment of the present application, only the functional component registered in the React Engine, In order to complete the configuration in Json Schema, and finally through React Engine, the functional component can be parsed and rendered, so as to obtain the required target component. Therefore, after registering the code of the functional component to React Engine, you can configure and render the above code in React Engine according to the Json Schema agreement to obtain the desired target component. In step 206, the data configuration rules of each functional component are determined. Generally, it is not enough for a functional component to have only style and other information, but 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 responding when clicked. This requires specific information to support. In the embodiment of the present application, before obtaining the corresponding data, the rules for configuring the data in the Json Schema, related custom logic, etc. may be determined first. Step 207: Obtain the corresponding data to be loaded according to the data configuration rule; after determining the rule for configuring the data in the 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 target component formed can have specific behavior and data support. Step 208: Determine the target application terminal, which has a corresponding compilation method; in the embodiment of the present application, the target application terminal may refer to the application terminal to be run by the currently developed application program. For example, the target application terminal may be the Web terminal, HTML5 terminal, Native terminal, and other types of application terminals. Generally, different applications have different software development and compilation methods. Therefore, after the target application side is determined, it can be further determined what compilation method matches the target application side, so that the target component obtained in the previous step and the data to be loaded can be compiled to be adapted to the corresponding compilation method The executable program of the target application. Step 209, compile the target component and the data to be loaded into an executable program of the target application according to the compilation method; in the embodiment of the present application, according to the compilation method corresponding to each application, through Construction methods, such as babel scripts, compile a set of code into executable programs that can run on different applications. Babel is a compiler for writing next-generation JavaScript that can down-compile JavaScript code written with the latest standards into a version that can be used everywhere today. This process is commonly referred to as "source-to-source" compilation, also known as translation compilation. Through the above-mentioned compilation process, the program can be matched with different application terminals, and multiple applications on multiple application terminals can be realized in one development. Step 210: Run the executable program in the target application side. 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 the application development on multiple application sides. It should be noted that after the development of the application is completed, the functional components of the application can be updated or modified according to the actual needs of the application in the subsequent use process, and the functional components that have been online can be dynamically replaced. Various contents, for example, such as changing icons, fields, colors, etc., realize the updating of the contents of the application at any time. In the embodiment of the present application, since each application shares a structured description information, when an application needs to be updated and modified, you can first determine which functional component is to be updated or modified, and then update the above to be updated Or the structured description information corresponding to the modified functional component is updated or modified to realize multi-end synchronization at one time, and the content of the application is quickly updated. In the embodiment of the present application, by abstracting the design of the application into a Json Schema description, so that different applications such as the PC and Mobile can use the same Schema description to generate functional components; at the same time, the entire application is In Json data format, each operation is a new Json document, all processes are reversible; business logic is implemented through corresponding configuration rules, will not invade the inside of the functional component, reducing the difficulty of using the component, no need to target different The application terminals are developed separately, which realizes the reuse of a set of business logic in multiple applications, improves the efficiency of application development, and reduces the development cost of applications. Referring to FIG. 3, a schematic flowchart of steps of another application development method according to an embodiment of the present application is shown, which may specifically include the following steps: Step 301, determining a functional component of an application, the functional component having corresponding coding information And logic implementation information; Step 302, convert the logic implementation information of the functional component into Json Schema description information; Step 303, load the encoded information of the functional component into the parsing engine; Step 304, describe the information based on the Json Schema, Configure the encoded information of the functional component in the parsing engine to obtain the target component; Step 305, obtain the data to be loaded; Step 306, for multiple application ends, separate the target component and the target component The loaded data is compiled into an executable program; Step 307, the executable program is executed in each application side. In the embodiment of the present application, when developing an application program, the developer may first determine which application terminals the application program needs to run include. As shown in FIG. 4, it is a schematic diagram of an application 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 Native side. Then, you can further determine which functional components the application has, and the logic implementation information of each functional component. Through these functional components can achieve the full functionality of the application. After the logical implementation information of the functional component is determined, 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) . Furthermore, the code of each functional component prepared by using React Component is loaded into the React Engine parsing engine capable of parsing Json Schema, and parsing, configuration, and rendering are performed on the React Engine to obtain the target component. 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 in the application side. For example, in FIG. 4, corresponding to the Web side, a Web Page (web page) adapted to the Web side can be compiled; corresponding to the Html5 side, an Html5 APP (Html5 application) adapted to the Html5 side can be compiled; Corresponding to the Native side, a Native APP (Native application program) suitable for the Native side can be compiled and compiled. Since each step in this embodiment is similar to steps 201-210 of the previous embodiment, it can be referred to each other. This embodiment is relatively simple to describe this, and the related process can refer to the description of steps 201-210 above. No longer. It should be noted that, for simplicity of description, the method embodiments are described as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present application are not limited by the sequence of actions described because According to the embodiments of the present application, some steps may be performed in other orders or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the involved actions are not necessarily required by the embodiments of the present application. 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: a determination module 501, used to determine functional components of the application, the functions The component has corresponding coding information; the generating module 502 is used to generate structured description information corresponding to the functional component; the configuration module 503 is used to code the functional component according to the structured description information Configure to obtain the target component; the acquisition module 504 is used to obtain the data to be loaded; the compilation module 505 is used to compile the target component and the data to be loaded into available for multiple applications Run the program. In the embodiment of the present application, the generating module 502 may specifically include the following submodules: a logic implementation information determination submodule, used to determine the logic implementation information of each functional component; a logic implementation information conversion submodule, used to Convert the logic implementation information into structured description information. In the embodiment of the present application, the structured description information may be Json Schema description information. In the embodiment of the present application, the configuration module 503 may specifically include the following sub-modules: an encoding information loading sub-module, used to load the encoding information of the functional component to the parsing engine; an encoding information rendering sub-module, used In accordance with the structured description information, the encoded information of the functional component is rendered in the parsing engine to obtain the target component. In the embodiment of the present application, the encoding information loading sub-module may specifically include the following units: a registration function calling unit, used to call a preset registration function; an encoding information registration unit, used to register all functions through the registration function The coding information of the above functional components is registered to the parsing engine. In the embodiment of the present application, the acquisition module 504 may specifically include the following submodules: a data configuration rule determination submodule, used to determine the data configuration rules of each functional component; a data acquisition submodule to be loaded, used to Obtain the corresponding data to be loaded according to the data configuration rules. In the embodiment of the present application, the compiling module 505 may specifically include the following sub-modules: a target application-side determining sub-module, which is used to determine a target application-side, and the target application-side has a corresponding compilation mode; an executable program A compilation submodule is used to compile the target component and the data to be loaded into an executable program of the target application according to the compilation method. In the embodiment of the present application, the device may further include the following modules: a running module, configured to run the executable program in the target application side. In the embodiment of the present application, the device may further include the following modules: Update modification module, used to update or modify the functional components of the application program. In the embodiment of the present application, the update and modification module may specifically include the following submodules: a functional component determination submodule, used to determine the functional component to be updated or modified; a structured description information update and modification submodule, used In order to update or modify the structured description information corresponding to the functional component to be updated or modified. Referring to FIG. 6, a schematic structural block diagram of another application development device according to an embodiment of the present application is shown, which may specifically include the following modules: a determination module 601 for determining functional components of the application, the The functional component has corresponding coding information and logic implementation information; the conversion module 602 is used to convert the logical implementation information of the functional component into Json Schema description information; the loading module 603 is used to load the coding information of the functional component To the parsing engine; the configuration module 604 is used to describe the information according to the Json Schema, and configure the coding information of the functional component in the parsing engine to obtain the target component; the obtaining module 605 is used to obtain the pending Loaded data; Compilation module 606 is used to compile the target component and the data to be loaded into executable programs for multiple applications; Run module 607 is used to run in each application The executable program. For the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant part can be referred to the description of the method embodiment. The embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments, and the same or similar parts between the embodiments may refer to each other. Those skilled in the art should understand that the embodiments of the embodiments of the present application may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present application may employ computer program products 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 form. In a typical configuration, the computer device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory memories. Memory memory may include non-permanent storage in computer-readable media, random access memory (RAM) and/or non-volatile memory memory, such as read only memory (ROM) or flash memory (flash RAM) ). Memory memory is an example of computer-readable media. Computer-readable media, including permanent and non-permanent, removable and non-removable media, can store information by any method or technology. The information can be computer readable instructions, data structures, modules of programs, 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), and other types of random access memory (RAM ), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory memory technologies, read-only disc read-only memory (CD-ROM), multiple digits A functional optical disc (DVD) or other optical storage, cassette tape, magnetic tape magnetic disk storage or other magnetic storage device or any other non-transmission medium can be used to store information that can be accessed by a computing device. As defined in this article, computer-readable media does not include non-persistent computer-readable media (transitory media), such as modulated data signals and carrier waves. The embodiments of the present application are described with reference to the flowcharts and/or block diagrams of the method, terminal device (system), and computer program product according to the embodiments of the present application. It should be understood that each flow and/or block in the flowchart and/or block diagram and a combination of the flow and/or block in the flowchart and/or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to generate a machine so that the instructions executed by the processor of the computer or other programmable data processing terminal device Means for generating the functions specified in one block or multiple blocks of a flowchart or a flow and/or a block diagram. These computer program instructions can also be stored in a computer-readable storage that can guide a computer or other programmable data processing terminal device to work in a specific manner, so that the instructions stored in the computer-readable storage produce a manufactured product including an instruction device The instruction device implements the functions specified in one block or multiple blocks in one flow or multiple flows in the flowchart and/or one block in 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 are performed on the computer or other programmable terminal device to generate computer-implemented processing, so that the computer or other programmable terminal device The instructions executed above provide steps for implementing the functions specified in one flow or flow of the flowchart and/or one block or flow of the block diagram. Although the preferred embodiments of the embodiments of the present application have been described, those skilled in the art can make additional changes and modifications to these embodiments once they learn the basic inventive concept. Therefore, the scope of the attached patent application is intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the embodiments of the present application. Finally, it should also 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 Or there is any such actual relationship or order between operations. Moreover, the terms "include", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so 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 The other elements listed may also include elements inherent to such processes, methods, articles or terminal equipment. Without more restrictions, the element defined by the sentence "include one..." does not exclude that there are other identical elements in the process, method, article, or terminal device that includes the element. The above describes an application development method and an application development device provided in this application in detail, and specific examples are used in this article to explain the principles and implementation of this application. To help understand the method of this application and its core ideas; meanwhile, for those of ordinary skill in the art, according to the ideas of this application, there will be changes in the specific implementation and scope of application. In summary, this specification The content should not be interpreted as a limitation of this application.

501‧‧‧確定模組 502‧‧‧生成模組 503‧‧‧配置模組 504‧‧‧獲取模組 505‧‧‧編譯模組 601‧‧‧確定模組 602‧‧‧轉換模組 603‧‧‧加載模組 604‧‧‧配置模組 605‧‧‧獲取模組 606‧‧‧編譯模組 607‧‧‧運行模組501‧‧‧ Confirm module 502‧‧‧Generation module 503‧‧‧Configuration module 504‧‧‧ Get Module 505‧‧‧Compile module 601‧‧‧ Confirm module 602‧‧‧ Conversion module 603‧‧‧Load module 604‧‧‧Configuration module 605‧‧‧Get module 606‧‧‧Compile module 607‧‧‧ running module

圖1是本申請一個實施例的一種應用程式的開發方法的步驟流程示意圖; 圖2是本申請一個實施例的另一種應用程式的開發方法的步驟流程示意圖; 圖3是本申請一個實施例的又一種應用程式的開發方法的步驟流程示意圖; 圖4是本申請一個實施例的一種應用程式的開發方法的原理圖; 圖5是本申請一個實施例的一種應用程式的開發裝置的示意性結構框圖; 圖6是本申請一個實施例的另一種應用程式的開發裝置的示意性結構框圖。1 is a schematic flowchart of steps of an application development method according to an embodiment of the present application; 2 is a schematic flowchart of steps of another application development method according to an embodiment of the present application; 3 is a schematic flowchart of steps of another application development method according to an embodiment of the present application; 4 is a schematic diagram of an application development method according to an embodiment of the application; 5 is a schematic structural block diagram of an application development device according to an embodiment of the present application; 6 is a schematic structural block diagram of another application development device according to an embodiment of the present application.

Claims (13)

一種應用程式的開發方法,其特徵在於,包括: 確定應用程式的功能組件,該功能組件具有相應的編碼資訊; 生成與該功能組件相對應的結構化描述資訊; 依據該結構化描述資訊對該功能組件的編碼資訊進行配置,以獲得目標組件; 獲取待加載的資料; 針對多個應用端,分別將該目標組件和該待加載的資料編譯為可執行程式。An application development method is characterized by including: Identify the functional components of the application, which have corresponding coding information; Generate structured description information corresponding to the functional component; Configure the encoded information of the functional component according to the structured description information to obtain the target component; Obtain the data to be loaded; For multiple applications, the target component and the data to be loaded are compiled into executable programs. 根據申請專利範圍第1項所述的方法,其中,該生成與該功能組件相對應的結構化描述資訊的步驟包括: 確定各個功能組件的邏輯實現資訊; 將該邏輯實現資訊轉換為結構化描述資訊。The method according to item 1 of the patent application scope, wherein the step of generating structured description information corresponding to the functional component includes: Determine the logic implementation information of each functional component; Convert the logic implementation information into structured description information. 根據申請專利範圍第2項所述的方法,其中,該結構化描述資訊為Json Schema描述資訊。The method according to item 2 of the patent application scope, wherein the structured description information is Json Schema description information. 根據申請專利範圍第1項所述的方法,其中,所述依據該結構化描述資訊對該功能組件的編碼資訊進行配置,以獲得目標組件的步驟包括: 加載該功能組件的編碼資訊至解析引擎; 按照該結構化描述資訊,在該解析引擎中對該功能組件的編碼資訊進行渲染,以獲得目標組件。The method according to item 1 of the patent application scope, wherein the step of configuring the encoded information of the functional component according to the structured description information to obtain the target component includes: Load the encoded information of the functional component to the analysis engine; According to the structured description information, the encoded information of the functional component is rendered in the parsing engine to obtain the target component. 根據申請專利範圍第4項所述的方法,其中,所述加載該功能組件的編碼資訊至解析引擎的步驟包括: 呼叫預設的註冊函數; 透過該註冊函數,將該功能組件的編碼資訊註冊至解析引擎。The method according to item 4 of the patent application scope, wherein the step of loading the encoded information of the functional component into the parsing engine includes: Call the preset registration function; Through the registration function, the coding information of the functional component is registered to the parsing engine. 根據申請專利範圍第1項所述的方法,其中,所述獲取待加載的資料的步驟包括: 確定各個功能組件的資料配置規則; 按照該資料配置規則,獲取相應的待加載資料。The method according to item 1 of the patent application scope, wherein the step of obtaining the data to be loaded includes: Determine the data configuration rules of each functional component; Obtain the corresponding data to be loaded according to the data configuration rule. 根據申請專利範圍第1項所述的方法,其中,所述針對多個應用端,分別將該目標組件和該待加載的資料編譯為可執行程式的步驟包括: 確定目標應用端,該目標應用端具有對應的編譯方式; 按照該編譯方式,將該目標組件和該待加載的資料編譯為該目標應用端的可執行程式。The method according to item 1 of the patent application scope, wherein the steps of compiling the target component and the data to be loaded into executable programs for multiple application ends include: Determine the target application side, which has a corresponding compilation method; According to the compilation method, the target component and the data to be loaded are compiled into an executable program on the target application side. 根據申請專利範圍第7項所述的方法,其中,還包括: 在該目標應用端中運行該可執行程式。The method according to item 7 of the patent application scope, which also includes: Run the executable program in the target application. 根據申請專利範圍第1項所述的方法,其中,還包括: 對該應用程式的功能組件進行更新或修改。The method according to item 1 of the patent application scope, which further includes: Update or modify the functional components of the application. 根據申請專利範圍第9項所述的方法,其中,所述對該應用程式的功能組件進行更新或修改的步驟包括: 確定待更新或修改的功能組件; 對該待更新或修改的功能組件對應的結構化描述資訊進行更新或修改。The method according to item 9 of the patent application scope, wherein the steps of updating or modifying the functional components of the application include: 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. 一種應用程式的開發方法,其特徵在於,包括: 確定應用程式的功能組件,該功能組件具有相應的編碼資訊和邏輯實現資訊; 將該功能組件的邏輯實現資訊轉換為Json Schema描述資訊; 加載該功能組件的編碼資訊至解析引擎; 依據該Json Schema描述資訊,在該解析引擎中對該功能組件的編碼資訊進行配置,以獲得目標組件; 獲取待加載的資料; 針對多個應用端,分別將該目標組件和該待加載的資料編譯為可執行程式; 分別在各個應用端中運行該可執行程式。An application development method is characterized by including: Identify the functional components of the application, which have corresponding coding information and logic implementation information; Convert the logic implementation information of the functional component into Json Schema description information; Load the encoded information of the functional component to the analysis engine; According to the Json Schema description information, the coding information of the functional component is configured in the parsing engine to obtain the target component; Obtain the data to be loaded; For multiple applications, compile the target component and the data to be loaded into executable programs; Run the executable program in each application separately. 一種應用程式的開發裝置,其特徵在於,包括: 確定模組,用於確定應用程式的功能組件,該功能組件具有相應的編碼資訊; 生成模組,用於生成與該功能組件相對應的結構化描述資訊; 配置模組,用於依據該結構化描述資訊對該功能組件的編碼資訊進行配置,以獲得目標組件; 獲取模組,用於獲取待加載的資料; 編譯模組,用於針對多個應用端,分別將該目標組件和該待加載的資料編譯為可執行程式。An application development device is characterized by including: The determination module is used to determine the functional component of the application program, and the functional component has corresponding coding information; Generating module, used to generate structured description information corresponding to the functional component; The configuration module is used to configure the coding information of the functional component according to the structured description information to obtain the target component; Acquisition module, used to acquire the data to be loaded; The compilation module is used to compile the target component and the data to be loaded into executable programs for multiple application ends. 一種應用程式的開發裝置,其特徵在於,包括: 確定模組,用於確定應用程式的功能組件,該功能組件具有相應的編碼資訊和邏輯實現資訊; 轉換模組,用於將該功能組件的邏輯實現資訊轉換為Json Schema描述資訊; 加載模組,用於加載該功能組件的編碼資訊至解析引擎; 配置模組,用於依據該Json Schema描述資訊,在該解析引擎中對該功能組件的編碼資訊進行配置,以獲得目標組件; 獲取模組,用於獲取待加載的資料; 編譯模組,用於針對多個應用端,分別將該目標組件和該待加載的資料編譯為可執行程式; 運行模組,用於分別在各個應用端中運行該可執行程式。An application development device is characterized by including: The determination module is used to determine the functional component of the application program, which has corresponding coding information and logic implementation information; Conversion module, used to convert the logic realization information of the functional component into Json Schema description information; Loading module, used to load the coding information of the functional component to the parsing engine; The configuration module is used to describe the information according to the Json Schema and configure the encoded information of the functional component in the parsing engine to obtain the target component; Acquisition module, used to acquire the data to be loaded; The compilation module is used to compile the target component and the data to be loaded into executable programs for multiple applications; The running module is used to run the executable program in each application side.
TW108108593A 2018-06-07 2019-03-14 Method and apparatus for developing application program TW202001548A (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
TW202001548A true TW202001548A (en) 2020-01-01

Family

ID=68769715

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108108593A TW202001548A (en) 2018-06-07 2019-03-14 Method and apparatus for developing application program

Country Status (3)

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

Families Citing this family (12)

* 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
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
CN113495727A (en) * 2020-04-07 2021-10-12 腾讯科技(深圳)有限公司 Business component development method and device, electronic equipment and medium
CN111880785A (en) * 2020-06-23 2020-11-03 北京三快在线科技有限公司 Program code conversion method and device and electronic equipment
CN112051985B (en) * 2020-07-23 2023-07-25 北京奇艺世纪科技有限公司 Event triggering method, device, electronic equipment and readable storage medium
CN112487163B (en) * 2020-11-30 2024-04-12 广州品唯软件有限公司 Execution method of automatic flow and method and device for acquiring interface data of execution method
CN115485657A (en) * 2021-03-30 2022-12-16 京东方科技集团股份有限公司 Program data packet generation method, device, equipment and storage medium
CN113672224A (en) * 2021-08-20 2021-11-19 上海哔哩哔哩科技有限公司 Method and device for generating small program page code and computer equipment
CN113869016A (en) * 2021-09-28 2021-12-31 城云科技(中国)有限公司 Chart configuration method, device and computer program product
CN116088855B (en) * 2023-02-15 2023-06-23 天翼云科技有限公司 Development method, development device, electronic device, and storage medium

Family Cites Families (13)

* 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
US9875121B2 (en) * 2014-09-17 2018-01-23 International Business Machines Corporation API server
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
CN106775725B (en) * 2016-12-19 2020-12-01 网易(杭州)网络有限公司 Visual configuration editing method and device
CN106873989A (en) * 2017-01-20 2017-06-20 北京奇虎科技有限公司 Application program building method and device
CN106951231B (en) * 2017-02-23 2021-02-26 微梦创科网络科技(中国)有限公司 Computer software development 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
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

Also Published As

Publication number Publication date
WO2019233293A1 (en) 2019-12-12
CN110580147B (en) 2022-07-05
CN110580147A (en) 2019-12-17

Similar Documents

Publication Publication Date Title
TW202001548A (en) Method and apparatus for developing application program
CN109597661B (en) Service function configuration method and device
EP3433732B1 (en) Converting visual diagrams into code
US9465590B2 (en) Code generation framework for application program interface for model
TWI556170B (en) Projecting native application programming interfaces of an operating system into other programming languages (2)
US8997070B2 (en) Extension mechanism for scripting language compiler
US9471282B2 (en) System and method for using annotations to automatically generate a framework for a custom javaserver faces (JSF) component
US8856732B2 (en) System and method for creating, managing, and reusing schema type definitions in services oriented architecture services, grouped in the form of libraries
KR101795844B1 (en) Runtime system
US9460198B1 (en) Process for serializing and deserializing data described by a schema
US20150242194A1 (en) System for Translating Diverse Programming Languages
CN106951231B (en) Computer software development method and device
CN108920496B (en) Rendering method and device
US10579745B2 (en) Model driven computational platform for integrated design of products, materials and manufacturing processes
JP2014525622A (en) Description of the operating system's native application programming interface using metadata
CN108170430B (en) Interface display method and system
CN105867886B (en) Method and device for writing table
CN112818176B (en) Data processing method, device, equipment and storage medium
Daniel et al. Model-driven software development
US9747085B2 (en) Source code generation from prototype source
US11461217B2 (en) Transferring data from a source complex variable to a target complex variable
JP2011514596A (en) Efficiently correlate nominally incompatible types
US8949774B2 (en) Generated object model for test automation
CN111651160A (en) Method and device for plug-in construction and webpage design
CN110716746B (en) Method and device for converting RN style code into applet style code