CN111880801A - Application program dynamic method and device and electronic equipment - Google Patents

Application program dynamic method and device and electronic equipment Download PDF

Info

Publication number
CN111880801A
CN111880801A CN202010568000.7A CN202010568000A CN111880801A CN 111880801 A CN111880801 A CN 111880801A CN 202010568000 A CN202010568000 A CN 202010568000A CN 111880801 A CN111880801 A CN 111880801A
Authority
CN
China
Prior art keywords
application program
character string
mapping
page
description information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010568000.7A
Other languages
Chinese (zh)
Inventor
董尚先
李会超
李松涛
刘俊龙
杨超
李鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN202010568000.7A priority Critical patent/CN111880801A/en
Publication of CN111880801A publication Critical patent/CN111880801A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Abstract

The application discloses an application program dynamic method, belongs to the technical field of computers, and is beneficial to improving the application program dynamic efficiency. The method comprises the following steps: loading a first character string and a first mapping relation of a preset recognizable symbol in a runtime environment of a Flutter application program through the Flutter application program at the electronic equipment, and caching the first mapping relation; then, downloading description information of an update code of the Flutter application program by running the Flutter application program, constructing a second mapping relation between each second character string in the description information and the user-defined symbol by running the Flutter application program, and caching the second mapping relation at the electronic equipment; when the Flutter application program initializes the preset page, mapping the character strings included in the description information based on the cached first mapping relation and/or the cached second mapping relation, and constructing a dynamic page according to the symbols obtained by mapping so as to execute the dynamic page. The application program dynamic method can solve the problem of code adaptation of different platforms.

Description

Application program dynamic method and device and electronic equipment
Technical Field
The embodiment of the application relates to the technical field of computers, in particular to an application program dynamic method, an application program dynamic device, electronic equipment and a computer readable storage medium.
Background
When a client application program is developed using a compiled language, application program codes are usually edited in advance, and then the application program codes are compiled into an executable file, and then the executable file is installed in an electronic device for execution. When the page structure or the event processing flow of the application program needs to be updated, the code needs to be redeveloped and the electronic equipment needs to execute upgrading operation to download the application program of the new version. In order to improve the convenience of using an application program by a user and improve the efficiency of developing the application program, an application program dynamic method in the prior art makes a page through a built-in template, and processes an event processing logic in a virtual machine by using JS (java script, an interpreted or just-in-time compiled language), so that the application program dynamic can be realized. However, as the application program development phase involves some JS virtual machines and other operations, other technology stacks are introduced, and more performance loss of cross-terminal communication is caused. And the virtual machine has the problem of adaptation in the access of different electronic equipment operating systems.
It can be seen that the application program dynamic method in the prior art needs to be improved.
Disclosure of Invention
The embodiment of the application provides an application program dynamic method which is beneficial to improving the application program dynamic efficiency and the adaptation problem of different platforms.
In order to solve the above problem, in a first aspect, an embodiment of the present application provides an application program dynamic method, including:
loading a first character string and a first mapping relation of a preset recognizable symbol in a runtime environment of a Flutter application program through the Flutter application program at the electronic equipment, and caching the first mapping relation;
downloading description information of an update code of the Flutter application program at the electronic equipment by running the Flutter application program, wherein the description information is composed of character strings and is used for describing a page structure and event processing logic in the update code through the character strings;
constructing a second mapping relation between each second character string in the description information and a user-defined symbol by running the Flutter application program, and caching the second mapping relation at the electronic equipment;
when the Flutter application program initializes a preset page, mapping the character strings included in the description information based on the first mapping relation and/or the second mapping relation cached by the electronic device, constructing a dynamic page according to symbols obtained by mapping, constructing an event processing logic of the dynamic page, and binding the constructed dynamic page and the event processing logic;
executing, at the electronic device, the dynamic page.
In a second aspect, an embodiment of the present application provides an application program dynamic apparatus, including:
the system comprises a first mapping relation loading module, a second mapping relation loading module and a cache module, wherein the first mapping relation loading module is used for loading a first character string and a first mapping relation of a preset recognizable symbol in a runtime environment of a Flutter application program at the electronic equipment through the Flutter application program and caching the first mapping relation;
the program description information downloading module is used for downloading description information of an updating code of the Flutter application program at the electronic equipment by running the Flutter application program, wherein the description information consists of character strings and is used for describing a page structure and an event processing logic in the updating code through the character strings;
the second mapping relation constructing module is used for constructing a second mapping relation between each second character string and a user-defined symbol in the description information by running the Flutter application program, and caching the second mapping relation at the electronic equipment;
the page dynamic construction module is used for mapping the character strings included in the description information based on the first mapping relation and/or the second mapping relation cached by the electronic equipment when the Flutter application program initializes a preset page, constructing a dynamic page according to symbols obtained by mapping, constructing an event processing logic of the dynamic page, and binding the constructed dynamic page and the event processing logic;
a page execution module to execute the dynamic page at the electronic device.
In a third aspect, an embodiment of the present application further discloses an electronic device, which includes a memory, a processor, and a computer program that is stored in the memory and is executable on the processor, and when the processor executes the computer program, the application dynamic method described in the embodiment of the present application is implemented.
In a fourth aspect, the present application provides a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processor, and the application program dynamic method disclosed in the present application is executed in the processor.
The application program dynamic method disclosed by the embodiment of the application program loads a first mapping relation of a first character string and a recognizable symbol in a runtime environment of a Flutter application program through the Flutter application program at an electronic device, and caches the first mapping relation; downloading description information of an update code of the Flutter application program at the electronic equipment by running the Flutter application program, wherein the description information is composed of character strings and is used for describing a page structure and event processing logic in the update code through the character strings; constructing a second mapping relation between each second character string in the description information and a user-defined symbol by running the Flutter application program, and caching the second mapping relation at the electronic equipment; when the Flutter application program initializes a preset page, mapping the character strings included in the description information based on the first mapping relation and/or the second mapping relation cached by the electronic device, constructing a dynamic page according to symbols obtained by mapping, constructing an event processing logic of the dynamic page, and binding the constructed dynamic page and the event processing logic; and executing the dynamic page at the electronic equipment, which is beneficial to improving the dynamic efficiency of the application program and can solve the problem of code adaptation of different platforms.
The foregoing description is only an overview of the technical solutions of the present application, and the present application can be implemented according to the content of the description in order to make the technical means of the present application more clearly understood, and the following detailed description of the present application is given in order to make the above and other objects, features, and advantages of the present application more clearly understandable.
Drawings
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
FIG. 1 is a flowchart of a method for dynamic application programming according to a first embodiment of the present application;
FIG. 2 is another flowchart of an application program dynamic method according to an embodiment of the present application;
fig. 3 is a schematic diagram of description information obtained in the application program dynamic method according to the first embodiment of the present application;
FIG. 4 is a schematic structural diagram of an application dynamic apparatus according to a second embodiment of the present application;
FIG. 5 is a second schematic structural diagram of an application dynamic apparatus according to a second embodiment of the present application;
FIG. 6 schematically shows a block diagram of an electronic device for performing a method according to the present application; and
fig. 7 schematically shows a storage unit for holding or carrying program code implementing a method according to the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some, but not all, embodiments of the present application. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Example one
As shown in fig. 1, the method for dynamic application program disclosed in the embodiment of the present application includes: step 110 to step 150.
Step 110, at the electronic device, loading a first mapping relationship between a first character string and a recognizable symbol preset in a runtime environment of a Flutter application program through the Flutter application program, and caching the first mapping relationship.
The Flutter application described in the embodiment of the present application is an application that is downloaded in advance and can be run on the electronic device. The user can trigger the Flutter application to run by operating the electronic device. The preset recognizable symbol in the embodiment of the present application refers to a system symbol or a global symbol such as a method name, a class name, a global variable name, and the like in a runtime environment of a Flutter application program.
Typically, an application will include several program modules for implementing different program functions. In some embodiments of the present application, the Flutter application program may include program modules such as a communication module, a display module, a service function processing module, and the like. In other embodiments of the present application, the Flutter application further includes a function module for implementing dynamism. The functional module for implementing the dynamism is specifically used for, for example: initializing a runtime environment, downloading description information of an update code of the Flutter application program, analyzing the description information, executing conversion between a symbol in the description information and a recognizable symbol in the runtime environment of the Flutter application program, generating a program code from the description information, and the like. In the embodiment of the present application, for describing aspects, a functional module for implementing the dynamization is referred to as a dynamic module.
In some embodiments of the present application, the first character string is a symbol of a system type or a defined global symbol in a software development kit used by a source code of the Flutter application.
The description information of the update code downloaded in the Implementation of the present application is described by a character string, such as the character string "schoolName" shown as 310 in fig. 3, and for example, symbols in the form of the character strings "edgeinsts" and "fromlrb", where these character strings cannot be recognized in the runtime environment, and need to be converted into internal symbols (type, method IMP (Implementation, pointing to a pointer to a method Implementation, each method having a corresponding IMP), etc.) that can be recognized by the program. Reflection information of variables, such as field names, type information, structure information, etc., can be integrated into executable files at program compile time through reflection mechanisms in many languages. Similar to the function of classsfromstring or methodFromString, recognizable symbols in the runtime environment corresponding to external symbols can be obtained through a reflection mechanism. Some languages, however, do not provide a reflection mechanism, such as the dart language. The dart mirror of the dart language provides no reflection mechanism because it conflicts with the optimization function of some fluters themselves. It is necessary to implement mapping conversion of external symbols to runtime environment recognizable symbols by writing program code.
And because any property, method, or notation needs to be declared before it can be invoked. For the first character string such as a system symbol or a global symbol, since the declaration of the first character string is already included in the executable file for generating the Flutter application, the first character string used is not declared any more in the update code, but is directly called. That is, the system symbol or the global symbol appearing in the update code is only the calling code, and no declaration code, so that the runtime parser can normally perform the subsequent calling step, before executing the update code, a set of symbol mapping relationships, that is, a first mapping relationship, needs to be constructed for the first character string to simulate a step similar to the declaration.
In some embodiments of the present application, the first string comprises: the first mapping relationship between the first character string and a recognizable symbol preset in the runtime environment of the Flutter application program includes: the method comprises a class name and a method name corresponding to the first character string and a construction method corresponding to the method name. In some embodiments of the present application, the first mapping relationship is a key value mapping relationship (MAP) that takes a character string corresponding to a category name and a method name as a key and takes a method implementation as a value.
Taking the dart language construction method fromlrb as an example, a mapping structure { "className": { "methodName": Func } } can be constructed, wherein className is a class name, methodName is a method name corresponding to the className, and Func is a simulated one-line function pointing to the original system method implementation. The subsequent program can obtain the class name "edgeinsts" and the construction method name "fromlrb" through the description information, and the mapping structure constructed by taking the two character strings as the key value index can obtain the value corresponding to the specified class name and the method name (such as "edgeinsts" and "fromlrb"), and the value is the function of a dart language (namely the single-line function).
In some embodiments of the present application, the first mapping relationship is pre-stored in the electronic device as a part of the Flutter application, and the Flutter application reads the storage space of the electronic device, so that the first mapping relationship can be loaded into the cache of the electronic device.
In some embodiments of the present application, the dynamic module is generally executed when the program is started, and further, after the dynamic module completes execution of the runtime environment initialization, a first mapping relationship between the first character string and a recognizable symbol preset in the runtime environment of the Flutter application program is obtained, and the first mapping relationship is cached. Namely, when the electronic device starts a pre-installed Flutter application program, a first mapping relation between a first character string and a preset recognizable symbol in a runtime environment of the Flutter application program is obtained, and the first mapping relation is cached. Or after the description information of the update code of the Flutter application program is downloaded, presetting a first mapping relation of recognizable symbols in a runtime environment of the first character string and the Flutter application program, and caching the first mapping relation, so that the application program dynamic method can be realized.
The first mapping relation also stores the mapping relation from the first character string to the class method, the construction method, the instance method and the like, and the mapping relation from the first character string to the static attribute of the system class, the enumeration of the system class and the like.
And 120, downloading description information of the update code of the Flutter application program by running the Flutter application program at the electronic equipment.
The description information is composed of character strings and is used for describing the page structure and the event processing logic in the updating code through the character strings.
In some embodiments of the present application, the description information of the update code of the Flutter application is generated in advance, and as shown in fig. 2, before downloading the description information of the Flutter application by running the Flutter application, the method further includes: step 160 and step 170.
And 160, analyzing the update code of the Flutter application program to obtain an abstract syntax tree corresponding to the update code.
A program developer writes the update code of the Flutter application program offline, such as the page code of a certain page or certain pages, which is written in a compiled language such as dart. After the update code is written, a path of compiling to generate a binary system is not taken, and the update code is analyzed through a syntax analysis tool in the prior art to obtain an abstract syntax tree of the update code.
And 170, describing the abstract syntax tree through a domain specific language, and generating description information of the updating code.
Next, information such as a page structure and an event processing logic in the abstract syntax tree is described through a Domain Specific Language (DSL), and description information of the update code is obtained. As shown in fig. 3, the description information is composed of a character string, and is used for describing the page structure and the event processing logic in the update code through the character string. Wherein the page structure includes, for example: page name, size, position, color, hierarchical relationship, etc.; the event processing logic includes, for example, click event processing logic, page close time processing logic, and the like.
In some embodiments of the present application, the description information is constituted by JSON character strings.
The specific implementation of describing the abstract syntax tree through DSL and generating the description information of the update code may refer to the prior art, which is not limited in the embodiment of the present application.
In some embodiments of the present application, by using a nesting characteristic of a native language of a flute (such as a dart language), an intermediate product generated by a language in a specific field is generated into a linkedHashMap (a hash table and a link list of a Map interface are implemented, and have a predictable iteration sequence), and the output is assembled according to an interface hierarchy of the abstract syntax tree, so that the output description information has certain readability.
After the dynamic module executes the runtime environment initialization, the Flutter application program running on the electronic device can access a preset server address through the dynamic module, and the description information of the update code of the Flutter application program is downloaded.
Step 130, constructing a second mapping relationship between each second character string in the description information and the user-defined symbol by running the Flutter application program, and caching the second mapping relationship at the electronic device.
The second mapping relationship described in the embodiment of the present application includes: and the mapping relation of the second character string to the analog meta-class, and the attributes and methods of the classes stored in the analog meta-class. The second mapping relationship in some embodiments of the present application further includes: and the global variable list and the global method list store the mapping relation from the second character string to the method name and the global variable value.
The second character string described in the embodiment of the present application is a character string corresponding to a name of a class, a method, a function, and the like that is customized by a program developer, such as a character string "hehe" shown as 320 in fig. 3. Custom types (e.g., classes, methods, functions) in the update code are syntactically abstracted and described by a domain-specific language, converted to string form (e.g., the method name hehe would convert to "hehe"). In some embodiments of the application, the constructing a second mapping relationship between each second character string in the description information and the preset recognizable symbol in the runtime environment of the Flutter application includes: constructing analog element classes corresponding to the second character strings in the description information, and constructing a construction method of each analog element class; and establishing a mapping relation between the simulation element class and the second character string as a second mapping relation. Wherein the second mapping relationship comprises: and the analog element class corresponding to the second character string and the construction method of the analog element class. In some embodiments of the present application, constructing a dummy class corresponding to the second character string in the description information includes: and constructing a simulation element class corresponding to the second character string in the description information by adopting a pseudo element class and a pseudo method constructor, such as: constructing a simulation element class corresponding to a second character string in the description information by adopting a pseudo element class constructor; and constructing the method implementation of the construction method direction in the simulation element class by adopting a pseudo method constructor. The second mapping relationship between the second character string and the custom symbol comprises: and the class name of the analog element class corresponding to the second character string and the constructor corresponding to the class name.
After the description information is obtained (e.g. DSL file), for the custom type (e.g. class, method, etc.), since it is not pre-compiled into the executable file of the Flutter application, the runtime environment does not recognize its corresponding symbol (e.g. custom method hehe, the runtime environment does not have the definition and method implementation of the method, so the runtime environment cannot execute the method). In order to enable the runtime environment of the Flutter application program to execute the class or method corresponding to the character string in the description information, a simulation meta class corresponding to the custom type needs to be constructed for subsequently constructing the object.
The custom types in the service code are declared codes and called codes. In some embodiments of the application, the meta-class is constructed according to the declaration in the custom type and the character string corresponding to the calling code, so that the self-constructed meta-class is analyzed when the program runs, and the corresponding object is constructed subsequently.
When the meta-class is constructed according to the custom type, the related information (such as inheritance, implementation, mixin, attributes, methods, and the like) obtained by analyzing the custom type can be stored in the constructed simulation meta-class by executing the preset analysis code.
Furthermore, for the construction method of the custom type, a layer of construction method func also needs to be simulated, and the construction method is realized by a single-row simulated function pointing to the original method of the custom type. And then, storing the method name character string and the method implementation key value pair of the construction method into the constructor array constraints of the analog element class. And the constructor array constractitors comprises all construction methods of the analog element class.
In some embodiments of the present application, constructing the obtained model meta-class may include: the system comprises a category name character string, a common method array, an attribute array, a method function array and the like, wherein elements in the common method array, the attribute array and the method function array are in a key value mapping relation.
Taking the Dart language as an example, in an object-oriented language, a function is also an object, so the function can also be declared as a variable, or as a parameter of another function. Instance variables of a class may also be called like a calling function. Thus, in DART language, if object a and object b have a compatible program interface, a can replace b; also, the interface of any kind of object can be simulated by other correspondingly defined objects. For the custom types in the service code, which all have declaration codes and calling codes, in some embodiments of the present application, the method implementation of the custom type may first implement a simulation Function (i.e., instances Function) according to declaration information in the custom type (i.e., declaration information of a corresponding method in the update code that matches the character string corresponding to the custom type), and then, by simulating the simulation Function, make the method name in the custom type a Function type, so that the method may be called by name.
For example, for the description information of one JSON node:
“Mehod”:“run”
“Agument”:“[xxxxxx{}]”
“Statements”:“[{type:stmt},{type:stmt}]”
“retrunType”:“TRUE”
a simulation function, the shape function, and the like can be realized according to the declaration information in the user-defined type. Then, a method run, i.e. a flap function run (speed: int), is defined as a function type. In the application process, the implementation of the method can be obtained through the name of the method (such as run).
In some embodiments of the present application, after the method corresponding to the user-defined type in the description information is implemented in the above manner, a corresponding relationship from the character string to the simulation function is established. In the subsequent use process, the simulation function (such as the Flapfunction run) is searched by the method character string (such as the run), and the corresponding method can be executed.
And then, establishing a key value mapping relation (namely constructing MAP) according to the second character string of the user-defined type in the description information and the constructed simulation meta class, wherein the second character string is a key, and the simulation meta class is a value. The constructed key-value mapping relationship can be expressed as: and MAP (key: className, value: dartObj (meta-class)), wherein the value in the key-value mapping relation is the constructed analog meta class.
At this point, the mapping relationship between the character string in the downloaded description information and the custom symbol or the native symbol (such as a system symbol, a global symbol, and other runtime environment recognizable symbols) is completed, and the mapping relationship is cached in the memory of the electronic device.
Step 140, when the Flutter application initializes a preset page, mapping the character string included in the description information based on the first mapping relationship and/or the second mapping relationship cached by the electronic device, constructing a dynamic page according to the symbol obtained by the mapping, constructing an event processing logic of the dynamic page, and binding the constructed dynamic page and the event processing logic.
In the program running process, the dynamic module analyzes the description file through the analysis code according to the symbol mapping relation cached by the electronic equipment, finds the corresponding native symbol or custom symbol in the prepared caching relation in advance, and then executes the native symbol or custom symbol. The mapping is performed through the steps, the electronic device locally caches related information, such as attributes, methods, parameters, types, enumerations and the like, of the custom symbols and the native symbols corresponding to the character strings in the description information, further, a construction method can be obtained through the mapping relation constructed through the steps, and method calling is executed through a preset method.
In some embodiments of the present application, the preset method is configured to call, according to an input parameter and a construction method name, a method implementation corresponding to the construction method name. For example, the preset method is as follows: function () in Function (common top-level interface abstract class in Dart) class in Dart language. The calling form of the function is as follows: application (Function, positional alignment, and named alignment), wherein the Function is a Function object, such as a construction method name; the positional arrangement is a parameter of a list, and specifically refers to the parameter by relative position; the named argument is the real name parameter, and is of the type Map < Symbol, dynamic >. The application () function provides a mechanism to call functions using a dynamically determined parameter list, by which cases where the parameter list is indeterminate at compile time can be handled.
In some embodiments of the application, when the Flutter application initializes a preset page, mapping a character string included in the description information based on the first mapping relationship and/or the second mapping relationship cached by the electronic device, constructing a dynamic page according to a symbol obtained by the mapping, and constructing an event processing logic of the dynamic page, where the event processing logic includes: when the Flutter application program initializes a preset page, obtaining description information of the preset page, wherein the description information comprises: a string describing a page structure and a string describing an event handling logic; and sequentially determining character strings in the description information of the preset page as current character strings, and mapping the current character strings based on the first mapping relation and/or the second mapping relation cached by the electronic equipment to obtain a page structure and event processing logic described by recognizable symbols in the runtime environment. For example, when the Flutter application starts to execute page 1 initialization, the dynamic module searches the description information of the page 1 from the description information of the downloaded update code, then sequentially analyzes each character string describing the page structure and the event processing logic in the description information of the page 1, and converts each character string obtained through analysis based on the first mapping relationship and/or the second mapping relationship cached by the electronic device to obtain the symbol executable by the dynamic module.
In some embodiments of the application, the mapping the current character string based on the first mapping relationship and/or the second mapping relationship cached by the electronic device to obtain a page structure and event processing logic described by an identifiable symbol in the runtime environment includes: when the current character string is a first character string, mapping the current character string based on the first mapping relation cached by the electronic equipment to obtain a construction method of the current character string, and executing the construction method by calling a preset method to construct a system object corresponding to the current character string; when the current character string is a second character string, mapping the current character string based on the second mapping relation cached by the electronic equipment to obtain a simulation meta class corresponding to the current character string, further obtaining a construction method of the simulation meta class, and then executing the construction method of the simulation meta class by calling the preset method to construct a custom object corresponding to the current character string.
Taking the example that the character string obtained by the dynamic module through current parsing is the first character string, that is, the current character string is the character string corresponding to the native symbol (such as the system symbol or the global symbol) of the runtime environment (such as the update code statement corresponding to the current character string is the call system method), the execution process of the program is described as follows. At this time, the executable symbol corresponding to the current character string may be directly determined through the first mapping relationship locally cached by the electronic device. For example, for the current string "fromlrb" of the set page structure, the first mapping relationship (i.e., MAP) is queried with the current string "fromlrb" as the index key, and the interface obtains the construction method func1 of the method fromlrb. Further, the system which can acquire the method fromlrb by executing func1 realizes func 2. Then, the function 2 is realized by calling a preset method function (function, positional alignment, namedargetument) to call a system of method fromltb, so as to create a system type corresponding to the method fromltb. Wherein, the positional alignment and the nominal alignment are determined according to the parameters in the description information corresponding to the current character string "fromlRB".
Taking the second character string as an example, that is, the current character string is a character string corresponding to the custom type (for example, the current character string is "WMUser", and the corresponding update code statement is a custom type), the execution process of the program is described as follows. At this time, the analog meta-class corresponding to the character string "WMUser" may be searched in the mapping relationship (i.e., MAP structure) between the second character string and the analog meta-class cached locally by the electronic device; and then, finding func3 from a method list and an attribute list of the pre-generated meta class according to the method name and the attribute name in the simulated meta class, and acquiring a construction method func3 of the simulated meta class corresponding to the WMUser. Func3 is obtained here as a custom symbol. Next, finding a method implementation func4 corresponding to the construction method func3 of the analog element class in the construction function array constractors through the name character string of the construction method func 3; then, a method implementation func4 of the custom type WMUser is called by using a preset method function. Here, func4 is realized by simulating a simulation function realized in advance based on the characteristics of the simulation function.
In some embodiments of the present application, the page and the page processing logic may be bound by binding a custom symbol corresponding to the event processing logic of the page and an object created by executing a preset method.
To this end, creating a dynamic page for an application and binding event handling logic for the dynamic page is accomplished.
Step 150, at the electronic device, executing the dynamic page.
In some embodiments of the present application, executing, at the electronic device, the dynamic page comprises: displaying the constructed dynamic page at the electronic equipment through the Flutter application program; executing the event processing logic bound to the dynamic page in response to receiving the event for the dynamic page.
According to the method, the symbol which can be identified by the runtime environment and corresponds to each character string (namely, the statement in the updating code) in the description information can be obtained, and the symbol obtained by analysis is executed, so that the program running effect consistent with the updating code can be realized. For example, an updated page is created. In the foregoing steps, the process of creating the dynamic page is to render the dynamic page into a video memory of the electronic device, and further, by executing the Flutter application program and calling a system interface of the electronic device, it is possible to complete displaying the dynamically created program page on a display device (e.g., a display screen) of the electronic device.
Further, when the user interacts with the Flutter application, for example, the user clicks a certain key in a dynamic page displayed on the display screen of the electronic device, the click event processing method for the dynamic page executes the pre-bound click event processing logic to process the click operation of the user.
By this, dynamic updating and execution of application pages and processing logic, etc. is accomplished.
The application program dynamic method disclosed by the embodiment of the application program loads a first mapping relation of a first character string and a recognizable symbol in a runtime environment of a Flutter application program through the Flutter application program at an electronic device, and caches the first mapping relation; downloading description information of an update code of the Flutter application program at the electronic equipment by running the Flutter application program, wherein the description information is composed of character strings and is used for describing a page structure and event processing logic in the update code through the character strings; constructing a second mapping relation between each second character string in the description information and a user-defined symbol by running the Flutter application program, and caching the second mapping relation at the electronic equipment; when the Flutter application program initializes a preset page, mapping the character strings included in the description information based on the first mapping relation and/or the second mapping relation cached by the electronic device, constructing a dynamic page according to symbols obtained by mapping, constructing an event processing logic of the dynamic page, and binding the constructed dynamic page and the event processing logic; and executing the dynamic page at the electronic equipment, which is beneficial to improving the dynamic efficiency of the application program and can solve the problem of code adaptation of different platforms.
The application program dynamic method disclosed by the embodiment of the application program comprises the steps that a dynamic module is arranged in an application program and is used for analyzing and executing program description information in a character string form, so that updated program source codes can be converted into description information formed by JSON character strings and issued to electronic equipment provided with a Flutter application program, then the dynamic module of the Flutter application program (namely a program module for realizing the application program dynamic function) analyzes and converts the description information to generate symbols capable of being executed in a runtime environment, and the analyzed symbols are called by a preset method to create objects, so that the dynamic display and interactive processing of application program pages are realized. The method conforms to the description information downloaded to the electronic equipment, is not an executable file such as a code and the like, and conforms to the application development protocol of the operating system of the electronic equipment.
By adopting the application program dynamic method disclosed by the embodiment of the application, the application program dynamic is realized, the edition sending period of the application program can be shortened, and the edition sending efficiency is improved. Compared with the method for embedding the page template in the application program in the prior art, the method can update the page structure and the processing logic more flexibly. Furthermore, the fluency of the program operation can be improved by firstly establishing the mapping relation between the character strings and the symbols and then determining the symbols corresponding to the description information by inquiring the mapping relation in the program operation process.
On the other hand, when the application program dynamic method disclosed by the embodiment of the application program is adopted to realize application program dynamic, the volume of an executable file of the application program can be reduced, the speed of downloading and installing the application program by a user is increased, and the storage and downloading resources of the electronic equipment are saved.
Example two
An application program dynamic apparatus disclosed in an embodiment of the present application, as shown in fig. 4, the apparatus includes:
a first mapping relationship loading module 410, configured to load, at an electronic device, a first mapping relationship between a first character string and a recognizable symbol preset in a runtime environment of a Flutter application program through the Flutter application program, and cache the first mapping relationship;
a program description information downloading module 420, configured to download, at the electronic device, description information of an update code of the Flutter application program by running the Flutter application program, where the description information is composed of a character string and is used to describe a page structure and an event processing logic in the update code through the character string;
a second mapping relationship constructing module 430, configured to construct a second mapping relationship between each second character string in the description information and a custom symbol by running the Flutter application, and cache the second mapping relationship at the electronic device;
a page dynamic construction module 440, configured to map a character string included in the description information based on the first mapping relationship and/or the second mapping relationship cached by the electronic device when the Flutter application initializes a preset page, construct a dynamic page according to a symbol obtained by mapping, construct an event processing logic of the dynamic page, and bind the constructed dynamic page and the event processing logic;
a page execution module 450 for executing the dynamic page at the electronic device.
The preset recognizable symbol in the embodiment of the present application refers to a system symbol or a global symbol such as a method name, a class name, a global variable name, and the like in a runtime environment of a Flutter application program. In some embodiments of the present application, the first mapping relationship is a key value mapping relationship (MAP) that takes a character string corresponding to a category name and a method name as a key and takes a method implementation as a value.
In some embodiments of the present application, as shown in fig. 5, the apparatus further comprises:
the description information generating module 460 is configured to analyze an update code of the Flutter application program to obtain an abstract syntax tree corresponding to the update code; and describing the abstract syntax tree through a domain specific language to generate the description information of the updating code.
In some embodiments of the application, the step of constructing a second mapping relationship between each second character string in the description information and the custom symbol includes:
constructing analog element classes corresponding to the second character strings in the description information, and constructing a construction method of each analog element class;
establishing a mapping relation between the simulation element class and the second character string as a second mapping relation; wherein the second mapping relationship comprises: and the analog element class corresponding to the second character string and the construction method of the analog element class.
In some embodiments of the present application, the first string comprises: the first mapping relationship between the first character string and a recognizable symbol preset in the runtime environment of the Flutter application program includes:
the method comprises a class name and a method name corresponding to the first character string and a construction method corresponding to the method name.
In some embodiments of the present application, the page dynamic construction module 440 is further configured to:
when the Flutter application program initializes a preset page, obtaining description information of the preset page, wherein the description information comprises: a string describing a page structure and a string describing an event handling logic;
and sequentially determining character strings in the description information of the preset page as current character strings, and mapping the current character strings based on the first mapping relation and/or the second mapping relation cached by the electronic equipment to obtain a page structure and event processing logic described by recognizable symbols in the runtime environment.
In some embodiments of the application, the mapping the current character string based on the first mapping relationship and/or the second mapping relationship cached by the electronic device to obtain a page structure and event processing logic described by an identifiable symbol in the runtime environment includes:
when the current character string is a first character string, mapping the current character string based on the first mapping relation cached by the electronic equipment to obtain a construction method of the current character string, and executing the construction method by calling a preset method to construct a system object corresponding to the current character string;
when the current character string is a second character string, mapping the current character string based on the second mapping relation cached by the electronic equipment to obtain a simulation meta class corresponding to the current character string, further obtaining a construction method of the simulation meta class, and then executing the construction method of the simulation meta class by calling the preset method to construct a custom object corresponding to the current character string.
In some embodiments of the present application, the preset method is configured to call, according to an input parameter and a construction method name, a method implementation corresponding to the construction method name.
In some embodiments of the present application, the page execution module 450 is further configured to:
displaying the constructed dynamic page at the electronic equipment through the Flutter application program; and, in response to receiving an event for the dynamic page, executing the event processing logic bound to the dynamic page.
The application program dynamic device disclosed in the embodiment of the present application is used to implement the application program dynamic method described in the first embodiment of the present application, and specific implementation manners of each module of the device are not described again, and reference may be made to specific implementation manners of corresponding steps in the method embodiment.
The application program dynamic device disclosed by the embodiment of the application program loads a first mapping relation of a first character string and a recognizable symbol in a runtime environment of a Flutter application program through the Flutter application program at an electronic device, and caches the first mapping relation; downloading description information of an update code of the Flutter application program at the electronic equipment by running the Flutter application program, wherein the description information is composed of character strings and is used for describing a page structure and event processing logic in the update code through the character strings; constructing a second mapping relation between each second character string in the description information and a user-defined symbol by running the Flutter application program, and caching the second mapping relation at the electronic equipment; when the Flutter application program initializes a preset page, mapping the character strings included in the description information based on the first mapping relation and/or the second mapping relation cached by the electronic device, constructing a dynamic page according to symbols obtained by mapping, constructing an event processing logic of the dynamic page, and binding the constructed dynamic page and the event processing logic; and executing the dynamic page at the electronic equipment, which is beneficial to improving the dynamic efficiency of the application program and can solve the problem of code adaptation of different platforms.
The application program dynamic device disclosed in the embodiment of the application program can convert an updated program source code into description information composed of JSON character strings and send the description information to an electronic device installed with a Flutter application program by embedding a dynamic module in an application program, so that the description information can be analyzed and converted by the dynamic module of the Flutter application program (namely, a program module for realizing the application program dynamic function), a symbol capable of being executed in a runtime environment is generated, and the analyzed symbol is called by a preset method to create an object, thereby realizing dynamic display and interactive processing of an application program page. The device conforms to the description information downloaded to the electronic equipment, is not an executable file such as a code and the like, and conforms to the application development protocol of the operating system of the electronic equipment.
By adopting the application program dynamizing device disclosed by the embodiment of the application program, the dynamization of the application program is realized, the edition sending period of the application program can be shortened, and the edition sending efficiency is improved. Compared with the device with the built-in page template in the application program in the prior art, the method can update the page structure and the processing logic more flexibly. Furthermore, the fluency of the program operation can be improved by firstly establishing the mapping relation between the character strings and the symbols and then determining the symbols corresponding to the description information by inquiring the mapping relation in the program operation process.
On the other hand, when the application program dynamic device disclosed by the embodiment of the application program is adopted to realize application program dynamic, the volume of an executable file of the application program can be reduced, the speed of downloading and installing the application program by a user is increased, and the storage and downloading resources of the electronic equipment are saved.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other. For the device embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, refer to the partial description of the method embodiment.
The application program dynamic method and device provided by the present application are introduced in detail above, and a specific example is applied in the present application to explain the principle and the implementation manner of the present application, and the description of the above embodiment is only used to help understand the method and a core idea of the present application; meanwhile, for a person skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
The various component embodiments of the present application may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functionality of some or all of the components in an electronic device according to embodiments of the present application. The present application may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present application may be stored on a computer readable medium or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
For example, fig. 6 illustrates an electronic device that may implement a method according to the present application. The electronic device can be a PC, a mobile terminal, a personal digital assistant, a tablet computer and the like. The electronic device conventionally comprises a processor 610 and a memory 620 and program code 630 stored on said memory 620 and executable on the processor 610, said processor 610 implementing the method described in the above embodiments when executing said program code 630. The memory 620 may be a computer program product or a computer readable medium. The memory 620 may be an electronic memory such as a flash memory, an EEPROM (electrically erasable programmable read only memory), an EPROM, a hard disk, or a ROM. The memory 620 has a storage space 6201 for program code 630 of a computer program for performing any of the method steps described above. For example, the storage space 6201 for the program code 630 may include respective computer programs for implementing the various steps in the above method, respectively. The program code 630 is computer readable code. The computer programs may be read from or written to one or more computer program products. These computer program products comprise a program code carrier such as a hard disk, a Compact Disc (CD), a memory card or a floppy disk. The computer program comprises computer readable code which, when run on an electronic device, causes the electronic device to perform the method according to the above embodiments.
The embodiment of the present application also discloses a computer-readable storage medium, on which a computer program is stored, and the computer program, when executed by a processor, implements the steps of the application program dynamic method according to the first embodiment of the present application.
Such a computer program product may be a computer-readable storage medium that may have memory segments, memory spaces, etc. arranged similarly to the memory 620 in the electronic device shown in fig. 6. The program code may be stored in a computer readable storage medium, for example, compressed in a suitable form. The computer readable storage medium is typically a portable or fixed storage unit as described with reference to fig. 7. Typically, the storage unit comprises computer readable code 630 ', said computer readable code 630' being code read by a processor, which when executed by the processor implements the steps of the method described above.
Reference herein to "one embodiment," "an embodiment," or "one or more embodiments" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present application. Moreover, it is noted that instances of the word "in one embodiment" are not necessarily all referring to the same embodiment.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the application may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The application may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions in the embodiments of the present application.

Claims (11)

1. An application program dynamic method, comprising:
loading a first character string and a first mapping relation of a preset recognizable symbol in a runtime environment of a Flutter application program through the Flutter application program at the electronic equipment, and caching the first mapping relation;
downloading description information of an update code of the Flutter application program at the electronic equipment by running the Flutter application program, wherein the description information is composed of character strings and is used for describing a page structure and event processing logic in the update code through the character strings;
constructing a second mapping relation between each second character string in the description information and a user-defined symbol by running the Flutter application program, and caching the second mapping relation at the electronic equipment;
when the Flutter application program initializes a preset page, mapping the character strings included in the description information based on the first mapping relation and/or the second mapping relation cached by the electronic device, constructing a dynamic page according to symbols obtained by mapping, constructing an event processing logic of the dynamic page, and binding the constructed dynamic page and the event processing logic;
executing, at the electronic device, the dynamic page.
2. The method according to claim 1, wherein the step of downloading the description information of the Flutter application by running the Flutter application is preceded by the step of:
analyzing the update code of the Flutter application program to obtain an abstract syntax tree corresponding to the update code;
and describing the abstract syntax tree through a domain-specific language to generate the description information of the updating code.
3. The method according to claim 1, wherein the step of constructing a second mapping relationship between each second character string and the custom symbol in the description information comprises:
constructing analog element classes corresponding to the second character strings in the description information, and constructing a construction method of each analog element class;
establishing a mapping relation between the simulation element class and the second character string as a second mapping relation; wherein the second mapping relationship comprises: and the analog element class corresponding to the second character string and the construction method of the analog element class.
4. The method of claim 1, wherein the first string comprises: the first mapping relationship between the first character string and a recognizable symbol preset in the runtime environment of the Flutter application program includes:
the method comprises a class name and a method name corresponding to the first character string and a construction method corresponding to the method name.
5. The method according to any one of claims 1 to 4, wherein the step of mapping the character strings included in the description information based on the first mapping relationship and/or the second mapping relationship cached by the electronic device when the Flutter application initializes a preset page, and constructing a dynamic page according to recognizable symbols obtained by mapping, and the step of constructing the event processing logic of the dynamic page includes:
when the Flutter application program initializes a preset page, obtaining description information of the preset page, wherein the description information comprises: a string describing a page structure and a string describing an event handling logic;
and sequentially determining character strings in the description information of the preset page as current character strings, and mapping the current character strings based on the first mapping relation and/or the second mapping relation cached by the electronic equipment to obtain a page structure and event processing logic described by recognizable symbols in the runtime environment.
6. The method according to claim 5, wherein the step of mapping the current character string based on the first mapping relationship and/or the second mapping relationship cached by the electronic device to obtain a page structure and event processing logic described by recognizable symbols in the runtime environment comprises:
when the current character string is a first character string, mapping the current character string based on the first mapping relation cached by the electronic equipment to obtain a construction method of the current character string, and executing the construction method by calling a preset method to construct a system object corresponding to the current character string;
when the current character string is a second character string, mapping the current character string based on the second mapping relation cached by the electronic equipment to obtain a simulation meta class corresponding to the current character string, further obtaining a construction method of the simulation meta class, and then executing the construction method of the simulation meta class by calling the preset method to construct a custom object corresponding to the current character string.
7. The method according to claim 6, wherein the preset method is used for calling a method implementation corresponding to the name of the construction method according to the input parameter and the name of the construction method.
8. The method according to any of claims 1 to 4, wherein said step of executing said dynamic page at said electronic device comprises:
displaying the constructed dynamic page at the electronic equipment through the Flutter application program;
executing the event processing logic bound to the dynamic page in response to receiving the event for the dynamic page.
9. An application program dynamizing apparatus, comprising:
the system comprises a first mapping relation loading module, a second mapping relation loading module and a cache module, wherein the first mapping relation loading module is used for loading a first character string and a first mapping relation of a preset recognizable symbol in a runtime environment of a Flutter application program at the electronic equipment through the Flutter application program and caching the first mapping relation;
the program description information downloading module is used for downloading description information of an updating code of the Flutter application program at the electronic equipment by running the Flutter application program, wherein the description information consists of character strings and is used for describing a page structure and an event processing logic in the updating code through the character strings;
the second mapping relation constructing module is used for constructing a second mapping relation between each second character string and a user-defined symbol in the description information by running the Flutter application program, and caching the second mapping relation at the electronic equipment;
the page dynamic construction module is used for mapping the character strings included in the description information based on the first mapping relation and/or the second mapping relation cached by the electronic equipment when the Flutter application program initializes a preset page, constructing a dynamic page according to symbols obtained by mapping, constructing an event processing logic of the dynamic page, and binding the constructed dynamic page and the event processing logic;
a page execution module to execute the dynamic page at the electronic device.
10. An electronic device comprising a memory, a processor and program code stored on the memory and executable on the processor, wherein the processor implements the application program dynamic method of any one of claims 1 to 8 when executing the program code.
11. A computer-readable storage medium, on which a program code is stored, characterized in that the program code realizes the steps of the application program dynamic method of any one of claims 1 to 8 when executed by a processor.
CN202010568000.7A 2020-06-19 2020-06-19 Application program dynamic method and device and electronic equipment Pending CN111880801A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010568000.7A CN111880801A (en) 2020-06-19 2020-06-19 Application program dynamic method and device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010568000.7A CN111880801A (en) 2020-06-19 2020-06-19 Application program dynamic method and device and electronic equipment

Publications (1)

Publication Number Publication Date
CN111880801A true CN111880801A (en) 2020-11-03

Family

ID=73157990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010568000.7A Pending CN111880801A (en) 2020-06-19 2020-06-19 Application program dynamic method and device and electronic equipment

Country Status (1)

Country Link
CN (1) CN111880801A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113031932A (en) * 2021-03-11 2021-06-25 腾讯科技(深圳)有限公司 Project development method and device, electronic equipment and storage medium
CN115061717A (en) * 2022-06-30 2022-09-16 北京亚控科技发展有限公司 Application management method, application subscription method and related equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091702A1 (en) * 2000-11-16 2002-07-11 Ward Mullins Dynamic object-driven database manipulation and mapping system
CN109669716A (en) * 2018-09-25 2019-04-23 深圳壹账通智能科技有限公司 Page control method, device, equipment and readable storage medium storing program for executing
CN110659057A (en) * 2019-09-24 2020-01-07 腾讯科技(深圳)有限公司 Application program hot updating method and device, storage medium and computer equipment
CN111045678A (en) * 2019-11-06 2020-04-21 北京奇艺世纪科技有限公司 Method, device and equipment for executing dynamic code on page and storage medium
CN111221572A (en) * 2020-01-13 2020-06-02 北京字节跳动网络技术有限公司 Method, device, medium and equipment for automatically adapting to operating environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091702A1 (en) * 2000-11-16 2002-07-11 Ward Mullins Dynamic object-driven database manipulation and mapping system
CN109669716A (en) * 2018-09-25 2019-04-23 深圳壹账通智能科技有限公司 Page control method, device, equipment and readable storage medium storing program for executing
CN110659057A (en) * 2019-09-24 2020-01-07 腾讯科技(深圳)有限公司 Application program hot updating method and device, storage medium and computer equipment
CN111045678A (en) * 2019-11-06 2020-04-21 北京奇艺世纪科技有限公司 Method, device and equipment for executing dynamic code on page and storage medium
CN111221572A (en) * 2020-01-13 2020-06-02 北京字节跳动网络技术有限公司 Method, device, medium and equipment for automatically adapting to operating environment

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113031932A (en) * 2021-03-11 2021-06-25 腾讯科技(深圳)有限公司 Project development method and device, electronic equipment and storage medium
CN113031932B (en) * 2021-03-11 2023-10-20 腾讯科技(深圳)有限公司 Project development method, apparatus, electronic device and storage medium
CN115061717A (en) * 2022-06-30 2022-09-16 北京亚控科技发展有限公司 Application management method, application subscription method and related equipment
CN115061717B (en) * 2022-06-30 2023-09-05 北京亚控科技发展有限公司 Application management method, application subscription method and related equipment

Similar Documents

Publication Publication Date Title
CN109976761B (en) Software development kit generation method and device and terminal equipment
CN111708539B (en) Application program code conversion method and device, electronic equipment and storage medium
US9086931B2 (en) System for translating diverse programming languages
US9965259B2 (en) System for translating diverse programming languages
US7155381B2 (en) Module for developing wireless device applications using an integrated emulator
Moldovan et al. AG: Imperative-style Coding with Graph-based Performance
US20080270979A1 (en) Methods and systems for using type models to generate an implementation of a type
CN110245467B (en) Android application program protection method based on Dex2C and LLVM
US9965257B2 (en) Automatic configuration of project system from project capabilities
CN111880777A (en) Program information issuing method and device and electronic equipment
CN110673837B (en) Code repairing method and device, electronic equipment and computer readable storage medium
CN111880801A (en) Application program dynamic method and device and electronic equipment
CN113312046A (en) Sub-application page processing method and device and computer equipment
CN110659022B (en) Method for automatically calling Python script based on Java
CN111913741A (en) Object interception method, device, medium and electronic equipment
CN116578282A (en) Code generation method, device, electronic equipment and medium
Golemon Extending and Embedding PHP
CN110737431B (en) Software development method, development platform, terminal device and storage medium
US20040187099A1 (en) System and method for processing price plans on a device based rating engine
JP3266097B2 (en) Automatic reentrant method and system for non-reentrant program
CN117075912B (en) Method for program language conversion, compiling method and related equipment
Böckenkamp roslaunch2: versatile, flexible and dynamic launch configurations for the robot operating system
CN116089019B (en) Hexagon architecture-oriented fine-grained CPU simulator
US8621447B1 (en) Systems and methods for dynamic struct variable creation including inline declaration with dynamic keys
JP2023055358A (en) Simulation method for microcomputer control program and simulation system therefor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination