Multi-process framework-based client application development platform and method
By introducing an independent business processing service module into the multi-process framework, the problems of main process communication bottleneck, synchronous communication blocking, and uneven resource scheduling are solved, enabling efficient and stable client application development and improving response speed and flexibility.
Patent Information
- Application Number
- PCT/CN2025/135397
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-11-19
- Filing Date
- 2025-11-17
- Publication Date
- 2026-05-28
Smart Images

Figure CN2025135397_28052026_PF_FP_ABST
Abstract
Description
A client application development platform and method based on a multi-process framework
[0001] This application claims priority to Chinese Patent Application No. 202411648656.4, filed on November 19, 2024, entitled "A Client Application Development Platform and Method Based on a Multi-Process Framework", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of software development, and in particular to a client application development platform and method based on a multi-process framework. Background Technology
[0003] Developers typically use open-source multi-process frameworks to build cross-platform client applications, but multi-process frameworks still have the following drawbacks in client application development:
[0004] (1) Main process communication bottleneck: The main process plays a core role in communicating with the rendering process. As the complexity of the application increases, the amount of communication that the main process needs to handle increases dramatically, which may become a performance bottleneck. Especially in Electron and NW.js, if the communication mechanism is poorly designed or the load is too high, it will lead to response delay and performance degradation, affecting the user experience.
[0005] (2) Blocking issues caused by synchronous communication mechanisms: The main process and the rendering process often use synchronous communication mechanisms. This mechanism may perform well in simple scenarios, but when handling complex tasks or high-concurrency requests, any blocking of the main process may cause the rendering process to wait for a long time to respond, and in severe cases, it may even cause the rendering process to appear to freeze. This non-asynchronous design pattern greatly limits the scalability and stability of the application.
[0006] (3) Uneven resource allocation and overload issues: As the resource scheduler, the main process is responsible for the allocation and scheduling of resources among the rendering processes. When the main process is overloaded, it may not be able to manage resources effectively, resulting in some rendering processes being short of resources while other processes may have excess resources. This uneven resource allocation problem will directly affect the application's performance and user experience.
[0007] (4) Chain reaction of global service response delays: The response speed of global services (such as file I / O, network requests, etc.) is crucial to the entire application. If these services experience delays or failures in the main process, they will affect all rendering processes that depend on them through communication mechanisms, creating a chain reaction. This global dependency increases the complexity and maintenance difficulty of the application. Summary of the Invention
[0008] The purpose of this application is to provide a client application development platform and method based on a multi-process framework, which builds an easy-to-maintain application framework and improves the response speed and stability of the application.
[0009] To achieve the above objectives, this application provides the following solution.
[0010] In a first aspect, this application provides a client application development platform based on a multi-process framework, including a multi-process framework module and a business processing service module; the multi-process framework module includes a main process sub-module and at least one rendering process sub-module; the main process sub-module communicates with the rendering process sub-module and the business processing service module respectively; the rendering process sub-module also communicates with the business processing service module.
[0011] The main process submodule is used to manage the lifecycle activities of client applications and coordinate the execution of each client application.
[0012] The rendering process submodule is used to render according to the received business operation instructions, display the rendering interface to the user, obtain user operation information to generate user business requests, send the user business requests to the business processing service module, receive data processing results and update the rendering interface.
[0013] The business processing service module is used to automatically start the business processing service according to a preset start command, or to start the business processing service according to a received start command; to receive user business requests sent by the rendering process submodule, to process the data, and to return the data processing results to the rendering process submodule; the business processing service module supports development using multiple programming languages.
[0014] Secondly, this application provides a client application development method based on a multi-process framework, applied to a client application development platform based on a multi-process framework, the method including...
[0015] The main process submodule manages the lifecycle activities of client applications and coordinates the execution of each client application.
[0016] The business processing service module can automatically start the business processing service based on a preset start command, or start the business processing service based on a received start command.
[0017] The rendering process submodule renders the data according to the received business operation instructions and displays the rendered interface to the user. At the same time, it obtains user operation information, generates user business requests, and sends the user business requests to the business processing service module.
[0018] The business processing service module receives user business requests sent by the rendering process submodule, processes the data, and returns the data processing results to the rendering process submodule. The business processing service module supports development using multiple programming languages.
[0019] The rendering process submodule receives the data processing results and updates the rendering interface.
[0020] According to the specific embodiments provided in this application, the following technical effects are achieved:
[0021] This application provides a client application development platform and method based on a multi-process framework. It establishes an independent business processing service module, thereby introducing an independent, cross-platform deployable local business processing service to achieve decoupling and centralized processing of business logic. Through communication and interaction between the main process submodule, the rendering process submodule, and the business processing service module, the business logic processing tasks originally handled by the main process are completely separated and handled by the independent business processing service. This setup not only improves the application's response speed and stability but also enables the construction of a flexible, scalable, and easily maintainable application framework. Furthermore, the business processing service supports developers in implementing business logic using multiple programming languages, thereby fully utilizing existing resources and accelerating project development and deployment. Attached Figure Description
[0022] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0023] Figure 1 is a schematic diagram of a client application development platform based on a multi-process framework provided in an embodiment of this application.
[0024] Figure 2 is a schematic diagram of login verification provided in an embodiment of this application.
[0025] Figure 3 is a schematic diagram of email list retrieval provided in an embodiment of this application.
[0026] Figure 4 is a schematic diagram of receiving emails according to an embodiment of this application.
[0027] Figure 5 is a schematic diagram of reading emails provided in an embodiment of this application.
[0028] Figure 6 is a schematic diagram of sending emails according to an embodiment of this application. Detailed Implementation
[0029] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0030] Multi-process frameworks have revolutionized the way client-side applications are developed. Their ability to enable developers to build cross-platform client applications using familiar web technologies (HTML, CSS, and JavaScript) has greatly expanded the application scope of Electron-like platforms, leading to their widespread adoption across numerous fields. From lightweight code editors like Visual Studio Code to cross-platform communication tools like Skype, and professional API development and testing tools like Postman, Electron, with its cross-platform compatibility and ease of use in front-end technologies, has become the technological backbone behind many well-known software programs.
[0031] Based on this, this application restructures the application's business processing model to achieve an efficient, secure, and flexible application framework, promoting the development of multi-process framework client applications towards a more professional and modular direction. Furthermore, the client application developed in this application refers to an application installed on a user device, which can be a personal terminal computer, tablet computer, or any other hardware capable of running applications. The client application interacts directly with the user device and typically needs to communicate with the server to acquire or store data.
[0032] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0033] In an exemplary embodiment, as shown in FIG1, a client application development platform based on a multi-process framework is provided, including a multi-process framework module and a business processing service module. The multi-process framework module includes a main process submodule and at least one rendering process submodule. The main process submodule communicates with the rendering process submodule and the business processing service module, respectively. The rendering process submodule also communicates with the business processing service module. The business processing service module also communicates with the cloud. The business processing service module is further used to interact with the cloud during data processing to achieve data storage or data retrieval.
[0034] (i) The main process submodule is used to manage the lifecycle activities of the client applications and coordinate the execution of each client application; determine the corresponding current main process according to the application requirements of the client applications; generate business operation instructions and startup instructions based on the current main process; send the business operation instructions to the rendering process submodule; and send the startup instructions to the business processing service module.
[0035] The application requirements of client applications generally include the management of lifecycle events, the management of window creation events, interaction with the operating system, and the execution of preset lightweight business logic. Lifecycle events include application startup, application exit, application restart, and application upgrade; window creation events include window creation, window display, window hiding, window closing, window minimization, and window maximization, and may also include the layout and state settings of multiple windows; interaction with the operating system includes reading system configuration, managing notifications, and handling system-level shortcuts; preset lightweight business logic includes user login status verification and window permission control, all of which are lightweight business logic. In implementing these functions, communication between the main process submodule and the rendering process submodule is achieved through the IPC (Inter-Process Communication) mechanism.
[0036] (II) The business processing service module is used to automatically start the business processing service according to a preset startup instruction, or to receive the startup instruction and start the business processing service according to the startup instruction; to receive user business requests sent by the rendering process submodule, perform data processing (such as database queries, external API calls, etc.), and return the data processing results to the rendering process submodule; the business processing service module supports development using multiple programming languages and supports multiple network communication protocols to assist in completing the data processing process; wherein, the business processing service supports multiple network communication protocols to ensure smooth interaction with the rendering process and improve efficiency. The business processing service is a socket service, and a socket service can be a web service, which allows this application to have a wide range of applications.
[0037] Specifically, the business processing service module is responsible for the data and business logic assigned to it by the main process submodules, such as heavy-load data or business logic (complex calculations, external service interactions, user interaction processing, etc.), to avoid overloading the main process. The business processing service can flexibly adopt cross-platform languages such as Java, PHP, and Go, supporting direct business migration and allowing technical personnel to write relevant business programs using their familiar languages without needing to learn JavaScript to implement backend business logic. In implementing the above functions, the business processing service module provides RESTful APIs or WebSocket interfaces for the rendering process submodules to call.
[0038] (III) The rendering process submodule is used to render according to the received business operation instructions and display the rendered interface to the user. Simultaneously, it acquires user operation information, generates user business requests, and sends the user business requests to the business processing service module. It receives data processing results and updates the rendered interface, which can then be displayed to the user. Furthermore, the rendering process submodule is also used to handle business logic directly related to the interface, such as form validation and data formatting.
[0039] In another specific application example, the business processing service module in the client application development platform based on the multi-process framework is still based on the multi-process framework. The application scenarios of this platform include various applications based on desktop PCs, such as email systems, IoT device management systems, content management systems, instant messaging systems, and real-time collaborative editing tools. In addition, it can also be applied to enterprise-level applications (such as CRM systems and ERP systems), cross-platform game clients, online education platforms, and multimedia content creation and editing software, etc., to achieve complex data processing, real-time interaction, and cross-platform compatibility.
[0040] In another specific application example, the business processing service module in the client application development platform based on a multi-process framework is still based on a multi-process framework, specifically the Electron framework, and the corresponding module is an Electron framework module. In terms of application characteristics, Electron demonstrates excellent cross-platform capabilities, enabling a single codebase to run seamlessly on multiple operating systems such as Windows, macOS, and Linux, significantly reducing development costs and shortening time-to-market. They also fully leverage the convenience of front-end development, allowing front-end developers to easily transition to client application development without needing to learn new skills, thereby improving development efficiency and end-user experience. Furthermore, both provide rich APIs and extension mechanisms, supporting comprehensive coverage from file operations and network requests to underlying system functions, and allowing developers to call the operating system's native interfaces to achieve deeper functional integration and extension.
[0041] In terms of platform framework, Electron's multi-process framework mainly consists of three parts: Chromium, Node.js, and the application layer. Chromium, as the front-end rendering engine, is responsible for drawing the application's main window and all view content, providing underlying UI controls, a JavaScript engine, and network communication functionalities. Node.js, as the back-end runtime environment, provides low-level API interfaces and supports system-level functions such as file operations, process management, and network communication. The application layer is an application framework built on Chromium and Node.js, used for developing the interface design and business logic of client applications. This framework perfectly combines the web technology stack and underlying system functions, providing developers with a flexible and scalable approach to client application development. Correspondingly, the main process submodule calls the Electron API interface to manage windows and system functions.
[0042] In another specific application example, taking an email system as an example, this application provides a client application development platform based on a multi-process framework for use in an email system, to achieve multiple functions such as login verification, mail list retrieval, email retrieval, email reading, and email sending.
[0043] (11) Login verification. The corresponding rendered interface is the user login interface, the corresponding user operation information is the username entered by the user, the password entered by the user, and the type of button clicked by the user, and the corresponding user business request is the login verification request.
[0044] The business processing service module is further configured to: listen for login verification requests from the rendering process submodule within the business processing service; parse the login verification request upon receipt to obtain the corresponding username and password; establish a connection with the mail server and, after successful connection, perform login verification using the parsed username and password to obtain a verification result; encapsulate the verification result as a data processing result into an HTTP response and return it to the rendering process submodule; the verification result is either verification successful or verification failed; when the verification result is verification successful, poll the mail server to store the email in a local database for later use.
[0045] The rendering process submodule is also used to perform business rendering based on the data processing results, so as to update the user login interface and display the corresponding login success or login failure prompt information to the user.
[0046] (12) Email list retrieval. The corresponding rendered interface is the email interface after successful login, and the corresponding user business request is an email list retrieval request.
[0047] The business processing service module is further configured to perform a corresponding database query operation based on the received email list retrieval request in the business processing service to obtain email list data sorted according to a preset time sequence; encapsulate the email list data sorted according to the preset time sequence as a data processing result into a response body and return it to the rendering process submodule.
[0048] The rendering process submodule is also used to perform business rendering based on the data processing results, so as to update the email interface after successful login and display the updated email list interface to the user.
[0049] (13) Retrieve emails. The corresponding rendered interface is the email display interface.
[0050] The business processing service module is also used to start a preset mail receiving process in the business processing service; the preset mail receiving process is used to automatically connect to the mail server at preset intervals, then retrieve all emails received within the preset interval, download and decode them, store the decoded email data in the local database for later use, and generate a mail receiving success reminder; and send the mail receiving success reminder to the rendering process submodule in real time through a WebSocket long connection.
[0051] The rendering process submodule is also used to send an HTTP request to the business processing service module based on the successful receipt of the email.
[0052] The business processing service module is also used to return the email data corresponding to all emails received within the preset time period as the data processing result to the rendering process submodule according to the HTTP request.
[0053] The rendering process submodule is also used to perform business rendering based on the data processing results, so as to update the email display interface and display the corresponding email summary information to the user.
[0054] (14) Read email. The corresponding rendering interface is the email display interface, the corresponding user operation information is that the user clicks to view an email, and the corresponding user business request is an email viewing request; the email viewing request contains a unique identifier of the email that the user clicked.
[0055] The business processing service module is further configured to receive and parse the email viewing request in the business processing service to obtain the unique identifier; perform data query in the local database based on the unique identifier, encapsulate the queried email data as the data processing result into a response body, and then return it to the rendering process submodule.
[0056] The rendering process submodule is also used to perform business rendering based on the data processing results, so as to update the email display interface and display the corresponding email details to the user.
[0057] (15) Send email. The corresponding rendered interface is the email composition interface, the corresponding user operation information is the user clicking the send button, and the corresponding user business request is the email sending request; the email sending request includes the email sending content; the email sending content includes the recipient's address.
[0058] The business processing service module is further configured to receive and parse the email sending request to obtain the email sending content; encode the email sending content and store it on a local server for later use; establish a connection with the mail server based on the SMTP protocol, and after a successful connection, send the encoded email sending content stored on the local server to the target mail server via the mail server; the target mail server corresponds to the recipient address.
[0059] Based on the same inventive concept, this application also provides a client application development method based on a multi-process framework, applied to the aforementioned client application development platform based on a multi-process framework, the method comprising:
[0060] Step 100 involves managing the lifecycle activities of the client applications and coordinating the execution of each client application through the main process submodule. The content related to the client application software is the same as described above in the section on the client application development platform based on a multi-process framework, and will not be repeated here.
[0061] Step 200: The business processing service module automatically starts the business processing service according to the preset start command, or starts the business processing service according to the received start command.
[0062] Step 300: The rendering process submodule renders the data according to the received business operation instructions and displays the rendered interface to the user. At the same time, it obtains user operation information, generates user business requests, and sends the user business requests to the business processing service module.
[0063] Step 400: The business processing service module receives user business requests sent by the rendering process submodule, processes the data, and returns the data processing results to the rendering process submodule; the business processing service module supports development using multiple programming languages.
[0064] Step 500: Receive the data processing results and update the rendering interface through the rendering process submodule.
[0065] Taking an email system as an example, the client application development method based on a multi-process framework in this application can also implement multiple functions such as login verification, mail list retrieval, email receiving, email reading, and email sending. Furthermore, in practical applications, these functions can be implemented sequentially, with subsequent processing based on previously implemented functions. Additionally, the Electron framework can be selected as needed, with the corresponding main process submodule being the Electron main process; web services can also be used as required.
[0066] (21) Login verification, as shown in Figure 2.
[0067] First, after the client application development platform based on the multi-process framework starts, the email system client starts. At this time, the main process submodule is responsible for initializing the rendering process and starting the business processing service. The rendering process submodule loads the user login interface through rendering, which is displayed to the user in the form of a UI. The business processing service module (such as using a web service) begins to listen for login verification requests from the rendering process submodule and polls the backend mail server to continuously store emails in the local database. In practical applications, the rendering process results can also be displayed to the user.
[0068] Secondly, the user enters their username and password through the UI interface and clicks the login button, thereby sending an HTTP or HTTPS request containing the user's login information to the business processing service module, which is the login verification request.
[0069] Furthermore, after receiving the login verification request, the business processing service module parses the username and password information. Then, the business processing service module establishes a connection with the backend mail server using SMTP (Simple Mail Transfer Protocol) or POP (Personal Mail Protocol). After successfully connecting to the mail server, the business processing service module attempts to log in to the mail server using the username and password provided by the user. The mail server responds to the login attempt, informing the user whether the username and password match, i.e., providing the verification result. If the verification passes, the user's identity is considered legitimate; if the verification fails, the login request is rejected.
[0070] Finally, the business processing service module encapsulates the verification result (login successful or failed) into an HTTP response and returns it to the front-end UI. The rendering process submodule then displays the corresponding login success or failure message to the user based on the received verification result.
[0071] (22) Email list retrieval, as shown in Figure 3.
[0072] First, the user triggers the email list retrieval operation through the front-end interface (specifically, the email interface after successful login). This operation can be triggered automatically upon successful login or manually, depending on the configuration. Based on this email list retrieval operation, an email list retrieval request is sent to the business processing service module. The purpose of this request is to retrieve the email list in the user's inbox, arranged in reverse chronological order.
[0073] Secondly, the business processing service module executes the corresponding database query operation based on the received email list retrieval request. Specifically, it retrieves emails from the user's inbox from the SQLite database (which is a local database within the business processing service module) and sorts them in reverse chronological order by timestamp, allowing the user to quickly identify newly received emails awaiting processing. Then, it encapsulates the sorted email list data (including the unique ID of each email, email subject, and possible sender information) into a response body and returns it to the rendering process submodule.
[0074] Finally, the rendering process submodule parses the received response body and dynamically renders this data onto the page, presenting the user with a visual email list interface.
[0075] (23) Retrieve emails, as shown in Figure 4.
[0076] First, within the business processing service deployed in the business processing service module, a background process that runs periodically, namely the preset mail receiving process, is set up. This process automatically connects to the configured mail server at preset time intervals. After a successful connection, the preset mail receiving process synchronously retrieves all newly arrived emails since the last check (i.e., emails received within the specified interval), then downloads and decodes the emails, storing the decoded email data in a local database (such as an SQLite database) for subsequent fast access and processing.
[0077] Once the email is successfully downloaded and stored in the SQLite database, the business processing service module sends a new email notification to the UI (i.e., the email display interface) in real time through the established WebSocket long connection; after receiving the notification, the rendering process submodule sends an HTTP request to the business processing service module to obtain detailed data of the new email.
[0078] Finally, after obtaining the detailed data of the emails, the rendering process submodule uses this data to update the interface, displaying a summary of the new emails (such as sender, subject, date, etc.). Users can further view the detailed content of the emails or perform other operations, such as replying or deleting, through the interactive elements on this interface.
[0079] (24) Read the email, as shown in Figure 5.
[0080] First, in the email display interface provided by the rendering process submodule, the user selects and triggers the viewing of a specific email by clicking with the mouse, generating an email viewing request; this email viewing request contains the unique identifier (i.e., email ID) of the specific email.
[0081] Then, the rendering process submodule passes the email viewing request to the business processing service module so that the business processing service module can recognize and process the request to obtain the email ID contained within. Next, the business processing service module performs a query operation in a local database (such as an SQLite database or data structure) using the email ID as the search condition to find the corresponding email data. The email data includes the sender, recipient, subject, body, and sending time of the email. After successfully retrieving the email data, the business processing service module encapsulates this information in an appropriate format (such as JSON) and returns it to the rendering process submodule via an HTTP response.
[0082] Finally, the rendering process submodule parses the received data and displays it to the user in the rendering process, allowing the user to view the detailed content of the email.
[0083] (25) Send email, as shown in Figure 6.
[0084] First, the rendering process submodule provides an email composition interface where users enter the email content, including recipient address, subject, body, and attachments. After the user completes the email and clicks the send button, an email sending request is generated based on the user's input and sent to the business processing service module. The business processing service module parses the received email content and performs necessary encoding conversions (such as converting attachments to Base64) to ensure data integrity and security during transmission. Then, the encoded information is securely stored in a local database for further processing or as a backup.
[0085] When further processing involves sending the email, specifically after the email is prepared and stored in the local database, the business processing service module connects to the mail server's smtpd (SMTP daemon) service via an SMTP (Simple Mail Transfer Protocol) client. This step involves authentication (such as using the SMTP AUTH protocol) to ensure the legitimacy of sending permissions. Once the connection is successful and authentication is passed, the business processing service module sends the email content (appropriately encapsulated) stored in the local database to the target mail server.
[0086] In summary, this application completely restructures the business processing model of desktop web applications based on a multi-process framework by introducing an independent, cross-platform business processing service module. This module removes the previously heavy business logic processing tasks from the main process, entrusting them to a high-efficiency, scalable business processing service. This achieves decoupling and centralized processing of heavy-load business logic, effectively reducing the burden on the main process and avoiding performance bottlenecks caused by complex business logic processing. Simultaneously, this framework transformation makes the application framework more flexible and scalable, facilitating responses to rapid changes in future business needs.
[0087] The business processing service module in this application not only ensures smooth interaction with the rendering process within the multi-process framework through various network communication protocols such as HTTP / HTTPS and WebSocket / WSS, but also fully leverages the flexibility of multi-language programming, such as Java, PHP, and Go, accelerating project development and deployment. This significantly expands the functional boundaries and adaptability of client applications based on the multi-process framework. In other words, the cross-platform nature and multi-language support of the business processing service in this application promote the effective utilization and reuse of resources, reduce development costs, and provide strong support for the more professional and modular development of client applications based on the multi-process framework. It meets the needs of complex and ever-changing business scenarios and also solves the skill gap between front-end developers and business developers. Therefore, this application improves the response speed, stability, and maintainability of client applications based on the multi-process framework.
[0088] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of related data must comply with relevant regulations. All actions to acquire signals, information or data in this application are carried out in accordance with the relevant data protection laws and policies of the country where the application is located, and with the authorization of the owner of the corresponding device.
[0089] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0090] This document uses specific examples to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A client application development platform based on a multi-process framework, characterized in that, The client application development platform based on the multi-process framework includes a multi-process framework module and a business processing service module; The multi-process framework module includes a main process submodule and at least one rendering process submodule; the main process submodule communicates with the rendering process submodule and the business processing service module respectively; the rendering process submodule also communicates with the business processing service module; The main process submodule is used to manage the lifecycle activities of client applications and coordinate the execution of each client application; The rendering process submodule is used to render according to the received business operation instructions and display the rendering interface to the user. At the same time, it obtains user operation information, generates user business requests, and sends the user business requests to the business processing service module. Receive the data processing results and update the rendering interface; The business processing service module is used to automatically start the business processing service according to a preset start command, or to start the business processing service according to a received start command. The service module receives user service requests sent by the rendering process submodule, processes the data, and returns the data processing results to the rendering process submodule. The service module supports development using multiple programming languages.
2. The client application development platform based on a multi-process framework according to claim 1, characterized in that, The main process submodule is further configured to determine the corresponding current main process based on the application requirements of the client application; generate business operation instructions and startup instructions based on the current main process; send the business operation instructions to the rendering process submodule; and send the startup instructions to the business processing service module. The business processing service module is also used to support multiple network communication protocols to assist in the data processing process; the business processing service is a socket service.
3. The client application development platform based on a multi-process framework according to claim 1, characterized in that, When the application scenario of the client application development platform based on the multi-process framework is an email system and the function application is login verification, the corresponding rendering interface is the user login interface, the corresponding user operation information is the username entered by the user, the password entered by the user and the type of button clicked by the user, and the corresponding user business request is the login verification request. The business processing service module is also used to listen for login verification requests from the rendering process submodule in the business processing service, and parse the login verification request to obtain the corresponding username and password when received; After establishing a connection with the mail server and successfully connecting, the system uses the parsed username and password to perform login verification and obtains the verification result. The verification result is then encapsulated into an HTTP response as a data processing result and returned to the rendering process submodule. The verification result is either successful or failed. When the verification result is successful, the system polls the mail server to store the email in the local database for later use. The rendering process submodule is also used to perform business rendering based on the data processing results, so as to update the user login interface and display the corresponding login success or login failure prompt information to the user.
4. The client application development platform based on a multi-process framework according to claim 1, characterized in that, When the application scenario of the client application development platform based on the multi-process framework is an email system, and the function application is to retrieve the email list, the corresponding rendering interface is the email interface after successful login, and the corresponding user business request is an email list retrieval request. The business processing service module is further configured to perform a corresponding database query operation based on the received email list retrieval request in the business processing service to obtain email list data sorted according to a preset time sequence; encapsulate the email list data sorted according to the preset time sequence as a data processing result into a response body and return it to the rendering process submodule. The rendering process submodule is also used to perform business rendering based on the data processing results, so as to update the email interface after successful login and display the updated email list interface to the user.
5. The client application development platform based on a multi-process framework according to claim 1, characterized in that, When the application scenario of the client application development platform based on the multi-process framework is an email system, and the function is to receive emails, the corresponding rendering interface is an email display interface. The business processing service module is also used to start a preset mail receiving process in the business processing service; the preset mail receiving process is used to automatically connect to the mail server at preset intervals, then retrieve all emails received within the preset interval, download and decode them, store the decoded email data in the local database for later use, and generate a mail receiving success reminder; and send the mail receiving success reminder to the rendering process submodule in real time through a WebSocket long connection. The rendering process submodule is also used to send an HTTP request to the business processing service module based on the successful receipt of the email notification. The business processing service module is also used to return the email data corresponding to all emails received within the preset time period as the data processing result to the rendering process submodule according to the HTTP request. The rendering process submodule is also used to perform business rendering based on the data processing results, so as to update the email display interface and display the corresponding email summary information to the user.
6. The client application development platform based on a multi-process framework according to claim 1, characterized in that, When the application scenario of the client application development platform based on the multi-process framework is an email system, and the function application is to read emails, the corresponding rendering interface is an email display interface, the corresponding user operation information is that the user clicks to view an email, and the corresponding user business request is an email viewing request. The email viewing request contains a unique identifier for the email that the user clicked; The business processing service module is also used to receive and parse the email viewing request in the business processing service to obtain the unique identifier; The system performs a data query in the local database based on the unique identifier, encapsulates the retrieved email data as a data processing result into a response body, and then returns it to the rendering process submodule. The rendering process submodule is also used to perform business rendering based on the data processing results, so as to update the email display interface and display the corresponding email details to the user.
7. The client application development platform based on a multi-process framework according to claim 1, characterized in that, When the application scenario of the client application development platform based on the multi-process framework is an email system, and the function is to send emails, the corresponding rendering interface is an email composition interface, the corresponding user operation information is the user clicking the send button, and the corresponding user business request is an email sending request; the email sending request includes email sending content; the email sending content includes the recipient's address. The business processing service module is also used to receive and parse the email sending request in the business processing service to obtain the email sending content; The content of the email is encoded and then stored on a local server for later use. Based on the SMTP protocol, a connection is established with the mail server, and after a successful connection, the encoded email content stored on the local server is sent to the target mail server via the mail server; the target mail server corresponds to the recipient's address.
8. The client application development platform based on a multi-process framework according to claim 1, characterized in that, The business processing service module also communicates with the cloud; the business processing service module is also used to interact with the cloud during data processing to realize data storage or data retrieval.
9. A client application development method based on a multi-process framework, applied to the client application development platform based on a multi-process framework as described in any one of claims 1-8, characterized in that, The client application development method based on the multi-process framework includes: The main process submodule manages the lifecycle activities of client applications and coordinates the execution of each client application. The business processing service module can automatically start the business processing service according to a preset start command, or start the business processing service according to a received start command. The rendering process submodule renders the data according to the received business operation instructions and displays the rendered interface to the user. At the same time, it obtains user operation information, generates user business requests, and sends the user business requests to the business processing service module. The business processing service module receives user business requests sent by the rendering process submodule, processes the data, and returns the data processing results to the rendering process submodule. The business processing service module supports development using multiple programming languages. The rendering process submodule receives the data processing results and updates the rendering interface.
10. The client application development method based on a multi-process framework according to claim 9, characterized in that, The application requirements of the client application include the management of lifecycle events, the management of window creation events, interaction with the operating system, and the execution of preset lightweight business functions.
Citation Information
Patent Citations
Cross-platform desktop application program development framework and method based on electron
CN110275700A
Page display method and device for hybrid application and medium
CN110457621A
Data processing method and device, electronic equipment and storage medium
CN115525401A
Cross-platform enterprise-level desktop software development framework
CN118259899A
Client application development platform and method based on multi-process framework
CN119149253A