Software development system and method and electronic equipment

Through the three-layer architecture of business development module, package distribution management module and software development module, independent development and dynamic calls of cross-team software development are realized, solving the problems of complex processes and inefficiency in cross-team development, and improving development efficiency and maintainability.

CN120276709AActive Publication Date: 2025-07-08HONOR DEVICE CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202311871403.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-29
Publication Date
2025-07-08
Estimated Expiration
2043-12-29

AI Technical Summary

Technical Problem

In cross-team software development, business intersections between various development teams cause synchronous updates when updated or modified, resulting in complex and inefficient processes.

Method used

The three-layer architecture of business development module, package distribution management module and software development module are adopted. Each business is independently developed in its respective business development modules, and the business software package is stored through the package distribution management module. The software development module dynamically calls business software packages of different functions and versions to generate target software.

Benefits of technology

It simplifies the cross-team software development process, improves development efficiency, reduces the intersection between business modules, and enhances maintainability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120276709A_ABST
    Figure CN120276709A_ABST
Patent Text Reader

Abstract

The invention provides a software development system and method and electronic equipment, and relates to the field of terminals. The software development system comprises at least one service development module, a packet distribution management module and a software development module, each service development module is in communication connection with the packet distribution management module, and the packet distribution management module is in communication connection with the software development module. Software development is performed through a three-layer architecture of a service development module, a packet distribution management module and a software development module, so that each service can be independently developed and evolved in the respective service development module, and is stored in the packet distribution management module in the form of a service software packet; the software development module can dynamically call the business software packages with different functions and different versions according to requirements and generate the target software, each business module can be independently developed, business intersection among different business modules is reduced, the cross-team software development process is simplified, and the cross-team software development efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of terminals, and in particular, to a software development system, an electronic device, and a readable storage medium. Background Art

[0002] In the process of software development, it often requires the joint collaboration of multiple development teams to complete. Cross-team software development is a problem that many companies need to face.

[0003] In the existing cross-team software development framework, when conducting cross-team software development, there are business intersections among various development teams, and some resources are shared. This will result in the need to update or modify other intersecting businesses when one business needs to be updated or modified, making the cross-team software development process complex and inefficient. Summary of the Invention

[0004] This application provides a software development system, method, and electronic device. Software development is carried out through a three-layer architecture of a business development module, a package distribution management module, and a software development module. Each business can be independently developed and evolved in its own business development module and stored in the package distribution management module in the form of a business software package. The software development module can dynamically call business software packages with different functions and different versions according to requirements to generate the target software, improving the problems of complex process and low efficiency in cross-team software development.

[0005] To achieve the above object, this application adopts the following technical solutions:

[0006] In a first aspect, a software development system is provided. The software development system includes at least one business development module, a package distribution management module, and a software development module. Each business development module is respectively communicatively connected to the package distribution management module, and the package distribution management module is communicatively connected to the software development module. The business development module compiles and packages the received business code to obtain a business software package, and sends the business software package to the package distribution management module. The package distribution management module stores the received business software package, and when receiving a first call instruction from the software development module, sends the corresponding business software package to the software development module. The software development module sends a first call instruction to the package distribution management module according to the received target software configuration file, obtains the corresponding business software package, and compiles, packages, and publishes the obtained business software package to obtain the target software.

[0007] In a first aspect, software development is carried out through a three-layer architecture of a service development module, a package distribution management module, and a software development module. This allows each service to be independently developed and evolved in its respective service development module and stored in the package distribution management module in the form of service software packages. The software development module can dynamically call service software packages with different functions and versions according to requirements to generate the target software. It can independently develop each service module, reduce the service intersection between different service modules, simplify the process of cross-team software development, and improve the efficiency of cross-team software development.

[0008] In some possible implementation manners, the service code includes main process service code, rendering process service code, and interface code, and the service software package includes a main process application package, a rendering process application package, and the name and version information of the service.

[0009] Compiling and packaging the service code to obtain the service software package, including: the service development module separately compiles and packages the main process service code and the rendering process service code according to the service name and service version information to obtain the main process application package and the rendering process application package. Data exchange between the main process application package and the rendering process application package is carried out through a general interface or a custom interface indicated by the interface code. According to the name and version information of the service, the main process application package, the rendering process application package, and the interface code are packaged to obtain the service software package.

[0010] In some possible implementation manners, the target software configuration file includes the name and version of at least one service.

[0011] The software development module sends a first call instruction to the package distribution management module according to the received target software configuration file to obtain the corresponding service software package, including: sending a first call instruction to the package distribution management module according to the name and version information of the service in the target software configuration file, and the first call instruction includes the name and version information of at least one service. The package distribution management module matches the service software package with the same name and version information according to the received first call instruction and sends the service software package to the software development module.

[0012] In some possible implementation manners, the obtained business software package is compiled, packaged, and released to obtain a target software, including: Compiling and packaging the main process application packages in each business software package to obtain the main process application of the target software. The main process application includes multiple main process application packages, as well as the name and version information corresponding to each main process application package. Compiling and packaging the rendering process application packages in each business software package to obtain the rendering process application of the target software. The rendering process application includes multiple rendering process application packages, as well as the name and version information corresponding to each rendering process application package. Compiling and packaging the common interfaces and custom interfaces existing in each business software package to obtain a bridging module. The bridging module includes the call interfaces corresponding to calling each main process application package or rendering process application package. The call interfaces include common interfaces and / or custom interfaces. Releasing the main process application, the rendering process application, and the bridging module to obtain the target software. In the target software, data is exchanged between the main process and the rendering process through the bridging module.

[0013] In some possible implementation manners, data is exchanged between the main process and the rendering process through the bridging module, including: The rendering process sends a second call instruction to the bridging module. The second call instruction includes the name and version information of the main process application package. The bridging module forwards the name and version information to the main process. The main process queries and calls the corresponding main process application package according to the received name and version information, and sends data to the rendering process through the call interface of the main process application package via the bridging module.

[0014] In some possible implementation manners, the business development module includes a note business module, a calendar business module, a global favorites business module, a trust ring business module, and other business modules. The package distribution management module is a Node Package Manager (NPM) module. The software development module is an office software development module, and the target software is an office software.

[0015] In a second aspect, a software development method is provided, which is applied to the business development module. The method includes: Compiling and packaging the business code according to the received business code to obtain a business software package. Sending the business software package to the package distribution management module.

[0016] In some possible implementation manners, the business code includes main process business code, rendering process business code, and interface code, and the business software package includes main process application packages, rendering process application packages, and the name and version information of the business.

[0017] Compile and package the service code according to the received service code to obtain a service software package, including: The service development module compiles and packages the main process service code according to the service name and service version information to obtain a main process application package. The service development module compiles and packages the rendering process service code according to the service name and service version information to obtain a rendering process application package. According to the name and version information of the service, package the main process application package, the rendering process application package, and the interface code to obtain a service software package. Data exchange between the main process application package and the rendering process application package is carried out through the general interface or custom interface indicated by the interface code.

[0018] In a third aspect, a software development method is provided, which is applied to a software development module. The method includes: According to the received target software configuration file, send a first call instruction to the package distribution management module to obtain the corresponding service software package. Compile, package, and publish the obtained service software package to obtain the target software.

[0019] In some possible implementation manners, the target software configuration file includes the names and versions of at least one service.

[0020] According to the received target software configuration file, send a first call instruction to the package distribution management module to obtain the corresponding service software package, including: According to the name and version information of the service in the target software configuration file, send a first call instruction to the package distribution management module. The first call instruction includes the names and version information of at least one service. Receive the service software package from the package distribution management module. The service software package is the service software package with the same name and version information matched by the package distribution management module according to the received first call instruction.

[0021] In some possible implementation manners, compiling, packaging, and publishing the obtained service software package to obtain the target software includes: Compile and package the main process application package in each service software package to obtain the main process application of the target software. The main process application includes multiple main process application packages, and the corresponding name and version information of each main process application package. Compile and package the rendering process application package in each service software package to obtain the rendering process application of the target software. The rendering process application includes multiple rendering process application packages, and the corresponding name and version information of each rendering process application package. Compile and package the general interface and custom interface existing in each service software package to obtain a bridging module. The bridging module includes the call interfaces corresponding to calling each main process application package or rendering process application package. The call interfaces include general interfaces and / or custom interfaces. Publish the main process application, the rendering process application, and the bridging module to obtain the target software. In the target software, data exchange between the main process and the rendering process is carried out through the bridging module.

[0022] In some possible embodiments, data exchange between the main process and the rendering process is carried out through a bridging module, including: the rendering process sends a second call instruction to the bridging module, and the second call instruction includes the name and version information of the main process application package. The bridging module forwards the name and version information to the main process, and the main process queries and calls the corresponding main process application package according to the received name and version information, and sends data to the rendering process through the call interface of the main process application package via the bridging module.

[0023] In a fourth aspect, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it performs the steps of the method in any one of the second aspects.

[0024] In a fifth aspect, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it performs the steps of the method in any one of the third aspects.

[0025] In a sixth aspect, a chip is provided, including: a processor for calling and running a computer program from a memory, so that a device installed with the chip performs the steps of the method in any one of the second or third aspects.

[0026] In a seventh aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program, and the computer program includes program instructions. When the program instructions are executed by a processor, the processor is caused to execute the steps of the method in any one of the second or third aspects.

[0027] In an eighth aspect, a computer program product is provided. The computer program product includes: computer program code, and when the computer program code is run on an electronic device, the electronic device is caused to execute the steps of the method in any one of the second or third aspects.

[0028] Among them, the beneficial effects of the second to eighth aspects can be referred to the first aspect, and will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 is a schematic diagram of an application scenario of a software development system provided by an embodiment of the present application;

[0030] Figure 2 is a hardware structure block diagram of an electronic device provided by an embodiment of the present application;

[0031] Figure 3 is a structure block diagram of the software development system provided by an embodiment of the present application;

[0032] Figure 4 It is a schematic flow chart of the software development method provided by an embodiment of the present application;

[0033] Figure 5 It is a schematic structural diagram of a business software package in the software development method provided by an embodiment of the present application;

[0034] Figure 6 It is a schematic architecture diagram of the target software in the software development method provided by an embodiment of the present application;

[0035] Figure 7 It is a schematic flow chart of data exchange between the main process and the rendering process through a bridging module in the software development method provided by an embodiment of the present application;

[0036] Figure 8 It is a schematic flow chart of the note service of the target software in the software development method provided by an embodiment of the present application;

[0037] Figure 9 It is a structural block diagram of a software development device provided by an embodiment of the present application;

[0038] Figure 10 It is a structural block diagram of a software development device provided by an embodiment of the present application;

[0039] Figure 11 It is a schematic structural diagram of a chip provided by an embodiment of the present application. Detailed implementation manners

[0040] Next, the technical solutions in the present application will be described with reference to the accompanying drawings.

[0041] In the description of the embodiments of the present application, unless otherwise specified, " / " means "or". For example, A / B may mean A or B; herein, "and / or" is merely a description of the associated relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B may mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of the present application, "a plurality of" means two or more than two.

[0042] Hereinafter, the terms "first" and "second" are only used for descriptive purposes and cannot be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of this embodiment, unless otherwise specified, the meaning of "a plurality of" is two or more than two.

[0043] During the software development process, it often requires the cooperation of multiple development teams to complete. Cross-team software development is a problem that many companies need to face.

[0044] For example, in many current software development processes, the Electron framework is used. Electron is an open-source framework through which cross-platform desktop applications can be developed and built using web technologies (HTML, CSS, and JavaScript).

[0045] However, when directly using the existing Electron framework for software development in cross-team software development, there are business intersections among different development teams, and some resources will be shared.

[0046] This will result in the need to update or modify other intersecting businesses when one business needs to be updated or modified. The process of cross-team software development is complex and inefficient.

[0047] In view of this, the present application provides a software development system. The system includes at least one business development module, a package distribution management module, and a software development module. Each business development module is communicatively connected to the package distribution management module, and the package distribution management module is communicatively connected to the software development module. The business development module compiles and packages the received business code to obtain a business software package, and sends the business software package to the package distribution management module. The package distribution management module stores the received business software package and, when receiving a first call instruction from the software development module, sends the corresponding business software package to the software development module. The software development module sends a first call instruction to the package distribution management module according to the received target software configuration file, obtains the corresponding business software package, and compiles, packages, and publishes the obtained business software package to obtain the target software.

[0048] In the present application, software development is carried out through a three-layer architecture of a business development module, a package distribution management module, and a software development module. Each business can be independently developed and evolved in its own business development module and stored in the package distribution management module in the form of a business software package. The software development module can dynamically call business software packages with different functions and different versions according to requirements to generate the target software, enabling independent development of each business module, reducing the business intersections between different business modules, simplifying the process of cross-team software development, and improving the efficiency of cross-team software development.

[0049] Figure 1 It is a schematic diagram of the application scenario of a software development system provided by an embodiment of the present application.

[0050] Reference Figure 1 , the application scenario of the embodiment of the present application will be briefly described first.

[0051] Figure 1Three service development modules 11 are shown, and each service development module 11 includes at least one electronic device 100. When the number of electronic devices 100 in a service development module 11 is 1, the electronic device 100 is equivalent to a service development module 11. When the number of electronic devices 100 in a service development module 11 is greater than 1, multiple electronic devices 100 work together to form a cluster, and the cluster of the entire electronic devices 100 is equivalent to a service development module 11.

[0052] In other application scenarios, the number of service development modules 11 can be more or less, and this application does not limit the number of service development modules.

[0053] Each service development module 11 is communicatively connected to a packet distribution management module 12, and the packet distribution management module 12 can be a file server, a data server, a cloud server, etc.

[0054] The packet distribution management module 12 is communicatively connected to a software development module 13, and the software development module 13 can be an application server, a cloud server, an electronic device 100, or a cluster of multiple electronic devices 100.

[0055] The electronic device 100 in the service development module 11 can receive a part of the service code input or uploaded by the developer. When the complete service code is received in the service development module 11, the service development module 11 can compile and package the service code to obtain a service software package and send it to the packet distribution management module 12. Then, according to the target software configuration file input or uploaded by the developer, the software development module 13 sends a first call instruction to the packet distribution management module 12 to obtain the corresponding service software package, and compiles, packages, and publishes the obtained service software package to obtain the target software.

[0056] Figure 2 It is a hardware structure block diagram of an electronic device provided by an embodiment of this application.

[0057] As an example, the electronic device can include a mobile phone, a tablet computer, a laptop computer, an ultra-mobile personal computer (UMPC), a server, a desktop computer, etc. This application embodiment does not impose any restrictions on the specific type of the electronic device.

[0058] Reference Figure 2, the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. Among them, the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0059] It can be understood that the structure illustrated in the embodiments of this application does not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than those shown in the figure, or combine certain components, or split certain components, or have different component arrangements. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0060] As an example, when the electronic device 100 is a laptop or a tablet computer, it may include all the components shown in the figure, or only include some of the components shown in the figure.

[0061] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors.

[0062] The controller can generate operation control signals according to the instruction operation code and timing signals to complete the control of fetching and executing instructions.

[0063] A memory can also be set in the processor 110 to store instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can save the instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to use the instruction or data again, it can directly call it from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0064] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0065] It can be understood that the interface connection relationships among the modules illustrated in the embodiments of the present invention are only illustrative descriptions and do not constitute a structural limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may also adopt different interface connection methods or a combination of multiple interface connection methods in the above embodiments.

[0066] The charging management module 140 is used to receive a charging input from a charger.

[0067] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives the inputs from the battery 142 and / or the charging management module 140 and supplies power to the processor 110, the internal memory 121, the display screen 194, the camera 193, and the wireless communication module 160, etc.

[0068] The wireless communication function of the electronic device 100 can be implemented by antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modulation and demodulation processor, baseband processor, etc.

[0069] The mobile communication module 150 can provide solutions for wireless communications such as 2G / 3G / 4G / 5G applied to the electronic device 100.

[0070] The wireless communication module 160 can provide solutions for wireless communications such as wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc. applied to the electronic device 100.

[0071] The electronic device 100 implements the display function through the GPU, display screen 194, application processor, etc. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or change display information. The display screen 194 is used to display images, videos, etc.

[0072] The electronic device 100 can implement the shooting function through the ISP, camera 193, video codec, GPU, display screen 194, application processor, etc.

[0073] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement the data storage function. For example, files such as music and videos are saved in the external memory card.

[0074] The internal memory 121 can be used to store computer-executable program code, and the executable program code includes instructions. The internal memory 121 can include a program storage area and a data storage area. In addition, the internal memory 121 can include a high-speed random access memory, and can also include non-volatile memories such as at least one magnetic disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121 and / or the instructions stored in the memory provided in the processor.

[0075] The electronic device 100 can implement audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor, etc. Such as music playback, recording, etc.

[0076] The pressure sensor 180A is used to sense pressure signals and can convert the pressure signals into electrical signals. The gyroscope sensor 180B can be used to determine the motion posture of the electronic device 100. The barometric pressure sensor 180C is used to measure the barometric pressure. The magnetic sensor 180D includes a Hall sensor. The acceleration sensor 180E can detect the magnitude of the acceleration of the electronic device 100 in all directions (generally three axes). The distance sensor 180F is used to measure the distance. The proximity light sensor 180G can include, for example, a light-emitting diode (LED) and a photodetector. The electronic device 100 emits infrared light outward through the light-emitting diode. The electronic device 100 uses a photodiode to detect the infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the electronic device 100. When insufficient reflected light is detected, the electronic device 100 can determine that there is no object near the electronic device 100. The ambient light sensor 180L is used to sense the ambient light brightness. The fingerprint sensor 180H is used to collect fingerprints. The temperature sensor 180J is used to detect the temperature. The touch sensor 180K, also known as a "touch control device". The touch sensor 180K can be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also known as a "touch control screen". In some other embodiments, the touch sensor 180K can also be disposed on the surface of the electronic device 100, at a different position from the display screen 194. The keys 190 include a power-on key, a volume key, etc. The motor 191 can generate a vibration prompt. The indicator 192 can be an indicator light, which can be used to indicate the charging state, the change in battery power, and can also be used to indicate messages, missed calls, notifications, etc. The SIM card interface 195 is used to connect the SIM card.

[0077] For the scenarios in the above examples, the operating system of the electronic device 100 may include, but is not limited to, operating systems such as Symbian, Android, Windows, MacOS, iOS, Blackberry, HarmonyOS, Linux, or Unix, or the corresponding server operating systems.

[0078] In some possible implementation manners, the software development system provided in this application may be based on the Electron framework. In this application, the Electron framework is taken as an example to illustrate the software development system. However, those skilled in the art should clearly understand that the software development system provided in this application may be applied to other frameworks, and this application does not limit this.

[0079] Figure 3 It is a structural block diagram of the software development system provided by the embodiments of this application.

[0080] Reference Figure 3 , the software development system includes multiple business modules, a package distribution management module, and a software development module.

[0081] In this embodiment, each business module includes a main process application package, a rendering process application package, a general interface, and a custom interface compiled according to the corresponding business code. Among them, the custom interface is optional and can be specifically determined according to whether a new interface is customized in the business code. If no new interface is defined, the business module may only include the main process application package, the rendering process application package, and the general interface.

[0082] As an example, the package distribution management module may be the Node Package Manager (NPM). NPM is a package manager for the JavaScript (js) language and is the default package management tool for js scripts (Node.js). Through NPM, libraries (also called modules or packages) that depend on Node.js projects can be installed, shared, and managed.

[0083] As an example, the software development module includes the Electron framework of the target software to be developed, which includes a main process, a rendering process, and a bridging module. Among them, the main process is a process for running the main script and can create and manage browser windows. It belongs to a background process and can be used to provide basic services such as cloud synchronization, account login, data encryption, and logging for the business.

[0084] The rendering process is responsible for rendering web pages in the browser. Each Electron window can run one or more web pages in the corresponding rendering process. It is the user interface (UI) process of the target software and is used for user interaction. Such as responding to the user's mouse click events and receiving the text input by the user in UI interaction scenarios.

[0085] The bridging module is a module that integrates general interfaces, and custom interfaces of each business module can also be added. As the bridge for communication between the main process and the rendering process, it provides communication interfaces for the main process and the rendering process.

[0086] The software development module can also include a function library module. For example, the function library module can be the Node Foreign Function Interface (FFI) or the Node.js Application Programming Interface (N-API). The function library module includes library functions that can be directly called by business code.

[0087] In this embodiment, software development is carried out through a three-layer architecture of the business development module, the package distribution management module, and the software development module. Each business can be independently developed and evolved in its own business development module and stored in the package distribution management module in the form of a business software package. The software development module can dynamically call business software packages with different functions and different versions according to requirements to generate the target software, enabling independent development of each business module, reducing the business intersection between different business modules, simplifying the process of cross-team software development, and improving the efficiency of cross-team software development.

[0088] At the same time, the main process and the rendering process communicate through the bridging module. Compared with the direct communication between the main process and the rendering process, the main process and the rendering process can be decoupled, and the business corresponding to each thread can be maintained and upgraded separately, increasing the maintainability.

[0089] Based on Figure 3 the shown software development system, the present application also provides a software development method, Figure 4 which is a schematic flowchart of the software development method provided by the embodiment of the present application.

[0090] Refer to Figure 4 , the software development method includes:

[0091] S401. The business development module compiles and packages the received business code to obtain a business software package.

[0092] In some possible implementation manners, the service code includes main process service code, rendering process service code, and interface code, and the service software package includes a main process application package, a rendering process application package, and the name and version information of the service.

[0093] Compiling and packaging the service code according to the received service code to obtain a service software package, including: the service development module compiles and packages the main process service code according to the service name and service version information to obtain a main process application package. The service development module compiles and packages the rendering process service code according to the service name and service version information to obtain a rendering process application package. According to the received service name and version information, the main process application package, the rendering process application package, and the interface code are packaged to obtain a service software package, and data exchange is performed between the main process application package and the rendering process application package through a general interface or a custom interface indicated by the interface code.

[0094] As an example, taking the service code of a note application as an example, the main process service code may include note data module code.

[0095] Among them, the note data module code may further include note storage function code, note cloud synchronization function code, note continuation function code, note account function code, note artificial intelligence (AI) function code, note cross-terminal call function code, etc.

[0096] As an example, in the service code of the note application, the rendering process service code may include note interface code and background process code.

[0097] The note interface code may include note application main page code, data storage interface code, note cloud synchronization interface code, etc.

[0098] The background process code includes code for executing related functions such as cloud synchronization, account login, and account logout.

[0099] The interface code is used to record the general interfaces and custom interfaces called in the above code.

[0100] Figure 5 It is a schematic structural diagram of a service software package in the software development method provided by an embodiment of the present application.

[0101] As an example, Figure 5 shows the structure of the note service software package obtained by compiling and packaging with the note service as an example.

[0102] Refer to Figure 5 When compiling and packaging, the service code can be compiled and packaged first according to the English "note" of the service name note and the version number.

[0103] For example, when compiling and packaging the main process service code, each functional module in the note data module code can be compiled, and then all functional modules are packaged to obtain the main process application package, which is named "app-note-main".

[0104] Similarly, when compiling and packaging the rendering process service code, each functional module in the note interface code can be compiled to obtain the rendering process application package, which is named "app-note".

[0105] In some possible implementation manners, the background process code in the rendering process service code can also be separately compiled and packaged, named "app-backend".

[0106] After the interface code is compiled, the common interfaces in the bridging module can be bound to the main process application package according to the interfaces called in the interface code, or the custom interfaces are added to the bridging module and then bound to the main process application package.

[0107] Then, the main process application package, the rendering process application package, and the binding relationships of the common interfaces and custom interfaces in the bridging module are packaged to obtain the business software package of the note service. As an example, the name of the business software package of the note service can be note, and the version information can be set according to a preset rule. For example, the version information can be set according to the packaging date, or can be set according to the rule of "major version - minor version - revision number". The present application does not limit the setting manner of the version information.

[0108] S402. The service development module sends the business software package to the package distribution management module.

[0109] In some possible implementation manners, after the service development module sends the business software package to the package distribution management module, the package distribution module can determine whether there is a business software package with the same name and the same version in the package distribution management module according to the name and version information of the business software package. If there is a business software package with the same name but different versions, the new version is used to replace the old version of the software business package, and then the version of the business software package in the package distribution management module is updated.

[0110] S403. The software development module sends a first call instruction to the package distribution management module according to the received target software configuration file.

[0111] In some possible implementation manners, the target software configuration file can be uploaded by the user, and can include the names and versions of at least one service. For example, when the target software is an office software, the target software configuration file can include the service names and versions of the note service module, the calendar service module, the global collection service module, the trust ring service module, and other service modules.

[0112] Among them, in the first call instruction, it may include the business names and versions of each business module, or it may only include the business names and versions that need to be updated.

[0113] S404. The package distribution management module matches the business software packages with the same name and version information according to the received first call instruction.

[0114] S405. The package distribution management module sends the business software package to the software development module.

[0115] In some possible implementation manners, referring to the package distribution management module shown in S402, after receiving the first call instruction, the package distribution management module matches the business software packages with the same name and version information in the stored business software packages according to each business name and version information in the first call instruction, and sends the matched business software packages to the software development module.

[0116] If no business software package with the same business name and version information is matched, the package distribution management module may also send a prompt message to the software development module. The prompt message is used to prompt the developer to check whether there is an error in entering the name or version information in the target software configuration file.

[0117] S406. The software development module compiles, packages, and publishes the obtained business software package to obtain the target software.

[0118] In some possible implementation manners, compiling, packaging, and publishing the obtained business software package to obtain the target software includes:

[0119] Compiling and packaging the main process application packages in each business software package to obtain the main process application of the target software. The main process application includes multiple main process application packages, as well as the name and version information corresponding to each main process application package.

[0120] Compiling and packaging the rendering process application packages in each business software package to obtain the rendering process application of the target software. The rendering process application includes multiple rendering process application packages, as well as the name and version information corresponding to each rendering process application package.

[0121] Compiling and packaging the common interfaces and custom interfaces existing in each business software package to obtain a bridging module. The bridging module includes: the call interfaces corresponding to calling each main process application package or rendering process application package. The call interfaces include common interfaces and / or custom interfaces.

[0122] In this embodiment, the packaging method is similar to the packaging method in S401, and will not be elaborated here.

[0123] Publish the main process application, the rendering process application, and the bridging module to obtain the target software. In the target software, data exchange is performed between the main process and the rendering process through the bridging module.

[0124] Figure 6 It is a schematic diagram of the architecture of the target software in the software development method provided by the embodiments of the present application.

[0125] In some possible implementation manners, referring to Figure 6 , the main process includes a running environment module, which includes cloud synchronization service, connection service, account service, data disk writing service, etc.

[0126] The main process also includes multiple main process application packages, such as note data module (app-note-main), calendar / todo module (app-calendar-main), file management (app-manager-main), trust ring (app-security-main), global collection (app-manager-main), remote control (app-control-main), contacts / calls (app-link-main), other (app-other-main), process management, version download and other modules.

[0127] The rendering process includes a tab page adaptation module, which includes adaptation codes for interfaces such as tab pages, title bars, setting interfaces, split screens, and data interfaces.

[0128] The rendering process also includes multiple rendering process application packages, such as rendering codes for interfaces such as note interface (app-note), calendar / todo interface (app-calendar), file management interface (app-manager), global collection interface (app-manager), trust ring interface (app-security), remote control interface (app-control), etc.

[0129] In this embodiment, by separately compiling and packaging the business codes in the business development module according to the main process, the rendering process, and the bridging module, and then also separately compiling and packaging according to the main process, the rendering process, and the bridging module when generating the target software, a unified communication method can be provided between the main process and the rendering process, decouple the main process and the rendering process, and enhance the maintainability of the target software.

[0130] At the same time, separately compiling and packaging various services / businesses can provide more service capabilities, unify the code life cycle, and facilitate the management of service capabilities.

[0131] Figure 7It is a schematic flowchart of data exchange between the main process and the rendering process through a bridging module in the software development method provided by an embodiment of this application.

[0132] In some possible implementation manners, data exchange between the main process and the rendering process through a bridging module includes:

[0133] S701. The main process registers a corresponding service according to the name of the main process application package.

[0134] In some possible implementation manners, when compiling and packaging the main process application packages in each business software package to obtain the main process application of the target software, each main process application package can be registered according to its name to obtain the corresponding service / business, that is, putting the service / business corresponding to the main process application package online. The version information of the registered main process application package can also be recorded during registration.

[0135] For example, if the main process application package is "app-note-main" and the version information can be "major version-minor version-revision number" (such as 4.2.138), the registered service can be "note". After successful registration, the note service with the version information of 4.2.138 goes online.

[0136] S702. The rendering process sends a second call instruction to the bridging module.

[0137] In some possible implementation manners, the second call instruction includes the name and version information of the main process application package. The second call instruction can be automatically sent by the rendering process according to the software running situation, or can be sent after receiving and responding to a user instruction. The second call instruction is used to call the corresponding service / business in the main process.

[0138] S703. The bridging module sends the name and version information in the second call instruction to the main process.

[0139] S704. The main process queries and calls the corresponding main process application package according to the received name and version information.

[0140] In some possible implementation manners, the main process can first find the registered successful service / business according to the received name. If a registered successful service / business is found, then check whether it is the correct version according to the version information. If the version information is also verified successfully, it can be determined that the main process application package corresponding to the service / business can be called.

[0141] For example, if the name in the second call instruction is "note" and the version information is 4.2.138, the main process can match the successfully registered note service according to "note", and then retrieve the version information of the registered note service. If the version information of the registered note service is also 4.2.138, it is confirmed that the main process application package of the note service can be called.

[0142] S705. Send data to the rendering process through the call interface of the main process application package via the bridging module.

[0143] In some possible implementation manners, the main process application package is bound to the corresponding general interface or custom interface. After determining that the main process application package corresponding to the service / business can be called, data can be sent to the rendering process through the general interface or custom interface bound to the main process application package.

[0144] In this embodiment, the services / businesses in the main process, the services / businesses in the rendering process, and the bridging module are decoupled, which is beneficial to each service providing services independently and being updated and maintained independently, simplifies the software development process, and improves the software development efficiency.

[0145] Here, taking the note service running on a personal computer (PC) as an example, the interaction logic between the main process and the rendering process is further described.

[0146] Figure 8 It is a schematic flow diagram of the note service of the target software in the software development method provided by the embodiments of the present application.

[0147] Reference Figure 8 , in the rendering process, the tab adaptation module can adapt the tab according to the page configuration parameters. Among them, the page configuration parameters can be written into the target software configuration file by developers. It can include the number of tabs, the name of each tab, the style of the title bar, the name, the options in the setting interface, whether split screen is supported, configuring the general interface and custom interface, etc.

[0148] The tab adaptation and the note interface jointly implement the interaction experience (User experience, UX) between the note service and the user. When the service in the note interface is called, the UX can send a service call (getservice) instruction to the bridging module to obtain the data of the service from the main process.

[0149] After receiving the getservice instruction, the bridging module can obtain the interface bound to the service in the getservice instruction. As an example, the interface can be a general interface (interface) or a custom interface.

[0150] After the bridging module opens the bound interfaces, the getservice instruction can obtain corresponding service data from the running environment and the note data module through the opened interfaces, completing a data interaction in the note service.

[0151] It should be understood that the above examples are provided to help those skilled in the art understand the embodiments of the present application, rather than limiting the embodiments of the present application to the specific numerical values or specific scenarios illustrated.

[0152] Based on the above examples given, those skilled in the art can obviously make various equivalent modifications or changes, and such modifications or changes also fall within the scope of the embodiments of the present application.

[0153] Corresponding to the software development method applied to the service development module provided in the above embodiments, Figure 9 The following is a structural block diagram of a software development device provided by an embodiment of the present application. For the sake of convenience of description, only the parts related to the embodiments of the present application are shown.

[0154] Refer to Figure 9 , a software development device, applied to a service development module, includes:

[0155] A compilation module 901, configured to compile and package the service code according to the received service code to obtain a service software package.

[0156] A sending module 902, configured to send the service software package to a package distribution management module.

[0157] In some possible implementation manners, the service code includes main process service code, rendering process service code, and interface code, and the service software package includes a main process application package, a rendering process application package, and the name and version information of the service.

[0158] The compilation module 901 is specifically configured for the service development module to compile and package the main process service code according to the service name and service version information to obtain a main process application package. The service development module compiles and packages the rendering process service code according to the service name and service version information to obtain a rendering process application package. According to the name and version information of the service, the main process application package, the rendering process application package, and the interface code are packaged to obtain a service software package, and data exchange between the main process application package and the rendering process application package is performed through a general interface or a custom interface indicated by the interface code.

[0159] Corresponding to the software development method applied to the software development module provided in the above embodiments, Figure 10 The following is a structural block diagram of a software development device provided by an embodiment of the present application. For the sake of convenience of description, only the parts related to the embodiments of the present application are shown.

[0160] Reference Figure 10 A software development device, applied to a software development module, includes:

[0161] An acquisition module 1001, configured to send a first call instruction to a package distribution management module according to a received target software configuration file, and acquire a corresponding business software package.

[0162] A compilation module 1002, configured to compile, package, and publish the acquired business software package to obtain a target software.

[0163] In some possible implementation manners, the target software configuration file includes the names and versions of at least one business.

[0164] The acquisition module 1001 is specifically configured to send a first call instruction to the package distribution management module according to the names and version information of the businesses in the target software configuration file, and the first call instruction includes the names and version information of at least one business. Receive the business software package from the package distribution management module, and the business software package is the business software package with the same names and version information matched by the package distribution management module according to the received first call instruction.

[0165] In some possible implementation manners, the compilation module 1002 is specifically configured to compile and package the main process application packages in each business software package to obtain the main process application of the target software. The main process application includes multiple main process application packages, and the names and version information corresponding to each main process application package. Compile and package the rendering process application packages in each business software package to obtain the rendering process application of the target software. The rendering process application includes multiple rendering process application packages, and the names and version information corresponding to each rendering process application package. Compile and package the common interfaces and custom interfaces existing in each business software package to obtain a bridging module. The bridging module includes call interfaces corresponding to calling each main process application package or rendering process application package, and the call interfaces include common interfaces and / or custom interfaces. Publish the main process application, the rendering process application, and the bridging module to obtain the target software. In the target software, data is exchanged between the main process and the rendering process through the bridging module.

[0166] In some possible implementation manners, it further includes a communication module 1003, configured to send a second call instruction from the rendering process to the bridging module. The second call instruction includes the names and version information of the main process application packages. The bridging module forwards the names and version information to the main process, and the main process queries and calls the corresponding main process application package according to the received names and version information, and sends data to the rendering process through the call interface of the main process application package via the bridging module.

[0167] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the above division of each functional unit and module is used as an example. In actual applications, the above functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above.

[0168] Each functional unit and module in the embodiment can be integrated into a processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. For example, a "module" can be a software program, a hardware circuit, or a combination of both that implements the above functions. The hardware circuit may include an application specific integrated circuit (ASIC), an electronic circuit, a processor (such as a shared processor, a proprietary processor, or a group of processors, etc.) for executing one or more software or firmware programs, and a memory, a merged logic circuit, and / or other suitable components that support the described functions.

[0169] Therefore, the modules in each example described in the embodiments of the present application can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.

[0170] In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction and do not limit the protection scope of the present application. The specific working processes of the units and modules in the above system can refer to the corresponding processes in the following method embodiments and will not be elaborated here.

[0171] It should be understood that the hardware system and the chip in the embodiments of the present application can execute the various methods for entering the long standby mode in the foregoing embodiments of the present application, that is, the specific working processes of the following various products can refer to the corresponding processes in the foregoing method embodiments.

[0172] The embodiments of the present application also provide another electronic device, including a processor and a memory.

[0173] The memory is used to store a computer program that can run on the processor.

[0174] The processor is used to execute the steps of the processing in the method for entering the long standby mode as described above.

[0175] An embodiment of the present application also provides a computer-readable storage medium, in which computer instructions are stored; when the computer-readable storage medium runs on an electronic device, the electronic device is caused to execute the method as described above.

[0176] The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from a website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.).

[0177] The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more integrated media.

[0178] The available medium can be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium, or a semiconductor medium (such as a solid state disk (SSD)).

[0179] An embodiment of the present application also provides a computer program product containing computer instructions. When it runs on an electronic device, the electronic device can execute the technical solution as described above.

[0180] Figure 11 It is a schematic structural diagram of a chip provided by an embodiment of the present application. Figure 11 The chip shown can be a general-purpose processor or a special-purpose processor. The chip includes a processor 1101. Among them, the processor 1101 is used to support the electronic device to execute the technical solution as described above.

[0181] Optionally, the chip further includes a transceiver 1102. The transceiver 1102 is used to accept the control of the processor 1101 and is used to support the communication device to execute the technical solution as described above.

[0182] Optionally, Figure 11 The chip shown may further include: a storage medium 1103.

[0183] It should be noted that Figure 11The chip shown can be implemented using the following circuits or devices: one or more field programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gate logic, discrete hardware components, any other suitable circuits, or any combination of circuits capable of performing the various functions described throughout this application.

[0184] The electronic device, computer storage medium, computer program product, and chip provided in the embodiments of the present application are all used to execute the method provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects corresponding to the method provided above, and will not be elaborated here.

[0185] It should be understood that the above is only to help those skilled in the art better understand the embodiments of the present application, rather than to limit the scope of the embodiments of the present application. Those skilled in the art can clearly make various equivalent modifications or changes according to the above examples given.

[0186] For example, in some embodiments of the above method, certain steps may not be necessary, or certain steps may be newly added, etc. Or any combination of any two or any multiple of the above embodiments. Such modified, changed, or combined solutions also fall within the scope of the embodiments of the present application.

[0187] It should also be understood that the above description of the embodiments of the present application focuses on emphasizing the differences between the various embodiments. The same or similar parts not mentioned can be referred to each other. For the sake of brevity, they will not be elaborated here.

[0188] It should also be understood that the magnitude of the sequence numbers of the above processes does not mean the order of execution. The order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.

[0189] It should also be understood that in the embodiments of the present application, "pre-set" and "pre-defined" can be implemented by pre-saving corresponding codes, tables, or other means that can be used to indicate relevant information in a device (for example, including an electronic device). The present application does not limit its specific implementation manner.

[0190] It should also be understood that the classification of the manners, situations, categories, and embodiments in the embodiments of the present application is only for the convenience of description and should not constitute a special limitation. The features in various manners, categories, situations, and embodiments can be combined without conflict.

[0191] It should also be understood that in various embodiments of the present application, if there is no special indication and logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced to each other, and the technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.

[0192] Finally, it should be noted that the above is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A software development system, characterized in that, The system includes at least one business development module, a package distribution management module, and a software development module. Each of the business development modules is communicatively connected to the package distribution management module, and the package distribution management module is communicatively connected to the software development module; The business development module compiles and packages the received business code to obtain a business software package, and sends the business software package to the package distribution management module; The package distribution management module stores the received business software package, and when receiving a first call instruction from the software development module, sends the corresponding business software package to the software development module; The software development module sends a first call instruction to the package distribution management module according to the received target software configuration file, obtains the corresponding business software package, and compiles, packages, and publishes the obtained business software package to obtain the target software.

2. The software development system according to claim 1, wherein The business code includes main process business code, rendering process business code, and interface code, and the business software package includes a main process application package, a rendering process application package, and the name and version information of the business; Compiling and packaging the business code to obtain a business software package includes: The business development module compiles and packages the main process business code and the rendering process business code respectively according to the business name and business version information to obtain the main process application package and the rendering process application package. Data exchange between the main process application package and the rendering process application package is carried out through a general interface or a custom interface indicated by the interface code; According to the name and version information of the business, the main process application package, the rendering process application package, and the interface code are packaged to obtain the business software package.

3. The software development system according to claim 2, wherein The target software configuration file includes the name and version of at least one business; The software development module sends a first call instruction to the package distribution management module according to the received target software configuration file to obtain the corresponding business software package, including: Sending a first call instruction to the package distribution management module according to the name and version information of the business in the target software configuration file, and the first call instruction includes the name and version information of at least one business; The package distribution management module matches the business software package with the same name and version information according to the received first call instruction, and sends the business software package to the software development module.

4. The software development system according to claim 3, wherein Compiling, packaging, and publishing the obtained business software package to obtain the target software includes: Compiling and packaging the main process application package in each business software package to obtain the main process application of the target software. The main process application includes multiple main process application packages, and the name and version information corresponding to each main process application package; Compiling and packaging the rendering process application package in each business software package to obtain the rendering process application of the target software. The rendering process application includes multiple rendering process application packages, and the name and version information corresponding to each rendering process application package; Compile and package the common interfaces and custom interfaces existing in each of the business software packages to obtain a bridging module. The bridging module includes call interfaces corresponding to calling each of the main process application packages or the rendering process application packages. The call interfaces include common interfaces and / or custom interfaces; Publish the main process application, the rendering process application, and the bridging module to obtain a target software. In the target software, data is exchanged between the main process and the rendering process through the bridging module.

5. The software development system according to claim 4, wherein Data exchange between the main process and the rendering process through the bridging module includes: The rendering process sends a second call instruction to the bridging module. The second call instruction includes the name and version information of the main process application package; The bridging module forwards the name and version information to the main process. The main process queries and calls the corresponding main process application package according to the received name and version information, and sends data to the rendering process through the call interface of the main process application package via the bridging module.

6. The software development system according to any one of claims 1-5, characterized in that, The business development module includes a note business module, a calendar business module, a global collection business module, a trust ring business module, and other business modules; The package distribution management module is a Node Package Manager (NPM) module; The software development module is an office software development module, and the target software is an office software.

7. A software development method, characterized in that, When applied to the business development module, the method includes: Compile and package the business code according to the received business code to obtain a business software package; Send the business software package to the package distribution management module.

8. The method according to claim 7, characterized in that, The business code includes main process business code, rendering process business code, and interface code. The business software package includes a main process application package, a rendering process application package, and the name and version information of the business; The step of compiling and packaging the business code according to the received business code to obtain a business software package includes: The business development module compiles and packages the main process business code according to the business name and business version information to obtain the main process application package; The business development module compiles and packages the rendering process business code according to the business name and business version information to obtain the rendering process application package; According to the name and version information of the business, package the main process application package, the rendering process application package, and the interface code to obtain the business software package. Data is exchanged between the main process application package and the rendering process application package through the common interface or custom interface indicated by the interface code.

9. A software development method, characterized in that, When applied to the software development module, the method includes: According to the received target software configuration file, send a first call instruction to the package distribution management module to obtain the corresponding business software package; Compile, package, and publish the obtained business software package to obtain the target software.

10. The method according to claim 9, wherein The target software configuration file includes the name and version of at least one business; The step of sending a first call instruction to the package distribution management module according to the received target software configuration file to obtain the corresponding business software package includes: Send a first call instruction to the package distribution management module according to the name and version information of the service in the target software configuration file, where the first call instruction includes the name and version information of at least one such service; Receive a service software package from the package distribution management module, where the service software package is a service software package with the same name and version information matched by the package distribution management module according to the received first call instruction.

11. The method according to claim 9 or 10, characterized in that, Compiling, packaging, and publishing the obtained service software package to obtain the target software includes: Compiling and packaging the main process application packages in each service software package to obtain the main process application of the target software, where the main process application includes multiple main process application packages, as well as the name and version information corresponding to each main process application package; Compiling and packaging the rendering process application packages in each service software package to obtain the rendering process application of the target software, where the rendering process application includes multiple rendering process application packages, as well as the name and version information corresponding to each rendering process application package; Compiling and packaging the common interfaces and custom interfaces existing in each service software package to obtain a bridging module, where the bridging module includes call interfaces corresponding to calling each main process application package or the rendering process application package, and the call interfaces include common interfaces and / or custom interfaces; Publishing the main process application, the rendering process application, and the bridging module to obtain the target software, where in the target software, data is exchanged between the main process and the rendering process through the bridging module.

12. The method according to claim 11, wherein Data exchange between the main process and the rendering process through the bridging module includes: The rendering process sends a second call instruction to the bridging module, where the second call instruction includes the name and version information of the main process application package; The bridging module forwards the name and version information to the main process, and the main process queries and calls the corresponding main process application package according to the received name and version information, and sends data to the rendering process through the call interface of the main process application package via the bridging module.

13. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the method described in any one of claims 7 to 8 is implemented.

14. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the method described in any one of claims 9 to 12 is implemented.

Citation Information

Patent Citations

  • Rendering process separation method based on Chromium

    CN107292163A

  • Front-end and back-end communication method and system based on Electron architecture

    CN115065673A

  • Industrial software micro-service merging method and system

    CN115827100A

  • Implementation method and device of application program based on Electron

    CN116301807A

  • Inter-process rendering pipeline for shared process remote web content rendering

    US11089081B1