Prosecution Insights
Last updated: April 19, 2026
Application No. 18/275,924

COMMUNICATION METHOD FOR FLUTTER WEB APPLICATION AND HOST PROGRAM, AND COMPUTER DEVICE

Non-Final OA §103
Filed
Aug 04, 2023
Examiner
SUN, ANDREW NMN
Art Unit
2195
Tech Center
2100 — Computer Architecture & Software
Assignee
BOE TECHNOLOGY GROUP CO., LTD.
OA Round
1 (Non-Final)
67%
Grant Probability
Favorable
1-2
OA Rounds
3y 3m
To Grant
99%
With Interview

Examiner Intelligence

Grants 67% — above average
67%
Career Allow Rate
4 granted / 6 resolved
+11.7% vs TC avg
Strong +100% interview lift
Without
With
+100.0%
Interview Lift
resolved cases with interview
Typical timeline
3y 3m
Avg Prosecution
36 currently pending
Career history
42
Total Applications
across all art units

Statute-Specific Performance

§101
16.3%
-23.7% vs TC avg
§103
69.2%
+29.2% vs TC avg
§102
7.0%
-33.0% vs TC avg
§112
4.1%
-35.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 6 resolved cases

Office Action

§103
DETAILED ACTION Claims 1-18 are pending. Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-2, 11-12, and 17-18 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang (CN 113419712 A) in view of Wan (CN 110659028 A). Regarding Claim 1, Zhang teaches a communication method for a Flutter Web application and a host program, wherein the host program comprises at least one of: an Android system, an iOS system, a Windows system or a Web program ( Zhang discloses, “cross-platform technology stack is Flutter, a plurality of platforms comprises IOS, Android, Web, Windows, macOS and Linux in at least two,” Page 2, “In one specific example, referring to FIG. 1 and FIG. 2, in the step S101, based on cross-platform technology stack generating view logic layer. In the embodiment of the present invention, cross-platform technology stack can be a technical stack of various platforms, such as Flutter, React Native, Weexs and so on, as long as satisfying a set of technical stack to finish the development of the view logic layer. wherein Flutter is a cross-screen mobile development framework, development language adopts Dart, because Dart supports AOT (Ahead-of-TimeComplation, advanced compilation) and JIT (Just in Time Complication, instant compilation), so the Flutter tencel support dynamic, therefore, more preferably, can be selected based on Flutter generated view logic layer,” Page 5, “As shown in FIG. 3, the universal interface layer for information interaction with the view logic layer. Specifically, the universal interface layer is used for defining a plurality of platform and view logic layer of the common interaction behaviour,” Page 5, and “for example, the Web platform and Android and IOS platform have different implementation modes on the route, Android and IOS platform form a routing channel through the registered Methchannel; and realizing data packet transmission by the special Json language of the platform, and the Web platform uses the Flutter Web Plugin class written by the official appointed form (FederatedPlugin) to route,” Page 5. The claimed “Flutter Web application” is mapped to the web application that is associated with the “cross-platform technology stack” that is based on Flutter, and uses the Flutter Web Plugin class for communication. The claimed “host program” is mapped to the disclosed platform that comprises IOS and Android.); and the host program is used to provide a runnable environment for the Flutter Web application ( Zhang discloses, “In the embodiment of the present invention, pre-stored in the server 100 application is cross-platform application, namely the development personnel after development can be a plurality of platform running cross-platform application,” Page 4, and “In this embodiment, based on cross-platform technology stack development view logic layer and establishing an API layer based on a plurality of platform attributes, and setting the API layer comprises a universal interface layer for information interaction with the view logic layer and an expansion interface layer for respectively interaction with each platform; capable of generating cross-platform application meeting cross-platform interaction, so as to really realize the Write & Run AnyWhere (write once, available everywhere).,” Page 5. Here, the platform is used to run a cross-platform application such as the Flutter Web application. the method comprises: acquiring a communication mode between the Flutter Web application and the host program ( Zhang discloses, “for example, the Web platform and Android and IOS platform have different implementation modes on the route, Android and IOS platform form a routing channel through the registered Methchannel; and realizing data packet transmission by the special Json language of the platform, and the Web platform uses the Flutter Web Plugin class written by the official appointed form (FederatedPlugin) to route,” Page 5. Here, communication modes are specified through different “routes” based on the host platform.), wherein the communication mode comprises at least one of a WebSocket communication mode or a JavaScript communication mode ( Zhang discloses, “…the Web platform and Android and IOS platform have different implementation modes on the route, Android and IOS platform form a routing channel through the registered Methchannel; and realizing data packet transmission by the special Json language of the platform, and the Web platform uses the Flutter Web Plugin class written by the official appointed form (FederatedPlugin) to route, and through Dart Libarary or Package to realize data packet transmission, or for the existing available JS SDK or a large number of using JS realizing function, the government provides package: js packet calling Javascript; so as to realize interaction with Javascript; through the universal interface layer, no longer constraint specific implementation, but only the definition, so as to realize interaction with the view logic layer in a uniform API network request,” Page 5. Here, Javascript is used as part of a route/communication mode.); and communicating, according to the communication mode, with the host program ( Zhang discloses, “For example, a routing library. As described above, the Web platform and the Android and IOS platform have different implementation ways on the route, the route channel is different, the data packet for transmitting data is different. In the Android or IOS terminal system platform, the routing library is a set of new routing system of the platform maintenance at the bottom, providing strong customized function by the primary support,” Page 6. Here, the Flutter Web application (which hosts the view logic layer) interacts with the host platform via the route to transmit data.), Zhang does not teach communicating, according to the communication mode, with the host program through a first communication component, wherein the first communication component is arranged in the Flutter Web application and realizes information interaction based on a preset information format. However, Wan teaches communicating, according to the communication mode, with the host program through a first communication component, wherein the first communication component is arranged in the Flutter Web application and realizes information interaction based on a preset information format ( Wan discloses, “the communication module 030 for the data block of the specified format to send to the system platform. developers using Flutter development application, Flutter provides a "platform channel" mechanism implemented in application program Flutter developed can directly call system platform related code on said operating system or Android operating system. via the communication module 030, the communication application program and the system platform,” Page 8, and “automatically generating appointed format function type by the application program side, system platform side of the function type and the communication module capable of identifying, respectively through the first decoding module and the second decoding module the information in the function call process according to the preset format processing, so as to realize the application and the system platform communication code and reduce the development workload of staff code,” Page 9. The claimed “first communication component” is mapped to the disclosed “communication module 030” that is integrated with the Flutter application, and realizes information interaction based on a preset information format.). Zhang and Wan are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang to incorporate the teachings of Wan and provide wherein the communication mode comprises at least one of a WebSocket communication mode or a JavaScript communication mode; and communicating, according to the communication mode, with the host program through a first communication component, wherein the first communication component is arranged in the Flutter Web application and realizes information interaction based on a preset information format. Doing so would help facilitate data communication and reduce the chance of an error caused by an incompatible protocol (Wan discloses, “to realize the automatic code generation, reduce the development staff code workload, avoid error communication abnormality caused by protocol is not compatible,” Page 2.). Claim 11 is a communication method corresponding to the communication method Claim 1. Therefore, Claim 11 is rejected for the same reason set forth in the rejection of Claim 1. Regarding Claim 2, Zhang in view of Wan teaches the method according to claim 1, wherein the preset information format comprises at least one of: parameter initialization (init), message sending (sendMessage), asynchronous message sending (sendMessageAsync) and message monitoring (onReceiveMessage) ( Wan discloses, “after the call designated native program function of the system platform, for example, after calling the function ServiceImplA, ServiceImpl-A and generates the return value, the return value according to the preset format, such as the Proto returning the data block Buffers format for encoding so as to generate pre-set format, the returned data block to the application program port, application program port after receiving the said returned data block, returning the said data block for decoding is the type of the target call function can be identified.,” Page 12. Here, the format of the data block is used for initializing a parameter, in this case a function.). Zhang and Wan are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang to incorporate the teachings of Wan and provide wherein the preset information format comprises at least one of: parameter initialization (init), message sending (sendMessage), asynchronous message sending (sendMessageAsync) and message monitoring (onReceiveMessage). Doing so would help provide a standard, constant format to use for initializing parameters for the Flutter Web application. (Wan discloses, “the return value according to the preset format, such as the Proto returning the data block Buffers format for encoding so as to generate pre-set format, the returned data block to the application program port, application program port after receiving the said returned data block, returning the said data block for decoding is the type of the target call function can be identified,” Page 12.). Claim 12 is a communication method corresponding to the communication method Claim 2. Therefore, Claim 12 is rejected for the same reason set forth in the rejection of Claim 2. Regarding Claim 17, Zhang in view of Wan teaches a computer device, comprising: a processor ( Zhang discloses, “processor unit 16 by running the program stored in the system memory 28, so as to perform various function application and data processing, for example, an application generating method of cross-platform provided by the embodiment of the invention,” Page 9.); a memory for storing a computer program executable by the processor ( Zhang discloses, “processor unit 16 by running the program stored in the system memory 28, so as to perform various function application and data processing, for example, an application generating method of cross-platform provided by the embodiment of the invention.,” Page 9.); wherein the processor is configured to execute the computer program in the memory to implement the method according to claim 1 ( Zhang discloses, “processor unit 16 by running the program stored in the system memory 28, so as to perform various function application and data processing, for example, an application generating method of cross-platform provided by the embodiment of the invention,” Page 9.). Regarding Claim 18, Zhang in view of Wan teaches a non-transitory computer-readable storage medium, wherein when an executable computer program in the storage medium is executed by a processor, the method according to claim 1 ( Zhang discloses, “The system memory 28 may include a computer system readable medium in the form of a volatile memory, such as a random access memory (RAM) 30 and/or a cache memory 32. The computer device 12 may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, the storage system 34 may be used to read and write non-removable, non-volatile magnetic media (not shown in FIG. 7, commonly referred to as a "hard disk drive"). Although not shown in FIG. 7, it can be provided for a removable non-volatile disk (e.g., " soft disk ") The invention claims a read-write disk drive, and an optical disk drive for reading and writing a removable non-volatile optical disk (e.g., a CD-ROM, a DVD-ROM or other optical medium). In these cases, each driver may be connected to the bus 18 through one or more data medium interfaces. memory 28 may include at least one program product, the program product has a group (e.g., at least one) program module, the program module is configured to perform the function of each embodiment of the invention.,” Page 8.). Claim 3 is rejected under 35 U.S.C. 103 as being unpatentable over Zhang (CN 113419712 A) in view of Wan (CN 110659028 A) and Borrowman (US 20170318072 A1). Regarding Claim 3, Zhang in view of Wan teaches the method according to claim 1. Zhang in view of Wan does not teach wherein communicating, according to the communication mode, with the host program through the first communication component comprises: when the communication mode is WebSocket communication mode, selecting, by the Flutter Web application, the first communication component, and communicating, by the Flutter Web application, with the host program through the first communication component. However, Borrowman teaches wherein communicating, according to the communication mode, with the host program through the first communication component comprises: when the communication mode is WebSocket communication mode, selecting, by a web application, the first communication component ( Borrowman discloses, “In some embodiments, the data broker 150 may be configured to use multiple communication types, such as WebSocket, server-sent events, forever frame, long polling, or others. If so configured, the data broker 150 may then select a communication type to use for communication between the add-in component 122 and the web client 126,” ¶ 0029.), and communicating, by the web application, with the host program through the first communication component ( Borrowman discloses, “In a preferred embodiments, the data broker 150 can be implemented as an application using the SignalR library of ASP.NET to handle real-time communication between the add-in component 122 and the web client 126 using remote procedure calls. This implementation has the advantage of establishing persistent connections between the server 140 and the add-in component 122 and the web client 126, and it automatically uses the WebSocket transport when available,” ¶ 0029. The data broker 150 is a web application because it is implemented using ASP.NET, which is a C# framework for developing web applications. After the combination of Zhang in view of Wan with Borrowman, the data broker from Borrowman is replaced with the Flutter Web application from Zhang in view of Wan to use a WebSocket communication type for communication.). Zhang in view of Wan, and Borrowman are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang in view of Wan to incorporate the teachings of Borrowman and provide wherein communicating, according to the communication mode, with the host program through the first communication component comprises: when the communication mode is WebSocket communication mode, selecting, by the Flutter Web application, the first communication component, and communicating, by the Flutter Web application, with the host program through the first communication component. Doing so would help provide increased support from using the widely supported WebSocket protocol. (Borrowman discloses, “This implementation has the advantage of establishing persistent connections between the server 140 and the add-in component 122 and the web client 126, and it automatically uses the WebSocket transport when available,” ¶ 0029.). Claims 4-5 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang (CN 113419712 A) in view of Wan (CN 110659028 A), Borrowman (US 20170318072 A1), and Pichilli (“Flutter WebView JavaScript Communication - InAppWebView 5”). Regarding Claim 4, Zhang in view of Wan and Borrowman teaches the method according to claim 3. Zhang in view of Wan and Borrowman does not teach wherein communicating, by the Flutter Web application, with the host program through the first communication component comprises: sending, by the Flutter Web application, a first message to the first communication component, such that the first communication component converts the first message to a second message and sends the second message to the host program; and the host program generates, according to the second message, a first response message and sends the first response message to the first communication component; and acquiring, by the Flutter Web application, a second response message returned by the first communication component; wherein the first message and the second response message adopt a Flutter data format, and the second message and the first response message adopt a JavaScript data format. However, Pichilli teaches wherein communicating, by the Flutter Web application, with the host program through the first communication component comprises: sending, by the Flutter Web application, a first message to the first communication component, such that the first communication component converts the first message to a second message and sends the second message to the host program ( Pichilli discloses, “In this in-depth tutorial, I’m going to explain how you can communicate from Dart (Flutter WebView) to JavaScript and vice-versa using my flutter_inappwebview plugin (at the time of this writing, the latest release is 5.3.2),” Page 2, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. Here, a text message may be sent to the Dart end of the WebMessage channel, where it is converted into an object compatible with the JavaScript end of the channel before being sent there.); and the host program generates, according to the second message, a first response message and sends the first response message to the first communication component ( Pichilli discloses, “To listen for the messages on a port from the Dart side, you need to set the WebMessageCallback using the WebMessagePort.setWebMessageCallback method,” Page 11. Here, the Dart end of the WebMessage channel will receive a response message from the JavaScript end of the channel in response to the original message being sent from the Dart end to the JavaScript end.); and acquiring, by the Flutter Web application, a second response message returned by the first communication component ( Pichilli discloses, “To listen for the messages on a port from the Dart side, you need to set the WebMessageCallback using the WebMessagePort.setWebMessageCallback method,” Page 11. Here, the Dart end of the WebMessage channel will receive a response message from the JavaScript end of the channel in response to the original message being sent from the Dart end to the JavaScript end.); wherein the first message and the second response message adopt a Flutter data format, and the second message and the first response message adopt a JavaScript data format ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. The Dart end of the WebMessage channel sends out a Flutter/Dart-based object, and receives a Flutter/Dart-based object as a response. Meanwhile, the JavaScript end of the WebMessage channel receives a JavaScript-based object, and sends out a JavaScript-based object as a response.). Zhang in view of Wan and Borrowman, and Pichilli are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang in view of Wan and Borrowman to incorporate the teachings of Pichilli and provide wherein communicating, by the Flutter Web application, with the host program through the first communication component comprises: sending, by the Flutter Web application, a first message to the first communication component, such that the first communication component converts the first message to a second message and sends the second message to the host program; and the host program generates, according to the second message, a first response message and sends the first response message to the first communication component; and acquiring, by the Flutter Web application, a second response message returned by the first communication component; wherein the first message and the second response message adopt a Flutter data format, and the second message and the first response message adopt a JavaScript data format. Doing so would help improve integration between the web application and the host program that support different formats (Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself.,” Page 10.). Regarding Claim 5, Zhang in view of Wan and Borrowman teaches the method according to claim 3. Zhang in view of Wan and Borrowman does not teach wherein communicating, by the Flutter Web application, with the host program through the first communication component comprises: acquiring, by the Flutter Web application, a fourth message sent by the first communication component, wherein the fourth message is obtained by converting, by the first communication component, a third message from the host program; and in response to the fourth message, generating, by the Flutter Web application, a third response message and sending the third response message to the first communication component, to cause the first communication component to convert the third response message to a fourth response message and send the fourth response message to the host program; wherein the fourth message and the third response message adopt a Flutter data format, and the third message and the fourth response message adopt a JavaScript data format. However, Pichilli teaches wherein communicating, by the Flutter Web application, with the host program through the first communication component comprises: acquiring, by the Flutter Web application, a fourth message sent by the first communication component, wherein the fourth message is obtained by converting, by the first communication component, a third message from the host program ( Pichilli discloses, “To listen for the messages on a port from the Dart side, you need to set the WebMessageCallback using the WebMessagePort.setWebMessageCallback method,” Page 11. Here, the Dart end of the WebMessage channel will receive a response message from the JavaScript end of the channel in response to the original message being sent from the Dart end to the JavaScript end.); and in response to the fourth message, generating, by the Flutter Web application, a third response message and sending the third response message to the first communication component, to cause the first communication component to convert the third response message to a fourth response message and send the fourth response message to the host program ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. Here, a text message may be sent to the Dart end of the WebMessage channel, where it is converted into an object compatible with the JavaScript end of the channel before being sent there.); wherein the fourth message and the third response message adopt a Flutter data format, and the third message and the fourth response message adopt a JavaScript data format ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. The Dart end of the WebMessage channel receives a Flutter/Dart-based object, and sends out a Flutter/Dart-based object as a response. Meanwhile, the JavaScript end of the WebMessage channel sends out a JavaScript-based object, and receives a JavaScript-based object as a response.). Zhang in view of Wan and Borrowman, and Pichilli are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang in view of Wan and Borrowman to incorporate the teachings of Pichilli and provide wherein communicating, by the Flutter Web application, with the host program through the first communication component comprises: acquiring, by the Flutter Web application, a fourth message sent by the first communication component, wherein the fourth message is obtained by converting, by the first communication component, a third message from the host program; and in response to the fourth message, generating, by the Flutter Web application, a third response message and sending the third response message to the first communication component, to cause the first communication component to convert the third response message to a fourth response message and send the fourth response message to the host program; wherein the fourth message and the third response message adopt a Flutter data format, and the third message and the fourth response message adopt a JavaScript data format. Doing so would help improve integration between the web application and the host program (Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself.,” Page 10.). Claim 6-10 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang (CN 113419712 A) in view of Wan (CN 110659028 A) and Pichilli (“Flutter WebView JavaScript Communication - InAppWebView 5”). Regarding Claim 6, Zhang in view of Wan teaches the method according to claim 1. Zhang in view of Wan does not teach wherein the first communication component comprises an interface provided by a Flutter end in the Flutter Web application to be called by a JavaScript end in the host program, so as to convert a Flutter data format of the Flutter end and a JavaScript data format of the JavaScript end. However, Pichilli teaches wherein the first communication component comprises an interface provided by a Flutter end in the Flutter Web application to be called by a JavaScript end in the host program ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. The Dart end of the WebMessage channel sends out a Flutter/Dart-based object, which will be called by the JavaScript end of the WebMessage channel.), so as to convert a Flutter data format of the Flutter end and a JavaScript data format of the JavaScript end ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10.). Zhang in view of Wan, and Pichilli are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang in view of Wan to incorporate the teachings of Pichilli and provide wherein the first communication component comprises an interface provided by a Flutter end in the Flutter Web application to be called by a JavaScript end in the host program, so as to convert a Flutter data format of the Flutter end and a JavaScript data format of the JavaScript end. Doing so would allow for interoperability between the Flutter-based components and the JavaScript-based components. (Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10.). Regarding Claim 7, Zhang in view of Wan teaches the method according to claim 1. Zhang in view of Wan does not teach wherein communicating, according to the communication mode, with the host program through the first communication component comprises: when the communication mode is the JavaScript communication mode, selecting, by the Flutter Web application, the first communication component and a second communication component, and communicating, by the Flutter Web application, with the host program through the first communication component and the second communication component; wherein the first communication component is arranged in the Flutter Web application and realizes information interaction based on a preset information format; the second communication component is arranged in the host program and realizes information interaction based on the preset information format. However, Pichilli teaches wherein communicating, according to the communication mode, with the host program through the first communication component comprises: when the communication mode is the JavaScript communication mode, selecting, by the Flutter Web application, the first communication component and a second communication component ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. The claimed “first communication component” and “second communication component” are mapped to the Flutter/Dart side and the JavaScript side, respectively, of the WebMessage channel that is used for communication between Dart and JavaScript.), and communicating, by the Flutter Web application, with the host program through the first communication component and the second communication component ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2 , and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10.); wherein the first communication component is arranged in the Flutter Web application and realizes information interaction based on a preset information format ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2 , and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself.,” Page 10. Here, the preset information format is the Dart programming language itself.); the second communication component is arranged in the host program and realizes information interaction based on the preset information format ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2 , and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself.,” Page 10. Here, the preset information format is the JavaScript programming language itself). Zhang in view of Wan, and Pichilli are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang in view of Wan to incorporate the teachings of Pichilli and provide wherein communicating, according to the communication mode, with the host program through the first communication component comprises: when the communication mode is the JavaScript communication mode, selecting, by the Flutter Web application, the first communication component and a second communication component, and communicating, by the Flutter Web application, with the host program through the first communication component and the second communication component; wherein the first communication component is arranged in the Flutter Web application and realizes information interaction based on a preset information format; the second communication component is arranged in the host program and realizes information interaction based on the preset information format. Doing so would allow for cross-language communication between the two components. (Pichilli discloses, “The Dart side that created the channel uses port1 , and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself.,” Page 10.). Regarding Claim 8, Zhang in view of Wan and Pichilli teaches the method according to claim 7, wherein communicating, by the Flutter Web application, with the host program through the first communication component and the second communication component comprises: sending, by the Flutter Web application, a first message to the first communication component, such that the first communication component converts the first message to a second message and sends the second message to the second communication component ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. Here, a text message may be sent to the Dart end of the WebMessage channel, where it is converted into an object compatible with the JavaScript end of the channel before being sent there.); the second communication component converts the second message to a third message and sends the third message to the host program ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. PNG media_image1.png 440 634 media_image1.png Greyscale Page 14 shows a JavaScript sample that implements using ports for listening to messages on a WebMessage channel from a Dart/Flutter-based web application. Here it can be seen that the JavaScript end of the WebMessage channel converts JavaScript data sent from the Dart end into text via the console.log function. Said text data can be used to generate a response message that can be inputted into the JavaScript end of the WebMessage channel for sending to the Flutter application.); the host program generates, according to the third message, a first response message and sends the first response message to the second communication component ( PNG media_image2.png 259 613 media_image2.png Greyscale Page 14 shows a snippet HTML code that accepts text input in order to convert the input into a message via before being transmitted into the WebMessage channel via JavaScript code. Here a text message can be inputted in, which will be converted to JavaScript and then transferred via the WebMessage channel.); the second communication component converts the first response message to a second response message and sends the second response message to the first communication component ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself.,” Page 10, and “To listen for the messages on a port from the Dart side, you need to set the WebMessageCallback using the WebMessagePort.setWebMessageCallback method,” Page 11. Here, the Dart end of the WebMessage channel will receive the message from the JavaScript end of the channel.); and the first communication component converts the second response message to a third response message ( PNG media_image3.png 65 625 media_image3.png Greyscale Page 14. Here, the Dart end of the WebMessage channel processes the incoming message (originally from the JavaScript side) on the Flutter web application.); wherein the first message and the third response message adopt a Flutter data format, the second message and the second response message adopt a JavaScript data format, and the third message and the first response message adopt a data format of the host program ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2. PNG media_image4.png 101 630 media_image4.png Greyscale Page 14. The data format of the host program is plaintext, as evident by the console.log function being used after the JavaScript end receives data, in order to print said data.); and acquiring, by the Flutter Web application, the third response message returned by the first communication component ( PNG media_image5.png 67 426 media_image5.png Greyscale Page 14. Here, the Dart end of the WebMessage channel processes the incoming message (originally from the JavaScript side) on the Flutter web application.). Zhang in view of Wan, and Pichilli are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang in view of Wan to incorporate the teachings of Pichilli and provide wherein communicating, by the Flutter Web application, with the host program through the first communication component and the second communication component comprises: sending, by the Flutter Web application, a first message to the first communication component, such that the first communication component converts the first message to a second message and sends the second message to the second communication component; the second communication component converts the second message to a third message and sends the third message to the host program; the host program generates, according to the third message, a first response message and sends the first response message to the second communication component; the second communication component converts the first response message to a second response message and sends the second response message to the first communication component; and the first communication component converts the second response message to a third response message; wherein the first message and the third response message adopt a Flutter data format, the second message and the second response message adopt a JavaScript data format, and the third message and the first response message adopt a data format of the host program; and acquiring, by the Flutter Web application, the third response message returned by the first communication component. Doing so would help improve integration between the web application and the host program by defining a set order in which messages are created and transferred between each of the components. (Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2 , and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10.). Regarding Claim 9, Zhang in view of Wan and Pichilli teaches the method according to claim 7, wherein communicating, by the Flutter Web application, with the host program through the first communication component and the second communication component comprises: acquiring, by the Flutter Web application, a fourth message sent by the first communication component, wherein the fourth message is obtained by converting, by the first communication component, a fifth message from the second communication component ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself.,” Page 10, and “To listen for the messages on a port from the Dart side, you need to set the WebMessageCallback using the WebMessagePort.setWebMessageCallback method,” Page 11. The claimed “fifth message” is mapped to the disclosed JavaScript message that is sent from the JavaScript end of the WebMessage channel to the Dart end of the WebMessage channel. Here, the Dart end of the WebMessage channel will receive the message from the JavaScript end of the channel. The claimed “fourth message” is mapped to the disclosed Dart-based message that is received by the Flutter Web application after it is converted from the JavaScript-based “fifth message”. PNG media_image5.png 67 426 media_image5.png Greyscale Page 14. Here, the Dart end of the WebMessage channel processes the incoming message (originally from the JavaScript side) on the Flutter web application.); and the fifth message is obtained by converting, by the second communication component, a sixth message from the host program ( PNG media_image6.png 97 520 media_image6.png Greyscale Page 14. Here a text message is inputted via the HTML code, and will be converted into JavaScript before being sent on the WebMessage channel from the JavaScript application to the Dart/Flutter application. The claimed “sixth message” is mapped to the disclosed text message that is inputted from the host into the JavaScript program to be converted into a JavaScript message before being sent to the Dart end of the WebMessage channel.); and in response to the fourth message, generating, by the Flutter Web application, a fourth response message and sending the fourth response message to the first communication component, to cause the first communication component to convert the fourth response message to a fifth response message and send the fifth response message to the second communication component ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. Here, a text message may be sent to the Dart end of the WebMessage channel, where it is converted into an object compatible with the JavaScript end of the channel before being sent there.); and to cause the second communication component to convert the fifth response message to a sixth response message and send the sixth response message to the host program ( PNG media_image7.png 110 682 media_image7.png Greyscale The data format of the host program is plaintext, as evident by the console.log function being used after the JavaScript end receives data, in order to print said data as the “sixth response message”.); wherein the fourth message and the fourth response message adopt a Flutter data format, the fifth message and the fifth response message adopt a JavaScript data format, the sixth message and the sixth response message adopt a data format of the host program ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2. PNG media_image4.png 101 630 media_image4.png Greyscale Page 14. The data format of the host program is plaintext, as evident by the console.log function being used after the JavaScript end receives data so it can be printed.). Zhang in view of Wan, and Pichilli are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang in view of Wan to incorporate the teachings of Pichilli and provide wherein communicating, by the Flutter Web application, with the host program through the first communication component and the second communication component comprises: acquiring, by the Flutter Web application, a fourth message sent by the first communication component, wherein the fourth message is obtained by converting, by the first communication component, a fifth message from the second communication component; and the fifth message is obtained by converting, by the second communication component, a sixth message from the host program; and in response to the fourth message, generating, by the Flutter Web application, a fourth response message and sending the fourth response message to the first communication component, to cause the first communication component to convert the fourth response message to a fifth response message and send the fifth response message to the second communication component; and to cause the second communication component to convert the fifth response message to a sixth response message and send the sixth response message to the host program; wherein the fourth message and the fourth response message adopt a Flutter data format, the fifth message and the fifth response message adopt a JavaScript data format, the sixth message and the sixth response message adopt a data format of the host program. Doing so would help improve integration between the web application and the host program. (Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2 , and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10.). Regarding Claim 10, Zhang in view of Wan and Pichilli teaches the method according to claim 7, wherein the second communication component comprises an interface obtained by encapsulating a Dart script library, so as to convert a JavaScript data format of a JavaScript end and a data format corresponding to the host program ( PNG media_image1.png 440 634 media_image1.png Greyscale Page 14. The JavaScript code here includes a port variable that is used to “communicate with the Dart side”. More precisely, the port variable listens to “messages coming from the Dart side” via the onmessage event. Here it can be seen that the JavaScript end of the WebMessage channel converts JavaScript data sent from the Dart end into text via the console.log function.). Zhang in view of Wan, and Pichilli are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang in view of Wan to incorporate the teachings of Pichilli and provide wherein the second communication component comprises an interface obtained by encapsulating a Dart script library, so as to convert a JavaScript data format of a JavaScript end and a data format corresponding to the host program. Doing so would help improve integration between the web application and the host program. (Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2 , and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10.). Claims 13-14 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang (CN 113419712 A) in view of Wan (CN 110659028 A), Pichilli (“Flutter WebView JavaScript Communication - InAppWebView 5”), and Borrowman (US 20170318072 A1). Regarding Claim 13, Zhang in view of Wan teaches the method according to claim 11. Zhang in view of Wan does not teach wherein when the communication mode is the WebSocket communication mode, communicating, by the Flutter Web application, with the host program through the first communication component comprises: sending a first message to the first communication component, to cause the first communication component to convert the first message to a second message and send the second message to the host program; and acquiring a second response message sent by the first communication component, wherein the second response message is converted from a first response message by the first communication component, and the first response message is returned by the host program. However, Pichilli teaches sending a first message to the first communication component, to cause the first communication component to convert the first message to a second message and send the second message to the host program ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. Here, a text message may be sent to the Dart end of the WebMessage channel, where it is converted into an object compatible with the JavaScript end of the channel before being sent there.); and acquiring a second response message sent by the first communication component, wherein the second response message is converted from a first response message by the first communication component, and the first response message is returned by the host program ( Pichilli discloses, “To listen for the messages on a port from the Dart side, you need to set the WebMessageCallback using the WebMessagePort.setWebMessageCallback method,” Page 11. Here, the Dart end of the WebMessage channel will receive a response message from the JavaScript end of the channel in response to the original message being sent from the Dart end to the JavaScript end.). Zhang in view of Wan, and Pichilli are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang in view of Wan to incorporate the teachings of Pichilli and provide communicating, by the Flutter Web application, with the host program through the first communication component comprises: sending a first message to the first communication component, to cause the first communication component to convert the first message to a second message and send the second message to the host program; and acquiring a second response message sent by the first communication component, wherein the second response message is converted from a first response message by the first communication component, and the first response message is returned by the host program. Doing so would help improve integration between the web application and the host program. (Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself.,” Page 10.). Zhang in view of Wan and Pichilli does not teach wherein when the communication mode is the WebSocket communication mode, communicating, by the Flutter Web application, with the host program through the first communication component. However, Borrowman teaches wherein when the communication mode is the WebSocket communication mode, communicating, by an application, with the host program through the first communication component ( Borrowman discloses, “In some embodiments, the data broker 150 may be configured to use multiple communication types, such as WebSocket, server-sent events, forever frame, long polling, or others. If so configured, the data broker 150 may then select a communication type to use for communication between the add-in component 122 and the web client 126,” ¶ 0029. After the combination of Zhang in view of Wan and Pichilli, with Borrowman, the data broker from Borrowman is replaced with the Flutter Web application from of Zhang in view of Wan and Pichilli to use a WebSocket communication type for communication.). Zhang in view of Wan and Pichilli, and Borrowman are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified of Zhang in view of Wan and Pichilli to incorporate the teachings of Borrowman and provide wherein when the communication mode is the WebSocket communication mode, communicating, by an application, with the host program through the first communication component. Doing so would help provide increased support from using the widely supported WebSocket protocol. (Borrowman discloses, “This implementation has the advantage of establishing persistent connections between the server 140 and the add-in component 122 and the web client 126, and it automatically uses the WebSocket transport when available,” ¶ 0029.). Regarding Claim 14, Zhang in view of Wan teaches the method according to claim 11. Zhang in view of Wan does not teach wherein when the communication mode is the WebSocket communication mode, communicating, by the Flutter Web application, with the host program through the first communication component comprises: acquiring a fourth message sent by the first communication component, wherein the fourth message is obtained by converting, by the first communication component, a third message from the host program; and in response to the fourth message, generating a third response message and sending the third response message to the first communication component, to cause the first communication component to convert the third response message to a fourth response message and send the fourth response message to the host program; wherein the fourth message and the third response message adopt a Flutter data format, and the third message and the fourth response message adopt a JavaScript data format. However, Pichilli teaches wherein when acquiring a fourth message sent by the first communication component, wherein the fourth message is obtained by converting, by the first communication component, a third message from the host program ( Pichilli discloses, “To listen for the messages on a port from the Dart side, you need to set the WebMessageCallback using the WebMessagePort.setWebMessageCallback method,” Page 11. Here, the Dart end of the WebMessage channel will receive a response message from the JavaScript end of the channel in response to the original message being sent from the Dart end to the JavaScript end.); and in response to the fourth message, generating a third response message and sending the third response message to the first communication component, to cause the first communication component to convert the third response message to a fourth response message and send the fourth response message to the host program ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. Here, a text message may be sent to the Dart end of the WebMessage channel, where it is converted into an object compatible with the JavaScript end of the channel before being sent there.); wherein the fourth message and the third response message adopt a Flutter data format, and the third message and the fourth response message adopt a JavaScript data format ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. The Dart end of the WebMessage channel receives a Flutter/Dart-based object, and sends out a Flutter/Dart-based object as a response. Meanwhile, the JavaScript end of the WebMessage channel sends out a JavaScript-based object, and receives a JavaScript-based object as a response.). Zhang in view of Wan, and Pichilli are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang in view of Wan to incorporate the teachings of Pichilli and provide wherein when communicating, by the Flutter Web application, with the host program through the first communication component comprises: acquiring a fourth message sent by the first communication component, wherein the fourth message is obtained by converting, by the first communication component, a third message from the host program; and in response to the fourth message, generating a third response message and sending the third response message to the first communication component, to cause the first communication component to convert the third response message to a fourth response message and send the fourth response message to the host program; wherein the fourth message and the third response message adopt a Flutter data format, and the third message and the fourth response message adopt a JavaScript data format. Doing so would help improve integration between the web application and the host program (Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself.,” Page 10.). Zhang in view of Wan and Pichilli does not teach wherein when the communication mode is the WebSocket communication mode, communicating, by the Flutter Web application, with the host program through the first communication component. However, Borrowman teaches wherein when the communication mode is the WebSocket communication mode, communicating, by an application, with the host program through the first communication component ( Borrowman discloses, “In some embodiments, the data broker 150 may be configured to use multiple communication types, such as WebSocket, server-sent events, forever frame, long polling, or others. If so configured, the data broker 150 may then select a communication type to use for communication between the add-in component 122 and the web client 126,” ¶ 0029. After the combination of Zhang in view of Wan and Pichilli, with Borrowman, the data broker from Borrowman is replaced with the Flutter Web application from of Zhang in view of Wan and Pichilli to use a WebSocket communication type for communication.). Zhang in view of Wan and Pichilli, and Borrowman are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified of Zhang in view of Wan and Pichilli to incorporate the teachings of Borrowman and provide wherein when the communication mode is the WebSocket communication mode, communicating, by an application, with the host program through the first communication component. Doing so would help provide increased support from using the widely supported WebSocket protocol. (Borrowman discloses, “This implementation has the advantage of establishing persistent connections between the server 140 and the add-in component 122 and the web client 126, and it automatically uses the WebSocket transport when available,” ¶ 0029.). Claims 15-16 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang (CN 113419712 A) in view of Wan (CN 110659028 A) and Pichilli (“Flutter WebView JavaScript Communication - InAppWebView 5”). Regarding Claim 15, Zhang in view of Wan teaches the method according to claim 11. Zhang in view of Wan does not teach wherein when the communication mode is the JavaScript communication mode, communicating, according to the communication mode, with the host program through the first communication component comprises: sending a first message to the first communication component, to cause the first communication component to convert the first message to a second message and send the second message to a second communication component; acquiring a third response message returned by the first communication component, wherein the third response message is converted from a second response message by the second communication component; wherein the first message and the third response message adopt a Flutter data format, and the second message and the second response message adopt a JavaScript data format. However, Pichilli teaches wherein when the communication mode is the JavaScript communication mode, communicating, according to the communication mode, with the host program through the first communication component comprises: sending a first message to the first communication component, to cause the first communication component to convert the first message to a second message and send the second message to a second communication component ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. The claimed “first message” is mapped to the Dart-based message that is sent from the Flutter Web application to the Dart end of the WebMessage channel, and then converted into a JavaScript-based message before being sent to the JavaScript end of that channel. The claimed “second message” is mapped to the JavaScript-based message that is converted from the Dart-based “first message” before being received at the JavaScript end of that channel.); acquiring a third response message returned by the first communication component, wherein the third response message is converted from a second response message by the second communication component ( PNG media_image3.png 65 625 media_image3.png Greyscale Page 14 shows a snippet of Dart-based code that shows that the Dart end of the WebMessage channel processes the incoming message (originally from the JavaScript side) on the Flutter web application. Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself.,” Page 10, and “To listen for the messages on a port from the Dart side, you need to set the WebMessageCallback using the WebMessagePort.setWebMessageCallback method,” Page 11. The claimed “second response message” is mapped to the JavaScript-based response message that is converted from the text message that was inputted into the JavaScript end. It is sent across the WebMessage channel where it is converted into a Dart-based “third response message” before being received at the Dart-based end of that channel. The claimed “third response message” is mapped to the Dart-based response message that is converted from the JavaScript-based “second response message” before being received at the Dart-based end of the WebMessage channel. Here, the Dart end of the WebMessage channel will receive the message from the JavaScript end of the channel that was originally the text message that was inputted into the JavaScript end.); wherein the first message and the third response message adopt a Flutter data format, and the second message and the second response message adopt a JavaScript data format ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself.,” Page 10, and “To listen for the messages on a port from the Dart side, you need to set the WebMessageCallback using the WebMessagePort.setWebMessageCallback method,” Page 11. The claimed “first message” is the Dart-based message that is sent from the Flutter Web application to the Dart end of the WebMessage channel, and then converted into a JavaScript-based message before being sent to the JavaScript end of that channel. The claimed “second message” is the JavaScript-based message that is converted from the Dart-based “first message” before being received at the JavaScript end of that channel. The claimed “second response message” is the JavaScript-based response message that is converted from the text message that was inputted into the JavaScript end. It is sent across the WebMessage channel where it is converted into a Dart-based “third response message” before being received at the Dart-based end of that channel. The claimed “third response message” is the Dart-based response message that is converted from the JavaScript-based “second response message” before being received at the Dart-based end of the WebMessage channel.). Zhang in view of Wan, and Pichilli are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang in view of Wan to incorporate the teachings of Pichilli and provide wherein when the communication mode is the JavaScript communication mode, communicating, according to the communication mode, with the host program through the first communication component comprises: sending a first message to the first communication component, to cause the first communication component to convert the first message to a second message and send the second message to a second communication component; acquiring a third response message returned by the first communication component, wherein the third response message is converted from a second response message by the second communication component; wherein the first message and the third response message adopt a Flutter data format, and the second message and the second response message adopt a JavaScript data format. Doing so would help improve integration between the web application and the host program. (Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2 , and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10.). Regarding Claim 16, Zhang in view of Wan teaches the method according to claim 11. Zhang in view of Wan does not teach wherein when the communication mode is the JavaScript communication mode, communicating, according to the communication mode, with the host program through the first communication component comprises: acquiring a fourth message sent by the first communication component, wherein the fourth message is obtained by converting, by the first communication component, a fifth message from a second communication component; in response to the fourth message, generating a fourth response message and sending the fourth response message to the first communication component, to cause the first communication component to convert the fourth response message to a fifth response message and send the fifth response message to the second communication component; wherein the fourth message and the fourth response message adopt a Flutter data format, and the fifth message and the fifth response message adopt a JavaScript data format. However, Pichilli teaches wherein when the communication mode is the JavaScript communication mode, communicating, according to the communication mode, with the host program through the first communication component comprises: acquiring a fourth message sent by the first communication component, wherein the fourth message is obtained by converting, by the first communication component, a fifth message from a second communication component ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself.,” Page 10, and “To listen for the messages on a port from the Dart side, you need to set the WebMessageCallback using the WebMessagePort.setWebMessageCallback method,” Page 11. The claimed “fifth message” is mapped to the JavaScript-based response message that is converted from the text message that was inputted into the JavaScript end. It is sent across the WebMessage channel where it is converted into a Dart-based “fourth message” before being received at the Dart-based end of that channel. The claimed “fourth message” is mapped to the Dart-based response message that is converted from the JavaScript-based “fifth message” before being received at the Dart-based end of the WebMessage channel. Here, the Dart end of the WebMessage channel will receive the message from the JavaScript end of the channel that was originally the text message that was inputted into the JavaScript end); in response to the fourth message, generating a fourth response message and sending the fourth response message to the first communication component, to cause the first communication component to convert the fourth response message to a fifth response message and send the fifth response message to the second communication component ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10. The claimed “fourth response message” is mapped to the Dart-based message that is sent from the Flutter Web application to the Dart end of the WebMessage channel, and then converted into a JavaScript-based message before being sent to the JavaScript end of that channel. The claimed “fifth response message” is mapped to the JavaScript-based message that is converted from the Dart-based “fourth response message” before being received at the JavaScript end of that channel. Here, a text message may be sent to the Dart end of the WebMessage channel, where it is converted into an object compatible with the JavaScript end of the channel before being sent there.); wherein the fourth message and the fourth response message adopt a Flutter data format, and the fifth message and the fifth response message adopt a JavaScript data format ( Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2, and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself.,” Page 10, and “To listen for the messages on a port from the Dart side, you need to set the WebMessageCallback using the WebMessagePort.setWebMessageCallback method,” Page 11. The claimed “fifth message” is the JavaScript-based response message that is converted from the text message that was inputted into the JavaScript end. It is sent across the WebMessage channel where it is converted into a Dart-based “fourth message” before being received at the Dart-based end of that channel. The claimed “fourth message” is the Dart-based response message that is converted from the JavaScript-based “fifth message” before being received at the Dart-based end of the WebMessage channel The claimed “fourth response message” is the Dart-based message that is sent from the Flutter Web application to the Dart end of the WebMessage channel, and then converted into a JavaScript-based message before being sent to the JavaScript end of that channel. The claimed “fifth response message” is the JavaScript-based message that is converted from the Dart-based “fourth response message” before being received at the JavaScript end of that channel.). Zhang in view of Wan, and Pichilli are both considered to be analogous to the claimed invention because they are in the same field of application frameworks. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhang in view of Wan to incorporate the teachings of Pichilli and provide wherein when the communication mode is the JavaScript communication mode, communicating, according to the communication mode, with the host program through the first communication component comprises: acquiring a fourth message sent by the first communication component, wherein the fourth message is obtained by converting, by the first communication component, a fifth message from a second communication component; in response to the fourth message, generating a fourth response message and sending the fourth response message to the first communication component, to cause the first communication component to convert the fourth response message to a fifth response message and send the fifth response message to the second communication component; wherein the fourth message and the fourth response message adopt a Flutter data format, and the fifth message and the fifth response message adopt a JavaScript data format. Doing so would help improve integration between the web application and the host program. (Pichilli discloses, “The Dart side that created the channel uses port1, and the JavaScript side at the other end of the port uses port2 — you send a message to port2 , and transfer the port over to the other browsing context using the InAppWebViewController.postWebMessage method along with the message to send, and the object to transfer ownership of, in this case, the port itself,” Page 10.). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Helms (US 11641665 B2): Resource Utilization Retrieval And Modification Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANDREW SUN whose telephone number is (571)272-6735. The examiner can normally be reached Monday-Friday 8:00-5:00. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Aimee Li can be reached at (571) 272-4169. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /ANDREW NMN SUN/Examiner, Art Unit 2195 /Aimee Li/Supervisory Patent Examiner, Art Unit 2195
Read full office action

Prosecution Timeline

Aug 04, 2023
Application Filed
Jan 22, 2026
Non-Final Rejection — §103 (current)

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
67%
Grant Probability
99%
With Interview (+100.0%)
3y 3m
Median Time to Grant
Low
PTA Risk
Based on 6 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month