Hybrid App Message Passing via Native Interception
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software frameworks face challenges in efficiently passing data from native components to web components within applications, particularly due to security, modularity, and functional scope limitations, which restrict the ability to alter web content and can lead to slower message passing and a poorer user experience.
Innovation Solution
A method where a native component intercepts application-layer requests from a web component, identifies special native request URIs, stores references to open requests, and sends messages or data to the web component without altering the main document, enabling access to device interfaces not accessible by the web component, thereby improving control and message passing speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the web component issues application-layer requests to access device interfaces, then the web component can access device capabilities, but the native component must intercept and process these requests which increases system complexity
Solution Approach 1:
The patent introduces an intermediary mechanism where the native component intercepts application-layer requests from the web component through a controlled interface. This mediator pattern allows the web component to access device capabilities indirectly through standardized request/response protocols, maintaining security and modularity while enabling the necessary functionality without direct access violations.
2Productivity
If the native component alters web content to pass data, then data can be transmitted to the web component, but the main document must be re-rendered which slows message passing
Solution Approach 1:
The patent segments the data transmission mechanism from the web content rendering. Instead of altering and re-rendering the main document, the system separates data passage through specialized application-layer requests that can be handled independently. This allows data to be transmitted to the web component without triggering full page re-renders, significantly improving message passing speed.
Solution Approach 2:
The native component pre-processes data and prepares it in advance through the request interception mechanism. By preparing data in the appropriate format before the web component needs it, the system eliminates the need for costly re-rendering operations and achieves faster data transmission through pre-positioned data structures and optimized request handling.
3Adaptability or versatility
If the web component issues requests to remote servers, then external data can be accessed, but security limitations restrict direct access to device interfaces
Solution Approach 1:
The patent employs an intermediary security layer where the native component acts as a trusted mediator between the web component and device interfaces. This intermediary mechanism maintains security constraints by validating and controlling all requests, allowing external data access while preventing direct unauthorized access to device capabilities through a secure, monitored interface layer.
Data Source
AI summary
In general, techniques for passing data from a native component to a web component of a hybrid application without reflowing the top-level document are described. The native component is located within a user space of a computing device and intercepts a request for a resource issued by the web component of the application. The native component provides access to an interface not otherwise accessible by the web component. If the request for the resource is a request for data through the interface, the native component enqueues the request in a request pool, receives the data responsive to the request through the interface, forms a response to the request using the data, dequeues the request after receiving the data, and sending, the response to the web component. If not, the native component grants permission to the web component to issue the request to a remote server.


