WO2018177260A1 - 一种应用程序开发方法及其工具、设备、存储介质 - Google Patents
一种应用程序开发方法及其工具、设备、存储介质 Download PDFInfo
- Publication number
- WO2018177260A1 WO2018177260A1 PCT/CN2018/080564 CN2018080564W WO2018177260A1 WO 2018177260 A1 WO2018177260 A1 WO 2018177260A1 CN 2018080564 W CN2018080564 W CN 2018080564W WO 2018177260 A1 WO2018177260 A1 WO 2018177260A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code
- page
- application
- category
- input file
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/423—Preprocessors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
- G06F8/4436—Exlining; Procedural abstraction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
- G06F8/4443—Inlining
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
Definitions
- the present invention relates to mobile application technologies, and in particular, to an application development method, a tool, a device, and a storage medium.
- MA Mobile Application
- terminals such as mobile phones and tablet computers
- instant messaging applications such as instant messaging applications, entertainment applications, news applications, game applications, Financial applications, puzzle applications, learning applications, payment applications, search applications, and lifestyle applications.
- a user wants to enjoy a certain service, such as paying a merchant, then the user first needs to install an application with a payment function, and then open the application to enjoy the service. This way of installing the service is not suitable for fast and convenient. And shared life philosophy.
- the applet is an application that can be used without downloading and installing. It realizes the dream of the application being within reach, and the user can scan the application or open a search. Since the applet itself does not need to be installed and uninstalled, the small program also embodies the concept of “run out and go”, and the user does not have to care about whether to install too many applications. The emergence of applets makes applications ubiquitous and ready to use, but no installation or uninstallation is required.
- the applet has become hot, but the development of the applet is still in a file (such as scripting language (js, JavaScript) file and JavaScript object representation (json) required for manually writing small programs. , Java Script Object Notation), so the development of small programs is very time consuming and laborious.
- a file such as scripting language (js, JavaScript) file and JavaScript object representation (json) required for manually writing small programs.
- js scripting language
- JavaScript JavaScript object representation
- the embodiment of the present invention provides an application (such as a small program) development method and a tool, device, and storage medium thereof to solve at least one problem existing in the prior art.
- An embodiment of the present invention provides an application development method, where the method includes:
- the description file of the category code of each part is subjected to plug-in processing to obtain the application.
- An embodiment of the present invention provides an application development tool, where the tool includes an acquisition part, a disassembly part, a compilation part, and a processing part, where:
- the obtaining part is configured to acquire an input file of a predetermined format, where the input file includes a content code configured to form each part of the application;
- the disassembling portion is configured to disassemble the content code of each part of the input file into different category codes according to a corresponding preset category;
- the compiling part is configured to invoke a corresponding compiler to compile the category code according to an attribute of each of the category codes, and correspondingly obtain a description file of each of the category codes;
- the processing part is configured to perform a plug-in processing on a description file of the category code of each part to obtain the application.
- An embodiment of the present invention provides an application development device, where the device includes a storage medium and a processor, where:
- a storage medium configured to store computer executable instructions
- a processor configured to execute the stored computer executable instructions, the computer executable instructions comprising:
- the description file of the category code of each part is subjected to plug-in processing to obtain the application.
- An embodiment of the present invention provides an application development method, which is performed by a computing device, where the computing device includes one or more processors and a storage medium, and one or more programs, wherein the one Or more than one program stored in a storage medium, the program comprising one or more units each corresponding to a set of instructions, the one or more processors being configured to execute instructions; the method comprising:
- the description file of the category code of each part is subjected to plug-in processing to obtain the application.
- the embodiment of the invention provides a computer readable storage medium, on which a computer program is stored, and when the computer program is executed by the processor, the steps in the application development method are implemented.
- An embodiment of the present invention provides an application development method, where the method includes:
- the computing device obtains an input file of a predetermined format, the input file including content codes for composing portions of the application;
- the computing device disassembles the content code of each part of the input file into different category codes according to a corresponding preset category
- the computing device instructs the corresponding compiler to compile the category code according to the attribute of each of the category codes, and correspondingly obtains a description file of each of the category codes;
- the computing device performs plug-in processing on the description file of the category code of each part to obtain the application.
- An embodiment of the present invention provides an application development method, a tool, a device, and a storage medium, wherein an input file of a predetermined format is obtained, where the input file includes a content code for forming each part of the application;
- the content code of each part in the input file is disassembled into different category codes according to the corresponding preset category; the corresponding compiler is called according to the attribute of each of the category codes to compile the category code, correspondingly obtained a description file of each of the category codes; performing a plug-in processing on the description file of the category code of each part to obtain the application; thus, the problem of time and effort in current application development can be solved, thereby being fast and convenient.
- Develop an application is a tool, a device, and a storage medium, wherein an input file of a predetermined format is obtained, where the input file includes a content code for forming each part of the application;
- the content code of each part in the input file is disassembled into different category codes according to the corresponding preset category; the
- FIG. 1 is a schematic flowchart of an implementation process of an application development method according to an embodiment of the present invention
- FIG. 2 is a diagram showing a base class relationship according to an embodiment of the present invention.
- FIG. 3 is a schematic diagram showing a comparison result between a file directory structure and an existing directory structure according to an embodiment of the present invention
- 4A is a schematic diagram of a process of compiling an input file according to an embodiment of the present invention.
- 4B is a schematic diagram of a compiling process of a component according to an embodiment of the present invention.
- 4C is a schematic flowchart of a delivery process of a broadcast event according to an embodiment of the present invention.
- 4D is a schematic diagram of a delivery process of a bubbling event according to an embodiment of the present invention.
- 4E is a schematic diagram of application of an application development tool according to an embodiment of the present invention.
- FIG. 5 is a schematic structural diagram of a component development tool according to an embodiment of the present invention.
- FIG. 6 is a schematic structural diagram of a component of an application development device according to an embodiment of the present invention.
- FIG. 7 is a schematic diagram of a hardware entity of a computing device according to an embodiment of the present invention.
- a mini program such as a WeChat applet
- a WeChat applet is an application that can be used without downloading and installing. It realizes the dream of the application “at your fingertips”. Users can open the application by swiping or searching. At present, users will encounter the following problems when doing small program development:
- NPM node package manager
- each part of the applet there are several files in each part of the applet.
- each page is passed through the component mode. It only corresponds to a file in a predetermined format, so that from the effect point of view, the original four files of each page are packaged together, which can avoid the confusion of the code directory structure.
- small program development cannot introduce new features or specifications like traditional web development. This program can solve this problem by compiling.
- Web is an integration of protocols and standards for accessing information resources on the network, that is, the web is a service provided on the network.
- HMTL Hyper Text Markup Language
- HTML4 and HTML 5 page element styles and logic are packaged into a single collection.
- NPM Resources Module resources developed and shared by others. NPM is often referred to as a node package manager. As the name suggests, the main function of NPM is to manage node packages, including: installation, uninstallation, update, viewing, search, Release, etc.
- the applet generally includes at least an application part and a page part, wherein the application part generally includes two files or three files, two files being app.json and app.js, three
- the files are app.json, app.js, and app.wxss
- the page section generally includes three or four files, three files are index.json, index.js, and index.wxss.
- index.json index.js
- index.wxml index.wxss.
- the three files that are partially split are two.
- the files app.js and app.wxss, the three or four files split in the page part correspond to two or three.
- .js represents logic code
- .json represents configuration code
- json uses a completely language-independent text format, but also uses a habit similar to the C language family (including C, C++, C#, Java, JavaScript, Perl, Python). Wait).
- .wxss represents stylesheet code, where wxss represents WeiXin Style Sheets.
- wxss is a set of styles used to describe the component styles of the WeChat markup language, ie wxss is used to determine how components of wxml should be displayed.
- wxss has most of the features of Cascading Style Sheets, and in order to better develop WeChat applets, wxss expands and modifies CSS, such as wxss and CSS.
- the features are size units and style imports.
- CSS is a computer language used to represent a standard universal markup language or a subset of the standard markup language (XML, eXtensible Markup Language) standard universal markup language. CSS can not only statically modify web pages, but also dynamically format various elements of web pages in conjunction with various scripting languages. CSS can perform pixel-level precise control on the layout of element positions in web pages, supports almost all font size styles, and has the ability to edit web page objects and model styles. For example, CSS can extend the display function of HTML and can convert original HTML files. , such as text color, font, size, width, border and alignment can be set, CSS can easily and effectively control the overall layout of the page, fonts, colors, links and background more precisely.
- HTML eXtensible Markup Language
- .wxml represents the structure code
- wxml is the abbreviation of WeiXin Markup Language
- wxml is a set of label language based on the web application framework (Apache MINA) framework, combined with the basic components, event system, can build the page structure.
- the input file is disassembled into a style, a page element, a logical function, a configuration, and then the components are split into wxml, wxss, js, and required by the small program.
- the json file while automatically identifying the component to complete the isolation between the components during the compilation process.
- An embodiment of the present invention provides an application development method, which is applied to a computing device.
- the functions implemented by the application development method may be implemented by a processor calling program code in a computing device.
- the program code may be saved in a computer storage medium.
- the computing device includes at least a processor and a storage medium.
- FIG. 1 is a schematic flowchart of an implementation process of an application development method according to an embodiment of the present invention. As shown in FIG. 1, the method includes:
- Step S101 acquiring an input file in a predetermined format, where the input file includes a content code for composing parts of the applet;
- the applet may be a child application applied to a parent application.
- a small program loaded on a live chat application the instant chat application can be understood as a parent application, and the applet is a child application.
- the input file may be a code manually written by a user, or may be an automatically generated code, wherein the manually written code includes code written by the user one line at a time, and includes external resources of the user from a third party, for example.
- the code on the NPM that is obtained by manual download and manual copy on the NPM resource.
- the predetermined format may be a format set by a person skilled in the art, such as a de format or a wpy or other format.
- the input file needs to be disassembled into the content code of each part of the applet.
- Corresponding file type then you need to consider the convenience and difficulty of disassembly when setting the format.
- wpy format that is, the input file is wpy format. of.
- the applet includes at least an application part and a page part
- the input file includes at least the content code of the application part and the content code of the page part.
- Step S102 disassembling the content code of each part in the input file into different category codes according to corresponding preset categories
- each part of the applet corresponds to several files, for example, the application part includes three files, which are app.json, app.js, and app.wxss, respectively.
- the application part includes three files, which are app.json, app.js, and app.wxss, respectively.
- step S102 the application part of the applet needs to be disassembled into three different category codes, that is, the three category codes can be respectively corresponding to app.json, app.js and app.wxss, and the page part is disassembled into Four different category codes, that is, the four category codes can correspond to index.json, index.js, index.wxml, and index.wxss, respectively.
- Step S103 instructing the corresponding compiler to compile the category code according to the attribute of each of the category codes, and correspondingly obtaining a description file of each of the category codes;
- the corresponding compiler is used to compile the category code for different category codes, and then the description file of the category code is obtained.
- the compilers corresponding to the four category codes are the first, second, and third. Compiler collection, then when compiling the class code .json, you can compile the class code .json with the compiler in the first compiler set to get the applet description file .json.
- Step S104 performing a plug-in processing on the description file of the category code of each part to obtain the applet.
- Plug-in processing generally includes file compression, replacement of variables in code, content confusion, image compression, image sharpness changes, and image size changes.
- the input file includes at least a content code of the application part and a content code of the page part, and in step S102, the content code of each part of the input file is corresponding to the preset Disassemble categories into different category codes, including:
- the content code of the application part is at least disassembled into the script code; for the content code of the page part, the content code of each page in the page part is at least disassembled into Style code, page element code, and script code.
- the disassembly in order to reduce the difficulty of disassembly, is performed in a hierarchical manner during disassembly, and when the first level is disassembled, the configuration code and the logic code are first disassembled into one whole, and then, the second level is disassembled.
- the logic code and the configuration code are disassembled, that is, in the first level of disassembly, the configuration code can not be separately split, but is summarized in the logic code; thus, in the simplest disassembly process
- the application part is only disassembled into logic code, that is, only one type of description file (.js)
- the page part can be disassembled into style code, page element code and script code, that is, there are three description files corresponding to .js, .wxml And .wxss.
- the corresponding compiler is called to compile the category code according to the attribute of each of the category codes, and correspondingly generate a description file of each of the category codes, including: calling respectively a compiler corresponding to the style code, the page element code, the logic code, and the configuration code call, respectively compiling the style code, the page element code, the logic code, and the configuration code of each page, respectively, respectively, respectively, respectively obtaining each The style sheet file, page structure file, logical file, and configuration file for the page.
- the compiler in the preset first compiler set is compiled to compile the style code to generate a description file of the style sheet; and the compiler in the preset second compiler set is called to perform the page element code. Compiling, generating a description file of the page structure; calling a compiler in the preset third compiler set to compile the logic code to generate a logical description file.
- the first compiler set includes a compiler such as css, less, sass, stylus
- the second compiler set includes a compiler such as wxml and pug
- the third compiler set includes a compiler such as babel and typescript.
- the configuration code does not need to be compiled, so there is no need for a corresponding compiler.
- the first aspect is to automatically obtain the content code from the external resource
- the second aspect is to automatically process the dependency relationship between the NPM resources (the association relationship embodied by the associated information), Then in the compilation process, automatically rely on the dependencies between resources and copy files, which solves the problem that the third-party NPM resources cannot be introduced during the current small program development process.
- step S101 the obtaining an input file in a predetermined format includes:
- Step S111 retrieving the content code from the resource library according to the determined keyword, and loading at least the retrieved content code
- the keyword is used to retrieve the content code in the input file
- the keyword may be a content that implements a photo album function, invokes a global positioning system (GPS), invokes a payment application, turns on a camera, and starts scanning code.
- GPS global positioning system
- the computing device retrieves the content code corresponding to the function from the resource library, and then requests the content code from the remote server of the resource library or requests the content code from the local database of the resource library, and then loads the retrieved content.
- Content code when the user inputs a certain keyword, the computing device retrieves the content code corresponding to the function from the resource library, and then requests the content code from the remote server of the resource library or requests the content code from the local database of the resource library, and then loads the retrieved content.
- the resource library may be a node package manager resource or a resource in a local database.
- Step S112 Perform format conversion on the content code according to a preset format to obtain an input file in a predetermined format.
- the method further includes:
- Step S201 analyzing content codes of each part in the input file, and obtaining association information between modules in each part;
- Step S202 determining path information of each module in each part
- the path information of the module generally refers to a local storage path.
- Step S203 modifying path information in the input file according to association information between modules in each part and path information of each module in each part;
- Step S204 disassembling the content code of each part in the modified input file into different category codes according to the corresponding preset category.
- the small program in order to solve the problem that there is no componentization concept in the current small program: at present, the small program can only be pseudo-componentized by modularization and template, and the defect of the pseudo-componentization is that the multiplexing cost is high, and The pseudo-components are not isolated from each other; since there is no isolation between the components, when a certain component is modified, other components having dependencies (associations) may be unavailable, and the embodiment of the present invention provides one based on the isolated components.
- the small program development method or tool that is, the resource library in the embodiment includes a base class component, a base class page, and a base class application three types of base class resources, wherein each base class component is isolated from each other, and the base class page inherits
- the retrieving the content code from the resource library according to the determined keyword, and loading at least the retrieved content code comprises: retrieving the base class component, the base class page, and the base from the resource library according to the determined keyword Class application; at least loading the retrieved base class component, base class page, and base class application;
- Step S112 the format conversion of the content code according to a preset format to obtain an input file of a predetermined format, comprising: reorganizing the retrieved base class component into a custom component, and reorganizing the retrieved base class page and user component
- the custom page the retrieved base class application and the custom page are reorganized into a custom application; the custom component, the custom page, and the custom application are format-converted according to a preset format to obtain an input file in a predetermined format.
- FIG. 2 is a base class relationship diagram of an embodiment of the present invention.
- an embodiment of the present invention provides three base classes supported by a basic component, a component base class, a page base class, and an application (app).
- Base class, etc. based on the principle that the page is also a component, so the page base class is also inherited from the component base class.
- a solid small triangular arrow 21 indicates an inheritance relationship
- a hollow diamond 22 indicates a composition relationship
- a linear arrow 23 indicates an inclusion relationship.
- User-defined components and pages are inherited from these base classes.
- the user-defined App 208 inherits from the base class app 203, which contains two pages Page1 206, Page2 207 that are inherited from page 202.
- the Page1 206 further includes two components Com1 204 and Com2 205 which are inherited from the component 201. It should be noted that, since each base class component is isolated from each other, the small program completed based on the above base class is different from the usual small program when performing communication and binding functions between components. The communication and binding functions between components will be described in the embodiment.
- each part of the small program has several files, for example, the application part corresponds to three files, and the application part corresponds to four files, and the page part of the applet generally includes multiple Therefore, too many files will lead to confusion in the structure of the code directory.
- each page is only corresponding to a file of a predetermined format by the component mode, so that in view of the effect, the original four files of each page are packaged in Together, this avoids the confusion of the code directory structure.
- the method further includes:
- step S105 the content code (ie, the code file) of each page is formed into each page of the input file according to the predetermined format.
- each page of the page portion is represented by only one file in a preset format.
- 3 is a schematic diagram showing a comparison result between a development file directory structure and an existing development directory structure according to an embodiment of the present invention.
- the left side is a directory structure of a mobile phone refilling applet using an existing solution
- the right side is a small mobile phone recharge value.
- the program uses the directory structure following the scheme provided by this embodiment.
- the page portion includes a total of three pages (success, list, and detail), each of which includes four code files (.js, .less, .wxml, and .wxss), so The directory on the left looks rather verbose and confusing.
- each of the three pages of success, list, and detail is represented in a predetermined format, that is, each page succeed.wpy, list.wpy, and detail.wpy; Look, the previous four code files are packaged into one, and the packaged files are success.wpy, list.wpy, and detail.wpy.
- the technical solution provided by the embodiment of the present invention can avoid the problem that the code directory structure is confusing.
- a .wpy file is divided into three parts: the style code ⁇ style> ⁇ /style> corresponds to the original wxss, the template code ⁇ template> ⁇ /template> corresponds to the original wxml, and the script code ⁇ script> ⁇ /script > Corresponds to the original js and json.
- the entry file app.wpy does not require a template, so it will be ignored at compile time. All three tags support the type and src attributes, type determines the code compilation process, src determines whether the code is outsourced, and the inline code is ignored when the src attribute is present and valid.
- FIG. 4A is a schematic diagram of a process of compiling an input file according to an embodiment of the present invention.
- the input file includes a page portion and an application portion (the application portion is not shown).
- the page section consists of three pages, which are success, list, and detail.
- the content codes are success.wpy, list.wpy, and detail.wpy.
- the following is an example of detail.wpy.
- the first step is to detail. .wpy is disassembled and disassembled to get the style code, the page element code, and the script code.
- the script code is then further broken down into logic code and configuration code.
- the following is the following processing of the style code, page element code and script code:
- the style code will be compiled by the compilers such as css, less, sass, stylus, etc. in the configuration, traversing components, injecting dependencies, and variable substitutions, and finally generating the .wxss files needed by the applet.
- the traversing component is for obtaining the association relationship between the components, wherein the association relationship is also called a dependency relationship, and is represented by the associated information; the injection dependency refers to modifying the path information between the components according to the association information between the components, that is, completing the path.
- the variable replacement process for information.
- the page element code is compiled by the compilers such as wxml and pug in the configuration, and the dependencies between the page reference components are analyzed, thereby injecting component dependencies and variable substitutions, and then generating the .wxml file required by the applet.
- the script code is first disassembled, and the logic code and configuration code are obtained, and then compiled by the compilers such as babel and typescript in the configuration to generate the detail.js and detail.json required by the applet.
- the plug-in processing generally includes file compression and variables in the code. Replacement, content confusion, image compression, picture sharpness changes, and image size changes.
- the require in the code is recursively traversed, and then the corresponding file is copied from the node_modules, and the require path of each file is modified one by one, thereby implementing the external Support for NPM packages.
- the input file also includes a component part, wherein the component compilation process is as follows: when the final file is generated, if the same named method m or the same named data d still exists, each module is caused. Data coverage between. Therefore, when the component is compiled, it will be recursively searched component by component. Each component is assigned a prefix starting with a preset symbol (such as $, #, etc.), and all methods and data of the component are prefixed with the component. To ensure the unique naming of the component's methods or data.
- the m method of component a becomes the $a$m method
- the m method of component b becomes the $b$m method
- the m method of subcomponent c of component b becomes $b$c $m method; because the component name is unique, the methods and data in each component are independent, thus implementing the isolation before the component.
- the components or pages in this embodiment are suffixed with .wpy.
- the component or page is first disassembled into three parts: style, template, and script, which are responsible for the style code and page respectively.
- the element code and the logic code are three parts, and the disassembled code can be any format preset, that is, the style code, the page element code, and the logic code suffix can be set.
- the album contains an app describing the overall program and a plurality of pages describing the respective pages.
- the program app is mainly composed of three files, namely app.js (applet logic) and app.json (app.json). Applet settings) and app.wxss (small program style sheets), where the first two are mandatory files.
- the .wxss (page style sheet) and .json (page configuration) files are optional.
- the config.js file contains some settings for deploying domain names. In the pages directory, there are two page pages, index and album.
- the page structure is relatively simple, where index is the default page that the applet enters when it starts. Under each page, there must be at least two files: .js (page logic) and .wxml (page structure). The .wxss (page style sheet) and .json (page configuration) files are optional. These files have the same file name as the parent directory, with the goal of reducing configuration items for developers.
- the embodiment of the present invention isolates components. Since components and components are isolated from each other, communication between components and components must be broadcasted and bubbling in the following two ways:
- the Index page introduces three components ComA, ComB, and ComC, while ComA has its own sub-components ComD and ComE, and ComB has its own sub-components ComF, ComG, and ComH.
- $broadcast See Figure 4C, the broadcast event initiated by the parent component, and then traverse all the sub-components through the breadth-first search algorithm. Each sub-component responds to the event in turn.
- the broadcast order of the Index page is ComA ⁇ ComB ⁇ ComC ⁇ ComD ⁇ ComE ⁇ ComF ⁇ ComG ⁇ ComH. That is, after the next broadcast event is initiated by the Index page, the components that respond to the event in turn are components A, B, C, D, E, F, G, and H.
- $emit See Figure 4D, the bubbling event initiated by the subcomponent, the single path bubbling up, the parent component receiving the event in turn, the subcomponent E initiating a bubbling event, and the process of responding to the event in turn is ComA and page Index.
- the technical solution provided by the embodiment of the present invention may be embodied in the form of a development tool, and the development tool may be distributed on the computing device 451 (the computing device acts as a server), and wants to develop a small
- the engineer of the program logs in the development website of the development tool on his own terminal 452, and then downloads the development tool from the server, or runs the development tool 453 directly on the webpage, so that the development tool generates the applet according to the description of the foregoing embodiment, and generates
- a good small program can be released after review, and the released small program 454 can reach the user side, so that the user's terminal 455 can use the small program by scanning, searching, and the like.
- the computing device or terminal may be various types of electronic devices having information processing capabilities in the course of a specific embodiment, for example, the electronic device may include a mobile phone, a tablet, a desktop, a personal digital assistant, and the like.
- An embodiment of the present invention provides an application development tool, and various parts included in the application development tool, and various sub-portions included in each part, can pass through a processor in a computing device such as a computer, a server, a personal computer, or the like.
- a processor in a computing device such as a computer, a server, a personal computer, or the like.
- the implementation can of course be implemented by logic circuits; in the process of the embodiment, the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP) or a field programmable gate array ( FPGA) and so on.
- CPU central processing unit
- MPU microprocessor
- DSP digital signal processor
- FPGA field programmable gate array
- FIG. 5 is a schematic structural diagram of an application development tool according to an embodiment of the present invention.
- the tool 500 includes an acquisition part 501, a disassembly part 502, a compiling part 503, and a processing part 504, where:
- the obtaining part 501 is configured to acquire an input file of a predetermined format, where the input file includes a content code for composing parts of the applet;
- the disassembling portion 502 is configured to disassemble the content code of each part of the input file into different category codes according to a corresponding preset category;
- the compiling portion 503 is configured to invoke the corresponding compiler to compile the category code according to the attribute of each of the category codes, and correspondingly obtain a description file of each of the category codes;
- the processing part 504 is configured to perform a plug-in processing on the description file of the category code of each part to obtain the applet.
- the input file includes at least a content code of an application part and a content code of a page part, and the disassembling part is configured to disassemble at least the content code of the application part into a script code;
- the content code of each page in the page portion is at least disassembled into a style code, a page element code, and a script code.
- the compiling portion is configured to invoke a compiler corresponding to the style code, the page element code, and the script code call, respectively corresponding to the style code and the page element code of each page. Compile with the script code, and get the style sheet file, page structure file and logical file of each page correspondingly.
- the acquisition portion includes a retrieval subsection, a loading subsection, and a conversion subsection, wherein:
- the retrieval subsection is configured to retrieve a content code from a resource repository according to the determined keyword
- the loader portion is configured to load at least the retrieved content code
- the conversion subsection is configured to perform format conversion on the content code according to a preset format to obtain an input file in a predetermined format.
- the method further includes an analysis portion, a determination portion, and a modification portion, wherein:
- the analyzing part is configured to analyze content codes of each part of the input file to obtain association information between components in each part;
- the determining portion is configured to determine path information of each component in each portion
- the modifying part is configured to modify path information in the input file according to association information between components in each part and path information of each component in each part;
- the disassembling portion is configured to disassemble the content code of each part of the modified input file into different category codes according to a corresponding preset category.
- the resource library includes a base class component, a base class page, and a base class to apply three types of base class resources, wherein each base class component is isolated from each other, and the base class page inherits from the component;
- Retrieving the content code from the resource library according to the determined keyword, and loading at least the retrieved content code including:
- the retrieval subsection is configured to retrieve a base class component, a base class page, and a base class application from the resource library according to the determined keyword;
- the loader portion is configured to load at least the retrieved base class component, the base class page, and the base class application;
- the conversion sub-portion is configured to reorganize the retrieved base class component into a custom component, reorganize the retrieved base class page and the user component into a custom page, and reorganize the retrieved base class application and the custom page into a self-defined page.
- FIG. 6 is a schematic structural diagram of an application development device according to an embodiment of the present invention.
- the application development device includes a storage medium 601 and a processor 602, where:
- a storage medium 601 configured to store computer executable instructions
- the processor 602 is configured to execute the stored computer executable instructions, the computer executable instructions comprising:
- the description file of the category code of each part is subjected to plug-in processing to obtain the applet.
- the embodiment of the invention provides a computer readable storage medium, on which a computer program is stored, and when the computer program is executed by the processor, the steps in the application development method are implemented.
- An embodiment of the present invention provides an application development method, which is performed by a computing device, where the computing device includes one or more processors and a storage medium, and one or more programs, wherein the one Or more than one program stored in a storage medium, the program comprising one or more units each corresponding to a set of instructions, the one or more processors being configured to execute instructions; the method comprising:
- the description file of the category code of each part is subjected to plug-in processing to obtain the application.
- FIG. 7 is a schematic diagram of a hardware entity of the computing device in the embodiment of the present invention, as shown in FIG.
- the hardware entity of 700 includes: a processor 701, a communication interface 702, an input module 703, a display module 704, and a memory 705, wherein
- Processor 701 typically controls the overall operation of computing device 700.
- the input module 703 can be implemented as a touch screen to which the user operation data representing the operational characteristics of the touch screen (including the contact position, the number of contacts, the trigger pressure) is output, and the processor 701 can parse the user operation data to determine the user.
- the function triggered in the display interface generates display data corresponding to the triggered function for the display module 704 to load a page corresponding to the triggered function.
- Communication interface 702 can enable a computing device to communicate with other terminals or servers over a network.
- the input module 703 can be configured to receive input character information and to generate signal inputs related to user settings and function controls.
- the input module may include a touch surface that collects touch operations on or near the user (eg, the user uses any suitable object or accessory such as a finger, a stylus, or the like on the touch surface or on the touch surface.
- the nearby operation acquires a signal from the touch operation, converts the signal into contact coordinates, and sends it to the processor 701 for processing, and can receive and execute the command sent by the processor 701.
- Display module 704 can be configured to display the functions implemented by processor 701 and related information.
- the memory 705 is configured to store instructions and applications executable by the processor 701, and may also cache data to be processed or processed by the processor 701 and various modules in the computing device 700 (eg, image data, audio data, voice communication data, and Video communication data) can be implemented by flash memory (FLASH) or random access memory 705 (RAM, Random Access Memory).
- flash memory FLASH
- RAM Random Access Memory
- Embodiments of the subject matter described in the specification can be implemented in digital electronic circuits or in computer software, firmware or hardware, including the structures disclosed in the specification and their structural equivalents, or A combination of one or more of its structural equivalents.
- Embodiments of the subject matter described in the specification can be implemented as one or more computer programs, ie, one or more computer program instructions modules, encoded onto one or more computer storage media for execution or control of data by a data processing device The operation of the processing device.
- computer instructions can be encoded onto an artificially generated propagating signal (eg, a machine-generated electrical, optical, or electromagnetic signal) that is generated to encode the information for transmission to a suitable receiver.
- the device is executed by a data processing device.
- the computer storage medium can be, or be included in, a computer readable storage device, a computer readable storage medium, a random or sequential access memory array or device, or a combination of one or more of the above.
- the computer storage medium is not a propagated signal, the computer storage medium can be a source or a target of computer program instructions that are encoded in a manually generated propagated signal.
- the computer storage medium can also be or be included in one or more separate components or media (eg, multiple CDs, disks, or other storage devices).
- computer storage media can be tangible.
- the operations described in the specification can be implemented as operations by data processing apparatus on data stored on or received from one or more computer readable storage devices.
- a computer program (also referred to as a program, software, software application, script, or code) can be written in any programming language, including assembly or interpreted language, descriptive language, or procedural language, and can be in any form (including as an independent A program, or as a module, component, subroutine, object, or other unit suitable for use in a computing environment.
- a computer program can, but does not necessarily, correspond to a file in a file system.
- the program can be stored in a portion of the file that holds other programs or data (eg, one or more scripts stored in the markup language document), in a single file dedicated to the program of interest, or in multiple collaborative files ( For example, storing one or more modules, submodules, or files in a code section).
- the computer program can be deployed to be executed on one or more computers located at one site or distributed across multiple sites and interconnected by a communication network.
- the processes and logic flows described in the specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating input data and generating output.
- the above described processes and logic flows can also be performed by dedicated logic circuitry, and the apparatus can also be implemented as dedicated logic circuitry, such as an FPGA or ASIC.
- processors suitable for the execution of a computer program include, for example, a general purpose microprocessor and a special purpose microprocessor, and any one or more processors of any type of digital computer.
- a processor will receive instructions and data from a read only memory or a random access memory or both. The main elements of the calculation are the processor for performing the actions in accordance with the instructions and one or more memories for storing the instructions and data.
- a computer also includes one or more mass storage devices (eg, magnetic disks, magneto-optical disks, or optical disks) for storing data, or is operatively coupled to receive data from or send data thereto, or Both are. However, the computer does not need to have such a device.
- the computer can be embedded in another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio player or mobile video player, a game console, a global positioning system (GPS) receiver, or a mobile storage device.
- PDA personal digital assistant
- GPS global positioning system
- Suitable devices for storing computer program instructions and data include all forms of non-volatile memory, media and storage devices, including, for example, semiconductor storage devices (eg, EPROM, EEPROM, and flash memory devices), magnetic disks (eg, internal hard drives or removable hard drives). ), magneto-optical disks, and CD-ROM and DVD-ROM discs.
- the processor and memory can be supplemented by or included in dedicated logic circuitry.
- an input file of a predetermined format is obtained, where the input file includes a content code for forming each part of the application; and then the content code of each part of the input file is followed by a corresponding pre-
- the set categories are disassembled into different category codes; then the corresponding compiler is called according to the attributes of each of the category codes to compile the category code, correspondingly obtaining a description file of each of the category codes; A part of the description file of the category code is processed by a plug-in to obtain the application; thus, the time-consuming and laborious problem of the current application development can be solved, thereby rapidly and conveniently developing the application.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种应用程序开发方法及其工具、设备、存储介质,其中,所述方法包括:获取预定格式的输入文件,所述输入文件中包括用于组成所述应用程序各部分的内容代码;将所述输入文件中的每一部分的内容代码按照对应的类别拆解为不同的类别代码;按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序。
Description
相关申请的交叉引用
本申请基于申请号为201710193344.2、申请日为2017年03月28日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此以全文引入的方式引入本申请。
本发明涉及移动应用技术,尤其涉及一种应用程序开发方法及其工具、设备、存储介质。
随着终端技术和移动互联网技术的发展,如手机、平板电脑等终端上安装的移动应用(MA,Mobile Application)越来越多,例如即时通讯类应用、娱乐应用、新闻应用、游戏类应用、金融类应用、益智类应用、学习类应用、支付类应用、搜索类应用、生活便利类的应用。一般情况下,用户想要享用某种服务例如向商家付款,那么用户首先得安装具有支付功能的应用,然后打开应用享用服务,这种需要安装才能享用服务的方式越来越不适合快速、便捷和共享的生活理念。
目前,知识、信息类的轻量化产品的共享可最大范围的共享和受益,出行共享、服务共享、实体经济的共享则会受到一定的地域或者时间的限制,此类服务性共享则需要寻找一个虚拟的节点,在这种情况下,小程序应运而生,小程序正是为快速、便捷和共享提供一种虚拟节点,这样便通过互联网的连接完成了广泛地共享。小程序让这种服务共享变为一种信息而变得唾手可得,将服务和小程序连接起来,若即若离,既远离了本身内 容生态,又和用户连接在一起为用户服务,此种模式可以成为一种轻型的线上到线下(O2O,Online To Offline)服务,排除主程序如微信等臃肿的同时,实现了服务共享。
小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一搜即可打开应用。由于小程序本身并不需要安装和卸载,所以小程序也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。小程序的出现使得应用将无处不在,随时可用,但又无需安装卸载。
基于上述小程序的这些优点,小程序已经变得炙手可热,然而小程序的开发却依然处于一个人工编写小程序所需要的各个文件(例如脚本语言(js,JavaScript)文件和JavaScript对象表示法(json,Java Script Object Notation)文件)的阶段,因此导致小程序的开发非常耗时和费力。
发明内容
有鉴于此,本发明实施例为解决现有技术中存在的至少一个问题而提供一种应用程序(例如小程序)开发方法及其工具、设备、存储介质。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种应用程序开发方法,所述方法包括:
获取预定格式的输入文件,所述输入文件中包括用于组成所述应用程序各部分的内容代码;
将所述输入文件中的每一部分的内容代码按照对应的预设的类别拆解为不同的类别代码;
按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;
将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序。
本发明实施例提供一种应用程序开发工具,所述工具包括获取部分、拆解部分、编译部分和处理部分,其中:
所述获取部分,配置为获取预定格式的输入文件,所述输入文件中包括配置为组成所述应用程序各部分的内容代码;
所述拆解部分,配置为将所述输入文件中的每一部分的内容代码按照对应的预设的类别拆解为不同的类别代码;
所述编译部分,配置为按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;
所述处理部分,配置为将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序。
本发明实施例提供一种应用程序开发设备,所述设备包括存储介质和处理器,其中:
存储介质,配置为存储计算机可执行指令;
处理器,配置为执行存储的计算机可执行指令,所述计算机可执行指令包括:
获取预定格式的输入文件,所述输入文件中包括用于组成所述应用程序各部分的内容代码;
将所述输入文件中的每一部分的内容代码按照对应的预设的类别拆解为不同的类别代码;
按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;
将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序。
本发明实施例提供一种应用程序开发方法,所述方法由计算设备执行,所述计算设备包括有一个或多个处理器及存储介质,以及一个或多 个以上的程序,其中,所述一个或一个以上的程序存储于存储介质中,所述程序包括一个或一个以上的每一个对应一组指令的单元,所述一个或多个处理器被配置为执行指令;所述方法包括:
获取预定格式的输入文件,所述输入文件中包括用于组成所述应用程序各部分的内容代码;
将所述输入文件中的每一部分的内容代码按照对应的预设的类别拆解为不同的类别代码;
按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;
将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述应用程序开发方法中的步骤。
本发明实施例提供一种应用程序开发方法,所述方法包括:
计算设备获取预定格式的输入文件,所述输入文件中包括用于组成所述应用程序各部分的内容代码;
所述计算设备将所述输入文件中的每一部分的内容代码按照对应的预设的类别拆解为不同的类别代码;
所述计算设备按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;
所述计算设备将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序。
本发明实施例提供一种应用程序开发方法及其工具、设备、存储介质,其中,获取预定格式的输入文件,所述输入文件中包括用于组成所述应用程序各部分的内容代码;将所述输入文件中的每一部分的内容代码按照对 应的预设的类别拆解为不同的类别代码;按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序;如此,能够解决目前应用程序开发的耗时和费力问题,从而快速便捷的开发应用程序。
图1为本发明实施例应用程序开发方法的实现流程示意图;
图2为本发明实施例基类关系图;
图3为本发明实施例文件目录结构与现有目录结构的对比结果示意图;
图4A为本发明实施例输入文件的编译过程示意图;
图4B为本发明实施例组件的编译过程示意图;
图4C为本发明实施例广播事件的传递流程示意图;
图4D为本发明实施例冒泡事件的传递流程示意图;
图4E为本发明实施例应用程序开发工具的应用示意图;
图5为本发明实施例应用程序开发工具的组成结构示意图;
图6为本发明实施例应用程序开发设备的组成结构示意图;
图7为本发明实施例中计算设备的一种硬件实体示意图。
小程序(mini program),例如微信小程序,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。目前用户在做小程序开发时会遇到以下问题:
1)目前小程序中没有组件化的概念,只能通过模块化和模板去实现的伪组件化,伪组件化的缺陷在于复用成本高,而且伪组件相互之间没有隔离;由于组件之间没有隔离,所以在修改某一组件的时候可能会导致其他 具有依赖关系(关联关系)的组件不可用,本发明实施例基于隔离的组件提供的一种小程序开发方法或工具。
2)目前在开发小程序的时候无法自动使用海量的外部资源,例如第三方节点包管理器(NPM,Node Package Manager)资源,原因在于,一般的NPM资源是针对传统的web页面开发的,而小程序本身与传统的web页面是不一样的,所以导致无法直接使用;如果开发者想要使用NPM资源,只能通过手动下载和手动拷贝的方式使用NPM上的代码;对于依赖复杂的NPM资源,手动下载和手动拷贝的方式就无能为力了。本发明实施例中,将自动处理NPM资源之间的依赖关系(以关联信息体现的关联关系),然后在编译过程中,自动处资源之间依赖关系并且拷贝文件,解决了目前小程序开发过程中无法引入第三方的NPM资源的问题。
3)小程序每一部分内容都有好几份文件,例如应用部分对应有三种文件,而页面部分对应有四种文件,而小程序中的页面部分一般包括多个页面,例如某一小程序包括5个页面,而每一页面都对应有四种文件,那么开发目录中的页面部分将包括20个文件,所以,文件过多会导致代码目录结构混乱,本实施例中通过组件模式将每一页面仅对应于一个预定格式的文件,这样从效果上看,原来每一页面的四种文件被打包在一起,可以避免代码目录结构混乱的问题。另外,小程序开发不能像传统web开发一样,引入一些新的特性或是规范。本方案通过编译可以解决这个问题。
为了更好地理解本发明以下的各实施例,这里对部分名词解释如下:
web:是一种访问网络上信息资源的协议和标准的集成,即web是在网络上提供的一种服务。
模块:web开发中,将逻辑代码封装一个个单独集合。
组件:web开发中,将超级文本标记语言(HMTL,Hyper Text Markup Language)例如HTML4和HTML 5页面元素样式与逻辑封装成一个单独的 集合。
NPM资源:由其他人开发并共享的模块资源,NPM常称为节点(node)包管理器,顾名思义,NPM的主要功能就是管理node包,其中管理包括:安装、卸载、更新、查看、搜索、发布等。
小程序的应用部分和小程序的页面部分:小程序一般至少包括应用部分和页面部分,其中应用部分一般可以包括两种文件或三种文件,两种文件为app.json和app.js,三种文件分别为app.json、app.js和app.wxss;页面部分一般包括三种或四种文件,三种文件为index.json、index.js和index.wxss,这四种文件分别为index.json、index.js、index.wxml和index.wxss。需要说明的是,.json可以嵌套在.js中,即在分类中可以将.json不单独拆分出来,而是归纳在.js中这样,应用部分拆分的三种文件即为两种文件app.js和app.wxss,页面部分拆分的三种或四种文件分别对应为两种或三种。其中,.js表示逻辑代码,.json表示配置代码,json采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。
.wxss表示样式表代码,其中wxss表示微信样式表(WeiXin Style Sheets)wxss是一套样式语言,用于描述微信标记语言的组件样式,即wxss用来决定wxml的组件应该怎么显示。为了适应广大的前端开发者,wxss具有层叠样式表(CSS,Cascading Style Sheets)大部分特性,同时为了更适合开发微信小程序,wxss对CSS进行了扩充以及修改,例如wxss与CSS相比,扩展的特性有尺寸单位和样式导入。
CSS,是一种用来表现标准通用标记语言的一个应用或可扩展标记语言(XML,eXtensible Markup Language)标准通用标记语言的一个子集等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS能够对网页中元素位置的排 版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,例如,CSS可以扩展HTML的显示功能,可以把原来的HTML文件,像是文字的颜色、字体、大小、宽度、边界和对齐都可以去设定,CSS可以轻松而又有效地对页面的整体布局、字体、颜色、链接和背景进行更加精确的控制。
.wxml表示结构代码,wxml是微信标记语言(WeiXin Markup Language)的缩写,wxml是基于网络应用程序框架(Apache MINA)框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。
基于以上概念,在本发明的各实施例中,将输入文件拆解为样式、页面元素、逻辑功能、配置,然后再通过编译手段将组件拆分为小程序所需要的wxml、wxss、js、json文件,同时在编译过程中自动识别组件完成组件之间的隔离工作。
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
本发明实施例提供一种应用程序开发方法,应用于计算设备,该应用程序开发方法所实现的功能可以通过计算设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算设备至少包括处理器和存储介质。
图1为本发明实施例应用程序开发方法的实现流程示意图,如图1所示,该方法包括:
步骤S101,获取预定格式的输入文件,所述输入文件中包括用于组成所述小程序各部分的内容代码;
本实施例中,所述小程序可以为应用于一母体应用程序上的子体应用程序。例如在即时聊天应用上加载的小程序,则即时聊天应用可以理解为母体应用程序,而小程序则为子体应用程序。
本实施例中,所述输入文件可以是用户手动编写的代码,也可以是自 动生成的代码,其中手动编写的代码包括用户一行一行写的出来的代码,还包括用户从第三方的外部资源例如NPM资源上通过手动下载和手动拷贝的方式得到的NPM上的代码。
本实施例中,预定格式可以是本领域的技术人员自行设定的格式,例如de格式或者wpy或者其他格式,需要说明的是,由于输入文件需要被拆解为小程序每一部分的内容代码所对应的文件类型,那么在设定格式的时候还需要考虑拆解的便利性和难度,作为一种降低拆解难度以及提供便利性的预设格式,可以采用wpy格式,即输入文件为wpy格式的。
本实施例中,小程序至少包括应用部分和页面部分,那么输入文件中至少包括应用部分的内容代码和页面部分的内容代码。
步骤S102,将所述输入文件中的每一部分的内容代码按照对应的预设的类别拆解为不同的类别代码;
本实施例中,如前所述,小程序的每一部分都对应有几种文件,例如应用部分包括三种文件,这三种文件分别为app.json、app.js和app.wxss,页面部分一般包括四种文件,这四种文件分别为index.json、index.js、index.wxml和index.wxss。那么在步骤S102中需要将小程序的应用部分拆解为三种不同的类别代码,即这三种类别代码可以分别对应为app.json、app.js和app.wxss,将页面部分拆解为四种不同的类别代码,即这四种类别代码可以分别对应为index.json、index.js、index.wxml和index.wxss。
步骤S103,按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;
本实施例中,针对不同的类别代码调用对应的编译器对类别代码进行编译,然后得到该类别代码的描述文件,例如,四种类别代码分别对应的编译器为第一、第二和第三编译器集合,那么对类别代码.json进行编译时,可以利用第一编译器集合中编译器对对类别代码.json进行编译,得到小程 序的描述文件.json。
步骤S104,将每一部分的所述类别代码的描述文件进行插件处理,得到所述小程序。
本实施例中,插件处理的效果是对文件的内容进行了处理,所以内容上有变化,而文件的个数和后缀、格式是没有变化。插件处理一般包括文件压缩、代码中变量的替换,内容混淆、图片压缩、图片清晰度的改变和图片尺寸的改变等等。
在本发明的其他实施例中,所述输入文件至少包括应用部分的内容代码和页面部分的内容代码,步骤S102,所述将所述输入文件中的每一部分的内容代码按照对应的预设的类别拆解为不同的类别代码,包括:
对于应用部分的内容代码来说,将所述应用部分的内容代码至少拆解为脚本代码;对于页面部分的内容代码来说,将所述页面部分中的每一页面的内容代码至少拆解为样式代码、页面元素代码和脚本代码。
本发明实施例中,为了降低拆解难度,在拆解的时候采用分层次进行拆解,第一层次拆解时,先将配置代码和逻辑代码拆解为一个整体,然后,第二层次拆解时,再将逻辑代码和配置代码拆解开,即第一层次的拆解中可以将配置代码不单独拆分出来,而是归纳在逻辑代码中;这样,在最简单的拆解过程中,应用部分只拆解为逻辑代码,即只对应一种描述文件(.js),而页面部分可以拆解为样式代码、页面元素代码和脚本代码,即对应有三种描述文件.js、.wxml和.wxss。
在本发明的其他实施例中,所述按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地生成每一所述类别代码的描述文件,包括:调用分别与样式代码、页面元素代码、逻辑代码和配置代码调用对应的编译器,分别对应地对每一页面的所述样式代码、页面元素代码、逻辑代码和配置代码进行编译,分别对应地得到每一页面的样式表 文件、页面结构文件、逻辑文件和配置文件。
例如,调用预设的第一编译器集合中的编译器对所述样式代码进行编译,生成样式表的描述文件;调用预设的第二编译器集合中的编译器对所述页面元素代码进行编译,生成页面结构的描述文件;调用预设的第三编译器集合中的编译器对所述逻辑代码进行编译,生成逻辑的描述文件。其中,第一编译器集合包括css、less、sass、stylus等编译器,第二编译器集合包括wxml、pug等编译器,第三编译器集合包括babel、typescript等编译器。一般来说,配置代码是不需要进行编译的,所以无需对应的编译器。
为了解决目前在开发小程序的时候无法自动使用海量的外部资源问题:例如第三方NPM资源,原因在于,一般的NPM资源是针对传统的web页面开发的,而小程序本身与传统的web页面是不一样的,所以导致无法直接使用;如果开发者想要使用NPM资源,只能通过手动下载和手动拷贝的方式使用NPM上的代码;对于依赖复杂的NPM资源,手动下载和手动拷贝的方式就无能为力了。本发明实施例中,将从两方面进行改善,第一方面是自动从外部资源上获取内容代码,第二方面是将自动处理NPM资源之间的依赖关系(以关联信息体现的关联关系),然后在编译过程中,自动处资源之间依赖关系并且拷贝文件,解决了目前小程序开发过程中无法引入第三方的NPM资源的问题。
第一方面,在本发明的其他实施例中,步骤S101,所述获取预定格式的输入文件,包括:
步骤S111,根据确定的关键词从资源库检索内容代码,至少加载检索的内容代码;
本实施例中,关键词是用于检索输入文件中的内容代码的,例如关键词可以为实现相册功能、调用全球定位系统(GPS)、调用支付应用、开启摄像头、开启扫码等功能的内容代码,用户输入某种关键词,计算设备就 会从资源库中检索该功能对应的内容代码,然后向资源库的远程服务器请求内容代码或向资源库的本地数据库请求内容代码,然后加载检索的内容代码。
本实施例中,资源库可以为节点包管理器资源、本地数据库中的资源。
步骤S112,按照预设格式对所述内容代码进行格式转换,得到预定格式的输入文件。
第二方面,在本发明的其他实施例中,所述方法还包括:
步骤S201,分析所述输入文件中每一部分的内容代码,得到每一部分中各模块之间的关联信息;
步骤S202,确定每一部分中各模块的路径信息;
本实施例中,模块的路径信息一般是指本地的存储路径。
步骤S203,根据每一部分中各模块之间的关联信息和每一部分中各模块的路径信息修改所述输入文件中的路径信息;
步骤S204,对修改后的所述输入文件中的每一部分的内容代码按照对应的预设的类别拆解为不同的类别代码。
本发明实施例中,为了解决目前小程序中没有组件化的概念这一问题:目前小程序只能通过模块化和模板去实现的伪组件化,伪组件化的缺陷在于复用成本高,而且伪组件相互之间没有隔离;由于组件之间没有隔离,所以在修改某一组件的时候可能会导致其他具有依赖关系(关联关系)的组件不可用,本发明实施例基于隔离的组件提供的一种小程序开发方法或工具,即在实施例中的资源库中包括基类组件、基类页面和基类应用三类基类资源,其中,各基类组件之间相互隔离,基类页面继承自组件;对应地,步骤S111,所述根据确定的关键词从资源库检索内容代码,至少加载检索的内容代码,包括:根据确定的关键词从资源库检索基类组件、基类页面和基类应用;至少加载检索的基类组件、基类页面和基类应用;
步骤S112,所述按照预设格式对所述内容代码进行格式转换,得到预定格式的输入文件,包括:将检索的基类组件重组为自定义组件,将检索到的基类页面和用户组件重组为自定义页面,将检索到的基类应用和自定义页面重组为自定义应用;按照预设格式分别对自定义组件、自定义页面和自定义应用进行格式转换,得到预定格式的输入文件。
图2为本发明实施例基类关系图,如图2所示,本发明实施例提供三个基础支持的基类,分别为组件(component)基类、页面(page)基类和应用(app)基类等,其中基于页面也是组件的原则,所以页面基类也是继承自组件基类。在图2中,实心小三角箭头21表示继承关系,而空心的菱形22表示组成关系,线性箭头23表示包括关系。用户定义的组件和页面均继承自这些基类,例如,用户定义的App 208继承自基类app 203,其中包含两个继承自page 202的页面Page1 206、Page2 207。其中Page1 206中又包含两个继承自component 201的组件Com1 204、Com2 205。需要说明的是,由于各基类组件之间相互隔离,那么在基于上述基类而完成的小程序在进行组件间的通信和绑定功能时,也是与通常的小程序不一样的,在下面的实施例中将介绍组件间的通讯和绑定功能。
为了解决目前小程序目录结构混乱的问题:小程序每一部分内容都有好几份文件,例如应用部分对应有三种文件,而应用部分对应有四种文件,而小程序中的页面部分一般包括多个页面所以,文件过多会导致代码目录结构混乱,本实施例中通过组件模式将每一页面仅对应于一个预定格式的文件,这样从效果上看,原来每一页面的四种文件被打包在一起,这样可以避免代码目录结构混乱的问题。本实施例中,所述方法还包括:
步骤S105,将每一页面的内容代码(即代码文件)按照所述预定格式形成输入文件的每一页面。
对于页面部分而言,即将页面部分每一页面仅以一个预设格式的文件 来表示。图3为本发明实施例开发文件目录结构与现有的开发目录结构的对比结果示意图,如图3所示,左侧为手机充值小程序使用现有方案的目录结构,右侧为手机充值小程序使用本实施例提供的方案之后的目录结构。从图3的左侧可以看出,页面部分一共包括三个页面(success、list和detail),其中每一页面都包括四个代码文件(.js、.less、.wxml和.wxss),所以左侧的目录看起来比较冗长和混乱。采用本发明实施例提供的技术方案后,success、list和detail这三个页面中每一个页面以预定格式来表示,即形成每一页面success.wpy、list.wpy和detail.wpy;从效果上看,之前的四个代码文件都被打包成一体,打包后的文件为success.wpy、list.wpy和detail.wpy。显然,本发明实施例提供的技术方案能够避免代码目录结构混乱的问题。
一般来说,一个.wpy文件分为三个部分:样式代码<style></style>对应原有wxss,模板代码<template></template>对应原有wxml,脚本代码<script></script>对应原有js和json。其中入口文件app.wpy不需要template,所以编译时会被忽略。这三个标签都支持type和src属性,type决定了其代码编译过程,src决定是否外联代码,存在src属性且有效时,忽略内联代码。
下面介绍一下本发明实施例的输入文件的编译过程,图4A为本发明实施例输入文件的编译过程示意图,如图4A所示,输入文件包括页面部分和应用部分(应用部分未示出),页面部分包括三个页面,分别为success、list和detail这三个页面,对应为内容代码分别为success.wpy、list.wpy和detail.wpy,下面以detail.wpy为例进行说明,首先对detail.wpy进行拆解,拆解后得到样式(style)代码、页面元素(template)代码和脚本(script)代码。然后对脚本代码进一步进行拆解为逻辑代码和配置代码。下面分别对样式代码、页面元素代码和脚本代码进行如下的处理:
样式代码会通过配置中的css、less、sass、stylus等编译器进行编译, 遍历组件、注入依赖和变量替换,最后生成小程序需要的.wxss文件。其中,遍历组件是为了得到组件之间的关联关系,其中关联关系又称为依赖关系,以关联信息体现;注入依赖是指根据组件之间的关联信息修改组件之间的路径信息,即完成路径信息的变量替换过程。
页面元素代码通过配置中的wxml、pug等编译器进行编译,同时分析页面引用组件之间的依赖关系,从而注入组件的依赖关系和变量替换,然后生成小程序需要的.wxml文件。
脚本代码先进行拆解,得到逻辑代码和配置代码,然后通过配置中的babel、typescript等编译器进行编译,生成小程序需要的detail.js和detail.json。
所有文件都通过配置插件处理生成小程序需要的最终文件。这里需要说明的是,其中,插件处理的效果是对程序的内容进行了处理,所以内容上有变化,而文件的个数和后缀、格式是没有变化,插件处理一般包括文件压缩、代码中变量的替换,内容混淆、图片压缩、图片清晰度的改变和图片尺寸的改变等等。
本发明实施例中,为了实现对NPM资源的利用,在编译过程当中,会递归遍历代码中的require,然后将对应文件从node_modules当中拷贝出来,并且逐一修改各文件的require路径,从而实现对外部NPM包的支持。
输入文件中除了页面部分和应用部分外,还包括组件部分,其中组件编译过程如下:在生成最终文件时,如果依然存在相同命名的方法m,或者是相同命名的数据d,就会导致各模块之间的数据覆盖。因此在组件进行编译时,会逐个组件递归查找下去,为每个组件分配一个以某一预设符号(例如$、#等符号)开头的前缀,同时将组件的所有方法与数据加上组件前缀以确保组件的方法或者数据的唯一命名。如图4B所示,组件a的m方法会变成$a$m方法,组件b的m方法会变成$b$m方法,组件b的子组件c的m方法会变成$b$c$m方法;因为组件名的唯一的,所以各个组件里面 的方法与数据都是独立的,由此来实现组件之前的隔离。
需要说明的是,本实施例中的组件或是页面都以.wpy为后缀,在编译过程当中首先组件或页面会被拆解为三个部分:style、template、script,分别负责样式代码、页面元素代码、逻辑代码三个部分,拆解后的代码可以是预设的任何格式,即样式代码、页面元素代码、逻辑代码后缀可以是设置的。
下面以相册功能为例进行说明,相册包含一个描述整体程序的app和多个描述各自页面的page,程序app主要由三个文件组成,分别是app.js(小程序逻辑)、app.json(小程序设置)和app.wxss(小程序样式表),其中前两个为必备文件。对于页面而言,每个页面下,至少要有.js(页面逻辑)和.wxml(页面结构)两个文件,.wxss(页面样式表)和.json(页面配置)文件为选填。config.js文件中包含了一些部署域名的设置。在pages目录下,有两个page页面,分别是index和album。页面结构算是比较简单的,其中index是小程序启动时默认进入的页面。每个页面下,至少要有.js(页面逻辑)和.wxml(页面结构)两个文件,.wxss(页面样式表)和.json(页面配置)文件为选填。这些文件的文件名与父目录的名称相同,目的是减少配置项,方便开发者。
如前所述,本发明实施例对组件进行隔离化,由于组件与组件之间相互隔离,因此组件与组件之间的通讯要通过以下两种方式广播方式和冒泡方式:
如图4C和图4D所示,Index页面引入ComA、ComB和ComC三个组件,同时ComA又有自己的子组件ComD和ComE,ComB又有自己的子组件ComF、ComG和ComH。
$broadcast:参见图4C,由父组件发起的广播事件,然后通过广度优先搜索算法遍历所有子组件,每个子组件依次响应该事件,例如Index页面的 广播顺序为ComA→ComB→ComC→ComD→ComE→ComF→ComG→ComH。即由Index页面发起一个下广播事件后,依次响应该事件的组件是A、B、C、D、E、F、G和H组件。
$emit:参见图4D,由子组件发起的冒泡事件,单路径向上冒泡,父组件依次接受到该事件,子组件E发起一个冒泡事件,依次响应该事件的流程是ComA和页面Index。
在应用的过程中,参见图4E所示,本发明实施例提供的技术方案可以以开发工具的形式来体现,开发工具可以发布在计算设备451上(该计算设备作为服务器),想要开发小程序的工程师在自己的终端452上登陆开发工具的发布网址,然后从服务器上下载开发工具,或者直接在网页上运行开发工具453,这样开发工具就按照前述实施例描述的那样生成小程序,生成好的小程序可以经过审核而发布,发布后的小程序454可以到达用户侧,这样用户的终端455可以通过扫一扫、搜一搜等方式使用小程序。
这里,所述计算设备或终端在具体实施例的过程中可以为各种类型的具有信息处理能力的电子设备,例如所述电子设备可以包括手机、平板电脑、台式机、个人数字助理等。
本发明实施例提供一种应用程序开发工具,该应用程序开发工具所包括的各部分,以及各部分所包括的各子部分,都可以通过计算设备如计算机、服务器、个人电脑等中的处理器来实现,当然也可通过逻辑电路实现;在实施例的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图5为本发明实施例应用程序开发工具的组成结构示意图,如图5所示,所述工具500包括获取部分501、拆解部分502、编译部分503和处理部分504,其中:
所述获取部分501,配置为获取预定格式的输入文件,所述输入文件中 包括用于组成所述小程序各部分的内容代码;
所述拆解部分502,配置为将所述输入文件中的每一部分的内容代码按照对应的预设的类别拆解为不同的类别代码;
所述编译部分503,配置为按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;
所述处理部分504,配置为将每一部分的所述类别代码的描述文件进行插件处理,得到所述小程序。
在本发明的其他实施例中,所述输入文件至少包括应用部分的内容代码和页面部分的内容代码,所述拆解部分,配置为将所述应用部分的内容代码至少拆解为脚本代码;将所述页面部分中的每一页面的内容代码至少拆解为样式代码、页面元素代码和脚本代码。
在本发明的其他实施例中,所述编译部分,配置为调用分别与样式代码、页面元素代码和脚本代码调用对应的编译器,分别对应地对每一页面的所述样式代码、页面元素代码和脚本代码进行编译,分别对应地得到每一页面的样式表文件、页面结构文件和逻辑文件。
在本发明的其他实施例中,所述获取部分包括检索子部分、加载子部分和转换子部分,其中:
所述检索子部分,配置为根据确定的关键词从资源库检索内容代码;
所述加载子部分,配置为至少加载检索的内容代码;
所述转换子部分,配置为按照预设格式对所述内容代码进行格式转换,得到预定格式的输入文件。
在本发明的其他实施例中,所述方法还包括分析部分、确定部分和修改部分,其中:
所述分析部分,配置为分析所述输入文件中每一部分的内容代码,得到每一部分中各组件之间的关联信息;
所述确定部分,配置为确定每一部分中各组件的路径信息;
所述修改部分,配置为根据每一部分中各组件之间的关联信息和每一部分中各组件的路径信息修改所述输入文件中的路径信息;
对应地,所述拆解部分,配置为对修改后的所述输入文件中的每一部分的内容代码按照对应的预设的类别拆解为不同的类别代码。
在本发明的其他实施例中,所述资源库中包括基类组件、基类页面和基类应用三类基类资源,其中,各基类组件之间相互隔离,基类页面继承自组件;
所述根据确定的关键词从资源库检索内容代码,至少加载检索的内容代码,包括:
所述检索子部分,配置为根据确定的关键词从资源库检索基类组件、基类页面和基类应用;
所述加载子部分,配置为至少加载检索的基类组件、基类页面和基类应用;
所述转换子部分,配置为将检索的基类组件重组为自定义组件,将检索到的基类页面和用户组件重组为自定义页面,将检索到的基类应用和自定义页面重组为自定义应用;按照预设格式分别对自定义组件、自定义页面和自定义应用进行格式转换,得到预定格式的输入文件。
需要指出的是:以上开发工具实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明开发工具实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
本发明实施例提供一种小程序开发设备,图6为本发明实施例应用程序开发设备的组成结构示意图,如图6所示,该应用程序开发设备包括存储介质601和处理器602,其中:
存储介质601,配置为存储计算机可执行指令;
处理器602,配置为执行存储的计算机可执行指令,所述计算机可执行指令包括:
获取预定格式的输入文件,所述输入文件中包括用于组成所述小程序各部分的内容代码;
将所述输入文件中的每一部分的内容代码按照对应的预设的类别拆解为不同的类别代码;
按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;
将每一部分的所述类别代码的描述文件进行插件处理,得到所述小程序。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述应用程序开发方法中的步骤。
本发明实施例提供一种应用程序开发方法,所述方法由计算设备执行,所述计算设备包括有一个或多个处理器及存储介质,以及一个或多个以上的程序,其中,所述一个或一个以上的程序存储于存储介质中,所述程序包括一个或一个以上的每一个对应一组指令的单元,所述一个或多个处理器被配置为执行指令;所述方法包括:
获取预定格式的输入文件,所述输入文件中包括用于组成所述应用程序各部分的内容代码;
将所述输入文件中的每一部分的内容代码按照对应的预设的类别拆解为不同的类别代码;
按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;
将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序。
在实现的过程中,小程序开发设备可以采用计算设备如计算机、服务器、个人电脑等实现,图7为本发明实施例中计算设备的一种硬件实体示意图,如图7所示,该计算设备700的硬件实体包括:处理器701、通信接口702、输入模块703、显示模块704和存储器705,其中
处理器701通常控制计算设备700的总体操作。例如,输入模块703可以实施为触摸屏,向所述处理器701输出表征触摸屏的操作特征(包括触点位置、触点数量、触发压力)的用户操作数据,处理器701可以解析用户操作数据确定用户在显示界面中触发的功能,生成对应触发的功能的显示数据,以供显示模块704加载对应触发的功能的页面。
通信接口702可以使计算设备通过网络与其他终端或服务器通信。
输入模块703可配置为接收输入的字符信息,以及产生与用户设置以及功能控制有关信号输入。其中,输入模块可包括触控表面,该触控表面可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控表面上或在触控表面附近的操作),获取触摸操作带来的信号,将信号转换成触点坐标,再送给处理器701处理,并能接收处理器701发来的命令并加以执行。
显示模块704可以配置为显示处理器701实现的功能以及相关的信息。
存储器705配置为存储由处理器701可执行的指令和应用,还可以缓存待处理器701以及计算设备700中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器705(RAM,Random Access Memory)实现。
需要指出的是:以上计算设备实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果。对于本发明计算设备实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例的描述而理解。
需要说明的是,说明书中描述的主题的实施方式和操作能够以数字电子电路或者以计算机软件、固件或硬件实现,其中包括本说明书中所公开的结构及其结构等效,或者采用这些结构及其结构等效中的一个或多个的结合。说明书中所描述的主题的实施方式能够被实现为一个或多个计算机程序,即一个或多个计算机程序指令模块,其编码到一个或多个计算机存储介质上以由数据处理装置执行或者控制数据处理装置的操作。替选地或附加地,计算机指令能够被编码到人工生成的传播信号(例如机器生成的电信号、光信号或电磁信号)上,该信号被生成用于对信息编码以发送到合适的接收机装置由数据处理装置执行。计算机存储介质能够是或包含在计算机可读存储设备、计算机可读存储载体,随机或顺序访问存储阵列或设备、或者以上各项中的一个或多个的结合之中。而且,虽然计算机存储介质不是传播信号,但是计算机存储介质能够是被编码在人工生成的传播信号中的计算机程序指令的源或目标。计算机存储介质还能够是或者包含在一个或多个独立的组件或媒体(例如,多个CD、磁盘或其它存储设备)中。因此,计算机存储介质可以是有形的。
说明书中描述的操作能够被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其它源接收的数据进行的操作。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)能够以任何编程语言形式(包括汇编语言或解释语言、说明性语言或程序语言)书写,并且能够以任何形式(包括作为独立程序,或者作为模块、组件、子程序、对象或其它适用于计算环境中的单元)部署。计算机程序可以但非必要地对应于文件系统中的文件。程序能够被存储在文件的保存其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的部分中,在专用于所关注程序的单个文件中,或者在多个协同文件(例如,存储一个或多个模块、子模块或代码部分的文件)中。计算机程序能够被部署为 在一个或多个计算机上执行,该一个或多个计算机位于一个站点处,或者分布在多个站点中且通过通信网络互连。
说明书中描述的过程和逻辑流能够由一个或多个可编程处理器执行,该一个或多个可编程处理器执行一个或多个计算机程序以通过操作输入数据和生成输出来执行动作。上述过程和逻辑流还能够由专用逻辑电路执行,并且装置还能够被实现为专用逻辑电路,例如,FPGA或ASIC。
适用于执行计算机程序的处理器例如包括通用微处理器和专用微处理器,以及任何数字计算机类型的任何一个或多个处理器。通常来说,处理器会从只读存储器或随机访问存储器或以上两者接收指令和数据。计算的主要元件是用于按照指令执行动作的处理器以及一个或多个用于存储指令和数据的存储器。通常来说,计算机还会包括一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘、或光盘),或者操作地耦接以从其接收数据或向其发送数据,或者两者均是。然而,计算机不需要具有这样的设备。而且,计算机能够被嵌入在另一设备中,例如,移动电话、个人数字助手(PDA)、移动音频播放器或移动视频播放器、游戏控制台、全球定位系统(GPS)接收机或移动存储设备(例如,通用串行总线(USB)闪盘),以上仅为举例。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、媒体和存储设备,例如包括半导体存储设备(例如,EPROM、EEPROM和闪存设备)、磁盘(例如,内部硬盘或移动硬盘)、磁光盘、以及CD-ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路补充或者包含到专用逻辑电路中。
虽然说明书包含许多具体的实施细节,但是这些实施细节不应当被解释为对任何权利要求的范围的限定,而是对专用于特定实施方式的特征的描述。说明书中在独立实施方式前后文中描述的特定的特征同样能够以单个实施方式的结合中实现。相反地,单个实施方式的上下文中描述的各个 特征同样能够在多个实施方式中单独实现或者以任何合适的子结合中实现。而且,尽管特征可以在上文中描述为在特定结合中甚至如最初所要求的作用,但是在一些情况下所要求的结合中的一个或多个特征能够从该结合中去除,并且所要求的结合可以为子结合或者子结合的变型。
类似地,虽然在附图中以特定次序描绘操作,但是这不应当被理解为要求该操作以所示的特定次序或者以相继次序来执行,或者所示的全部操作都被执行以达到期望的结果。在特定环境下,多任务处理和并行处理可以是有利的。此外,上述实施方式中各个系统组件的分离不应当被理解为要求在全部实施方式中实现该分离,并且应当理解的是所描述的程序组件和系统通常能够被共同集成在单个软件产品中或被封装为多个软件产品。
因此,已经对主题的特定实施方式进行了描述。其它实施方式在以下权利要求的范围内。在一些情况下,权利要求中所限定的动作能够以不同的次序执行并且仍能够达到期望的结果。此外,附图中描绘的过程并不必须采用所示出的特定次序、或相继次序来达到期望的结果。在特定实施方式中,可以使用多任务处理或并行处理。
本发明实施例中,先获取预定格式的输入文件,所述输入文件中包括用于组成所述应用程序各部分的内容代码;然后将所述输入文件中的每一部分的内容代码按照对应的预设的类别拆解为不同的类别代码;再按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;最后将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序;如此,能够解决目前应用程序开发的耗时和费力问题,从而快速便捷的开发应用程序。
Claims (13)
- 一种应用程序开发方法,所述方法包括:获取预定格式的输入文件,所述输入文件中包括用于组成所述应用程序各部分的内容代码;将所述输入文件中的每一部分的内容代码按照对应的类别拆解为不同的类别代码;按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序。
- 根据权利要求1所述的方法,所述输入文件至少包括应用部分的内容代码和页面部分的内容代码,所述将所述输入文件中的每一部分的内容代码按照对应的类别拆解为不同的类别代码,包括:将所述应用部分的内容代码至少拆解为脚本代码;将所述页面部分中的每一页面的内容代码至少拆解为样式代码、页面元素代码和脚本代码。
- 根据权利要求2所述的方法,所述按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地生成每一所述类别代码的描述文件,包括:调用分别与样式代码、页面元素代码和脚本代码调用对应的编译器,分别对应地对每一页面的所述样式代码、页面元素代码和脚本代码进行编译,分别对应地得到每一页面的样式表文件、页面结构文件和逻辑文件。
- 根据权利要求1至3任一项所述的方法,所述获取预定格式的输入文件,包括:根据确定的关键词从资源库检索内容代码,至少加载检索的内容代码;按照格式对所述内容代码进行格式转换,得到预定格式的输入文件。
- 根据权利要求1至3任一项所述的方法,所述方法还包括:分析所述输入文件中每一部分的内容代码,得到每一部分中各组件之间的关联信息;确定每一部分中各组件的路径信息;根据每一部分中各组件之间的关联信息和每一部分中各组件的路径信息修改所述输入文件中的路径信息;对修改后的所述输入文件中的每一部分的内容代码按照对应的类别拆解为不同的类别代码。
- 根据权利要求5所述的方法,所述资源库中包括基类组件、基类页面和基类应用三类基类资源,其中,各基类组件之间相互隔离,基类页面继承自组件;所述根据确定的关键词从资源库检索内容代码,至少加载检索的内容代码,包括:根据确定的关键词从资源库检索基类组件、基类页面和基类应用;至少加载检索的基类组件、基类页面和基类应用;所述按照格式对所述内容代码进行格式转换,得到预定格式的输入文件,包括:将检索的基类组件重组为自定义组件,将检索到的基类页面和用户组件重组为自定义页面,将检索到的基类应用和自定义页面重组为自定义应用;按照格式分别对自定义组件、自定义页面和自定义应用进行格式转换,得到预定格式的输入文件。
- 一种应用程序开发工具,所述工具包括获取部分、拆解部分、编译部分和处理部分,其中:所述获取部分,配置为获取预定格式的输入文件,所述输入文件中 包括用于组成所述应用程序各部分的内容代码;所述拆解部分,配置为将所述输入文件中的每一部分的内容代码按照对应的类别拆解为不同的类别代码;所述编译部分,配置为按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;所述处理部分,配置为将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序。
- 根据权利要求7所述的开发工具,所述输入文件至少包括应用部分的内容代码和页面部分的内容代码,所述拆解部分,配置为将所述应用部分的内容代码至少拆解为脚本代码;将所述页面部分中的每一页面的内容代码至少拆解为样式代码、页面元素代码和脚本代码。
- 根据权利要求7所述的开发工具,所述编译部分,配置为调用分别与样式代码、页面元素代码和脚本代码调用对应的编译器,分别对应地对每一页面的所述样式代码、页面元素代码和脚本代码进行编译,分别对应地得到每一页面的样式表文件、页面结构文件和逻辑文件。
- 一种应用程序开发设备,所述设备包括存储介质和处理器,其中:存储介质,配置为存储计算机可执行指令;处理器,配置为执行存储的计算机可执行指令,所述计算机可执行指令包括:获取预定格式的输入文件,所述输入文件中包括用于组成所述应用程序各部分的内容代码;将所述输入文件中的每一部分的内容代码按照对应的类别拆解为不同的类别代码;按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序。
- 一种应用程序开发方法,所述方法由计算设备执行,所述计算设备包括有一个或多个处理器及存储介质,以及一个或多个以上的程序,其中,所述一个或一个以上的程序存储于存储介质中,所述程序包括一个或一个以上的每一个对应一组指令的单元,所述一个或多个处理器被配置为执行指令;所述方法包括:获取预定格式的输入文件,所述输入文件中包括用于组成所述应用程序各部分的内容代码;将所述输入文件中的每一部分的内容代码按照对应的类别拆解为不同的类别代码;按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序。
- 一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至6任一项所述应用程序开发方法中的步骤。
- 一种应用程序开发方法,所述方法包括:计算设备获取预定格式的输入文件,所述输入文件中包括用于组成所述应用程序各部分的内容代码;所述计算设备将所述输入文件中的每一部分的内容代码按照对应的类别拆解为不同的类别代码;所述计算设备按照每一所述类别代码的属性调用对应的编译器对所述类别代码进行编译,对应地得到每一所述类别代码的描述文件;所述计算设备将每一部分的所述类别代码的描述文件进行插件处理,得到所述应用程序。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
MYPI2019003935A MY198787A (en) | 2017-03-28 | 2018-03-26 | Application development method, tool, and device, and storage medium |
EP18777281.9A EP3605324B1 (en) | 2017-03-28 | 2018-03-26 | Application development method and tool, and storage medium thereof |
US16/449,206 US10990367B2 (en) | 2017-03-28 | 2019-06-21 | Application development method, tool, and device, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710193344.2A CN106980504B (zh) | 2017-03-28 | 2017-03-28 | 一种应用程序开发方法及其工具、设备 |
CN201710193344.2 | 2017-03-28 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/449,206 Continuation US10990367B2 (en) | 2017-03-28 | 2019-06-21 | Application development method, tool, and device, and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018177260A1 true WO2018177260A1 (zh) | 2018-10-04 |
Family
ID=59339715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/080564 WO2018177260A1 (zh) | 2017-03-28 | 2018-03-26 | 一种应用程序开发方法及其工具、设备、存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10990367B2 (zh) |
EP (1) | EP3605324B1 (zh) |
CN (1) | CN106980504B (zh) |
MY (1) | MY198787A (zh) |
WO (1) | WO2018177260A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727431A (zh) * | 2019-09-17 | 2020-01-24 | 阿里巴巴集团控股有限公司 | 小程序生成方法以及装置 |
CN112055062A (zh) * | 2020-08-21 | 2020-12-08 | 深圳市信锐网科技术有限公司 | 数据通信方法、装置、设备及可读存储介质 |
CN112130818A (zh) * | 2020-09-15 | 2020-12-25 | 北京值得买科技股份有限公司 | 一种Android自动数据埋点方法 |
CN112527258A (zh) * | 2020-12-16 | 2021-03-19 | 平安国际智慧城市科技股份有限公司 | 页面组件开发方法、系统、终端及计算机可读存储介质 |
CN113238737A (zh) * | 2021-06-15 | 2021-08-10 | 挂号网(杭州)科技有限公司 | 页面打包方法、装置、电子设备及存储介质 |
CN113360134A (zh) * | 2020-03-06 | 2021-09-07 | 武汉斗鱼网络科技有限公司 | 安全验证程序的生成方法、装置、设备和存储介质 |
CN113391809A (zh) * | 2021-06-21 | 2021-09-14 | 北京沃东天骏信息技术有限公司 | 静态资源文件处理方法、装置、电子设备和存储介质 |
CN117971175A (zh) * | 2024-03-28 | 2024-05-03 | 杭州昄达网络科技有限公司 | 一种基于设计稿自适应的应用软件开发方法及电子设备 |
CN118409740A (zh) * | 2024-05-07 | 2024-07-30 | 广州虎牙科技有限公司 | 生成静态资源引入代码的方法、装置、电子设备和介质 |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980504B (zh) * | 2017-03-28 | 2022-07-01 | 腾讯科技(深圳)有限公司 | 一种应用程序开发方法及其工具、设备 |
CN107729002A (zh) * | 2017-09-27 | 2018-02-23 | 上海斐讯数据通信技术有限公司 | 源文件压缩装置 |
CN107943484B (zh) * | 2017-11-30 | 2021-04-06 | 广州酷狗计算机科技有限公司 | 执行业务功能的方法和装置 |
CN109960491A (zh) * | 2017-12-26 | 2019-07-02 | 北京金山云网络技术有限公司 | 应用程序生成方法、生成装置、电子设备及存储介质 |
CN108268262A (zh) * | 2017-12-27 | 2018-07-10 | 广东耐思尼克信息技术有限公司 | 实现将html转换为微信小程序的方法、装置及系统 |
CN108196832A (zh) * | 2018-01-09 | 2018-06-22 | 安徽小马创意科技股份有限公司 | 一种实现使微信小程序支持自定义组件式开发的方法 |
CN108446109A (zh) * | 2018-02-06 | 2018-08-24 | 微梦创科网络科技(中国)有限公司 | 转换前端模板的方法及系统 |
CN108681547A (zh) * | 2018-03-27 | 2018-10-19 | 厦门欣旅通科技有限公司 | 一种基于小程序的网页内容转换方法及装置 |
CN108491198A (zh) * | 2018-04-12 | 2018-09-04 | 珠海横琴盛达兆业科技投资有限公司 | 一种基于微信小程序平台智能搜索的实现方法 |
CN108536442A (zh) * | 2018-04-12 | 2018-09-14 | 珠海横琴盛达兆业科技投资有限公司 | 一种基于微信小程序平台左右结构层级展示及快速加载的药品分类方法 |
CN108563476B (zh) * | 2018-04-18 | 2021-03-23 | Oppo广东移动通信有限公司 | 应用程序运行方法、装置、存储介质及电子设备 |
CN108664248A (zh) * | 2018-05-14 | 2018-10-16 | 北京汉能光伏投资有限公司 | 一种微信小程序的生成方法及装置 |
CN110727469B (zh) * | 2018-06-29 | 2022-08-16 | 珠海市魅族科技有限公司 | 终端设备控制方法及装置、应用程序配置文件的封装方法、终端设备及计算机可读存储介质 |
CN109165012B (zh) * | 2018-09-17 | 2022-03-15 | 北京中电普华信息技术有限公司 | 一种非解释型微应用实现方法及系统 |
CN111273909A (zh) * | 2018-12-04 | 2020-06-12 | 北京京东尚科信息技术有限公司 | 应用程序管理方法和装置 |
CN109656558B (zh) * | 2018-12-19 | 2022-04-19 | 四川虹美智能科技有限公司 | 一种生成ui插件的方法及装置 |
CN109814778B (zh) * | 2018-12-24 | 2020-12-22 | 天津字节跳动科技有限公司 | 小程序选项卡的实现方法、装置、电子设备及介质 |
CN109739548B (zh) * | 2018-12-28 | 2022-05-17 | Oppo广东移动通信有限公司 | 程序打包方法、程序打包装置及计算机可读存储介质 |
CN111427569B (zh) * | 2019-01-10 | 2024-01-23 | 北京嘀嘀无限科技发展有限公司 | 免安装程序适配方法、装置、电子设备及存储介质 |
CN111666074B (zh) * | 2019-03-05 | 2024-04-09 | 华为技术有限公司 | 一种web应用定制的方法、相关装置及系统 |
CN111796799B (zh) * | 2019-04-09 | 2021-09-07 | 广州腾讯科技有限公司 | 子应用开发方法、装置、计算机设备及存储介质 |
CN110244940A (zh) * | 2019-06-12 | 2019-09-17 | 四川长虹电器股份有限公司 | 优化web应用系统开发的方法及web前端项目结构 |
CN110569050A (zh) * | 2019-08-01 | 2019-12-13 | 阿里巴巴集团控股有限公司 | 一种小程序更新方法和装置 |
CN110532029B (zh) * | 2019-09-04 | 2025-05-30 | 深圳前海微众银行股份有限公司 | 小程序生成方法、装置、设备及计算机可读存储介质 |
CN112579048B (zh) * | 2019-09-30 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 小程序集成方法、装置、电子设备及存储介质 |
CN110888645A (zh) * | 2019-10-12 | 2020-03-17 | 贝壳技术有限公司 | 一种转换为小程序的方法、装置和存储介质 |
CN110908958B (zh) * | 2019-11-22 | 2023-11-24 | 珠海豹趣科技有限公司 | 一种文件处理方法、装置、终端及存储介质 |
CN111026438B (zh) * | 2019-11-29 | 2023-08-04 | 百度在线网络技术(北京)有限公司 | 小程序包和页面关键信息的提取方法、装置、设备及介质 |
CN111124420B (zh) * | 2019-12-19 | 2023-06-20 | 北京百度网讯科技有限公司 | 编译方法、装置、电子设备及可读存储介质 |
CN111078228A (zh) * | 2019-12-20 | 2020-04-28 | 深圳乐信软件技术有限公司 | 网页到小程序的转换方法、装置、服务器及存储介质 |
CN113094043A (zh) * | 2019-12-23 | 2021-07-09 | 北京神州泰岳软件股份有限公司 | 一种页面布局方法、装置和页面开发平台 |
CN111240654B (zh) * | 2020-01-03 | 2023-03-14 | 福建天晴在线互动科技有限公司 | 一种Python代码加固保护的方法及其系统 |
CN111258586B (zh) * | 2020-01-10 | 2023-04-18 | 北京小米移动软件有限公司 | 快应用运行、编译方法、装置、电子设备和存储介质 |
CN113220374A (zh) * | 2020-01-21 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 软件处理方法和装置 |
CN111258583A (zh) * | 2020-02-24 | 2020-06-09 | 厦门快商通科技股份有限公司 | 一种实现前端开发多模板支持的脚手架系统 |
CN112585573A (zh) * | 2020-02-26 | 2021-03-30 | 深圳市大疆创新科技有限公司 | 编译控制方法、编译控制装置和存储介质 |
CN113360201B (zh) * | 2020-03-06 | 2025-02-21 | 北京沃东天骏信息技术有限公司 | 计算任务获取方法、装置、存储介质及电子设备 |
CN111475156B (zh) * | 2020-04-13 | 2024-04-02 | 北京金堤科技有限公司 | 页面代码生成方法和装置、电子设备和存储介质 |
CN111596906B (zh) * | 2020-05-18 | 2023-07-07 | 上海微盟企业发展有限公司 | 一种基于MVPVM的Android应用开发方法、装置、设备及介质 |
CN111596958A (zh) * | 2020-05-26 | 2020-08-28 | 北京明略软件系统有限公司 | 一种jar包的关联方法、装置、电子设备及可读存储介质 |
EP3958115A4 (en) | 2020-06-28 | 2022-05-04 | Beijing Baidu Netcom Science Technology Co., Ltd. | METHOD AND DEVICE FOR PROCESSING MINIPROGRAM BATCH, ELECTRONIC DEVICE AND READABLE STORAGE MEDIUM |
CN111857809B (zh) * | 2020-07-30 | 2024-07-30 | 上海妙一生物科技有限公司 | 一种前端开发文件更新方法、装置及电子设备 |
CN113760274B (zh) * | 2020-09-04 | 2023-11-03 | 北京京东振世信息技术有限公司 | 一种前端组件逻辑注入方法和装置 |
CN113760275A (zh) * | 2020-09-16 | 2021-12-07 | 北京京东尚科信息技术有限公司 | 一种生成页面的方法和装置 |
CN112084747B (zh) * | 2020-09-17 | 2024-02-02 | 瑞庭网络技术(上海)有限公司 | 一种资源管理方法、装置、电子设备及存储介质 |
CN112291238B (zh) * | 2020-10-29 | 2023-01-06 | 腾讯科技(深圳)有限公司 | 一种数据通讯方法、装置、设备以及计算机可读存储介质 |
CN112527292A (zh) * | 2020-12-07 | 2021-03-19 | 江汉大学 | 一种基于界面自动生成的方法、存储介质及系统 |
CN112486490B (zh) * | 2020-12-15 | 2024-03-19 | 平安银行股份有限公司 | 前端代码打包方法、装置、电子设备及存储介质 |
CN112817598B (zh) * | 2021-01-13 | 2024-06-25 | 浙江华云信息科技有限公司 | 编译期的代码注入方法 |
CN112925562B (zh) | 2021-02-19 | 2024-09-17 | 京东方科技集团股份有限公司 | 基于安卓系统的应用生成的方法、装置及存储介质 |
CN113094040B (zh) * | 2021-03-08 | 2024-06-28 | 南京唯优信息技术有限公司 | 一种小程序编译方法和装置 |
CN115129806A (zh) * | 2021-03-29 | 2022-09-30 | 阿里巴巴新加坡控股有限公司 | 数据处理方法、装置、电子设备及计算机存储介质 |
US11995889B2 (en) * | 2021-04-19 | 2024-05-28 | International Business Machines Corporation | Cognitive generation of HTML pages based on video content |
CN113254023B (zh) * | 2021-05-14 | 2023-08-11 | 网易(杭州)网络有限公司 | 对象读取方法、装置和电子设备 |
CN113420532B (zh) * | 2021-07-02 | 2025-05-16 | 北京沃东天骏信息技术有限公司 | 一种页面文件转化方法、装置、电子设备和存储介质 |
CN113760356B (zh) * | 2021-09-10 | 2024-03-19 | 北京百度网讯科技有限公司 | 程序产品的差异化配置方法、装置、设备和介质 |
CN113805895B (zh) * | 2021-09-17 | 2023-08-18 | 杭州云深科技有限公司 | 一种数据库中关键词的确定方法、电子设备及存储介质 |
CN113867699A (zh) * | 2021-10-21 | 2021-12-31 | 中国工商银行股份有限公司 | 业务系统的实现方法、装置、设备、介质及程序产品 |
CN114327432B (zh) * | 2021-12-27 | 2025-07-18 | 未来电视有限公司 | 一种应用生成方法、装置、电子设备及存储介质 |
CN114356454B (zh) * | 2022-01-06 | 2024-06-18 | 京东科技控股股份有限公司 | 对账数据处理方法、设备、存储介质及程序产品 |
CN114637514B (zh) * | 2022-03-29 | 2025-04-22 | 上海移远通信技术股份有限公司 | Sdk的编译方法、装置、终端及存储介质 |
CN115480745B (zh) * | 2022-08-25 | 2023-10-24 | 贝壳找房(北京)科技有限公司 | 基于配置文件的代码生成方法及装置 |
CN115904578A (zh) * | 2022-11-04 | 2023-04-04 | 北京百度网讯科技有限公司 | 一种显示效果切换方法及装置 |
CN115543342B (zh) * | 2022-11-28 | 2023-03-24 | 天津华来科技股份有限公司 | 在编译时替换启动页面的方法、电子设备、存储介质 |
CN116107543B (zh) * | 2022-12-05 | 2025-09-23 | 京东方科技集团股份有限公司 | 一种基于vue工程代码项目的项目变更方法和变更装置 |
CN116450535B (zh) * | 2023-06-20 | 2023-08-29 | 中国联合网络通信集团有限公司 | 子应用调试方法、装置、计算机设备及存储介质 |
CN116954571B (zh) * | 2023-09-21 | 2023-12-22 | 深圳凡泰极客科技有限责任公司 | 小程序插件的开发处理方法及装置、计算机可读存储介质 |
CN117406973B (zh) * | 2023-12-13 | 2024-03-12 | 上海群之脉信息科技有限公司 | 一种交互式数据分析的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060101385A1 (en) * | 2004-10-22 | 2006-05-11 | Gerken Christopher H | Method and System for Enabling Roundtrip Code Protection in an Application Generator |
CN104142830A (zh) * | 2014-08-11 | 2014-11-12 | 四川效率源信息安全技术有限责任公司 | 通过脚本插件技术提取智能手机应用数据的方法和装置 |
CN104714830A (zh) * | 2015-04-03 | 2015-06-17 | 普元信息技术股份有限公司 | 基于原生开发语言实现跨平台应用开发的系统及方法 |
CN106371829A (zh) * | 2016-08-24 | 2017-02-01 | 北京邮电大学 | 基于模块化思想的模板框架设计方法及系统 |
CN106980504A (zh) * | 2017-03-28 | 2017-07-25 | 腾讯科技(深圳)有限公司 | 一种应用程序开发方法及其工具、设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100487667C (zh) * | 2005-12-14 | 2009-05-13 | 中兴通讯股份有限公司 | 一种软件单元测试自动化系统及其方法 |
US8365153B2 (en) * | 2007-10-26 | 2013-01-29 | Qualcomm Incorporated | Server-based code compilation |
CN102193812B (zh) * | 2011-06-03 | 2014-03-26 | 深圳市茁壮网络股份有限公司 | 一种代码编译方法、主机及系统 |
CN103870487B (zh) * | 2012-12-13 | 2017-07-25 | 腾讯科技(深圳)有限公司 | 网页文件处理方法及移动终端 |
CN105867993A (zh) * | 2016-03-29 | 2016-08-17 | 乐视控股(北京)有限公司 | 一种软件产品编译方法及设备 |
-
2017
- 2017-03-28 CN CN201710193344.2A patent/CN106980504B/zh active Active
-
2018
- 2018-03-26 WO PCT/CN2018/080564 patent/WO2018177260A1/zh unknown
- 2018-03-26 MY MYPI2019003935A patent/MY198787A/en unknown
- 2018-03-26 EP EP18777281.9A patent/EP3605324B1/en active Active
-
2019
- 2019-06-21 US US16/449,206 patent/US10990367B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060101385A1 (en) * | 2004-10-22 | 2006-05-11 | Gerken Christopher H | Method and System for Enabling Roundtrip Code Protection in an Application Generator |
CN104142830A (zh) * | 2014-08-11 | 2014-11-12 | 四川效率源信息安全技术有限责任公司 | 通过脚本插件技术提取智能手机应用数据的方法和装置 |
CN104714830A (zh) * | 2015-04-03 | 2015-06-17 | 普元信息技术股份有限公司 | 基于原生开发语言实现跨平台应用开发的系统及方法 |
CN106371829A (zh) * | 2016-08-24 | 2017-02-01 | 北京邮电大学 | 基于模块化思想的模板框架设计方法及系统 |
CN106980504A (zh) * | 2017-03-28 | 2017-07-25 | 腾讯科技(深圳)有限公司 | 一种应用程序开发方法及其工具、设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727431A (zh) * | 2019-09-17 | 2020-01-24 | 阿里巴巴集团控股有限公司 | 小程序生成方法以及装置 |
CN113360134A (zh) * | 2020-03-06 | 2021-09-07 | 武汉斗鱼网络科技有限公司 | 安全验证程序的生成方法、装置、设备和存储介质 |
CN113360134B (zh) * | 2020-03-06 | 2022-06-17 | 武汉斗鱼网络科技有限公司 | 安全验证程序的生成方法、装置、设备和存储介质 |
CN112055062A (zh) * | 2020-08-21 | 2020-12-08 | 深圳市信锐网科技术有限公司 | 数据通信方法、装置、设备及可读存储介质 |
CN112055062B (zh) * | 2020-08-21 | 2024-04-09 | 深圳市信锐网科技术有限公司 | 数据通信方法、装置、设备及可读存储介质 |
CN112130818A (zh) * | 2020-09-15 | 2020-12-25 | 北京值得买科技股份有限公司 | 一种Android自动数据埋点方法 |
CN112527258A (zh) * | 2020-12-16 | 2021-03-19 | 平安国际智慧城市科技股份有限公司 | 页面组件开发方法、系统、终端及计算机可读存储介质 |
CN113238737A (zh) * | 2021-06-15 | 2021-08-10 | 挂号网(杭州)科技有限公司 | 页面打包方法、装置、电子设备及存储介质 |
CN113391809A (zh) * | 2021-06-21 | 2021-09-14 | 北京沃东天骏信息技术有限公司 | 静态资源文件处理方法、装置、电子设备和存储介质 |
CN117971175A (zh) * | 2024-03-28 | 2024-05-03 | 杭州昄达网络科技有限公司 | 一种基于设计稿自适应的应用软件开发方法及电子设备 |
CN118409740A (zh) * | 2024-05-07 | 2024-07-30 | 广州虎牙科技有限公司 | 生成静态资源引入代码的方法、装置、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
US10990367B2 (en) | 2021-04-27 |
CN106980504B (zh) | 2022-07-01 |
MY198787A (en) | 2023-09-27 |
EP3605324A4 (en) | 2020-03-11 |
US20190310835A1 (en) | 2019-10-10 |
EP3605324B1 (en) | 2023-09-27 |
CN106980504A (zh) | 2017-07-25 |
EP3605324A1 (en) | 2020-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10990367B2 (en) | Application development method, tool, and device, and storage medium | |
CN111026396B (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
US10592319B2 (en) | API notebook tool | |
CN107925696B (zh) | 用于识别、索引和导航至移动应用的深度状态的系统和方法 | |
CN105940654B (zh) | 特权静态被托管的web应用 | |
WO2017050094A1 (zh) | 加载应用程序的方法及装置 | |
CN110895471B (zh) | 安装包生成方法、装置、介质及电子设备 | |
CN113704590B (zh) | 网页数据获取方法、装置、电子设备及存储介质 | |
CN109976793B (zh) | 一种应用程序的运行方法、装置、设备和介质 | |
US9513762B1 (en) | Static content updates | |
EP4280048A1 (en) | Page rendering method and apparatus, electronic device, computer-readable storage medium, and computer program product | |
WO2022105563A1 (zh) | 索引文件生成方法、终端设备、电子设备及介质 | |
CN112199567A (zh) | 一种分布式数据采集方法、系统、服务器和存储介质 | |
Wielemaker et al. | SWISH: SWI-Prolog for sharing | |
CN114879976A (zh) | 版本的环境部署方法、装置及电子设备 | |
CN112835568A (zh) | 一种项目构建方法和装置 | |
Konshin | Next. js Quick Start Guide: Server-side rendering done right | |
CN112087370A (zh) | 发布GitHub Issues的方法、系统、电子设备和计算机可读存储介质 | |
CN115167822A (zh) | 分支代码合并方法、装置、设备和存储介质 | |
Khanna et al. | Ionic: Hybrid Mobile App Development | |
CN114691096A (zh) | 智能合约开发方法、装置、设备和存储介质 | |
Kok | Hands-on Nuxt. js Web Development: Build universal and static-generated Vue. js applications using Nuxt. js | |
CN119998786A (zh) | 具有来自示例性命令的指导的自动封装工具 | |
WO2024221415A1 (zh) | 一种页面渲染方法、装置、设备及存储介质 | |
Segala | Svelte 3 Up and Running: A fast-paced introductory guide to building high-performance web applications with SvelteJS |
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: 18777281 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018777281 Country of ref document: EP Effective date: 20191028 |