Native Code Modules for Offline Web Application Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Native applications require significant processing resources and have a lengthy installation process, while web applications lack performance and cannot execute independently of a network connection, limiting their computational intensity and security.
Innovation Solution
A system that executes web applications using native code modules, storing resources in persistent local storage and loading them into a secure runtime environment, allowing independent execution and intercepting network requests to serve resources from stored data, enabling offline operation and periodic updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If web applications are used, then installation process is eliminated and security is improved, but performance and computational capabilities deteriorate
Solution Approach 1:
The application is divided into two parts: a web application layer that handles user interface and basic logic, and a native code module that handles computationally intensive tasks. This segmentation allows the web application to remain lightweight and easy to deploy while the native module provides high-performance processing capabilities when needed.
Solution Approach 2:
A native code module acts as an intermediary between the web application and the system resources. The module is downloaded and cached locally, enabling the web application to access native-level performance without requiring traditional installation. The native module serves as a bridge that provides computational power while maintaining the web application's portability and security benefits.
2Adaptability or versatility
If web applications are used, then portability is improved, but ability to execute independently of network connection deteriorates
Solution Approach 1:
The native code module and required resources are downloaded and cached in local storage during an initial network connection phase. This preliminary action ensures that all necessary components are stored locally before offline execution is needed, enabling the application to run independently without network connection while maintaining portability.
Solution Approach 2:
The native code module is copied from the remote server to local storage on the user's device. This local copy enables the application to execute independently of network connection, while the web application itself remains portable and can be accessed from any device with a web browser. The copying mechanism resolves the contradiction by providing local redundancy for offline operation.
3Productivity
If native applications are used, then computational capabilities are improved, but security risks increase
Solution Approach 1:
The native code module is treated as a temporary, disposable component that is downloaded on-demand, executed, and then can be discarded or updated. Unlike traditional native applications that are permanently installed and require complex security validation, the native module is transient and can be replaced with updated versions from the server, reducing security risks associated with long-term installation.
Solution Approach 2:
The deployment model changes from permanent installation to temporary caching. The native module is stored in a controlled cache with limited lifecycle, and its execution is managed through web application protocols rather than traditional native application installation mechanisms. This parameter change in deployment strategy reduces security risks while maintaining computational capabilities.
Data Source
AI summary
Some embodiments provide a system that executes an application. During operation, the system obtains a resource list associated with the application and stores a set of resources including a native code module from the resource list through communications over a network connection, wherein the resources are stored in persistent local storage. The application then loads the application in the web browser and loads the native code module into a secure runtime environment. Next, the application executes the application independently of the network connection using the native code module and the stored resources.


