Automated Application Code Segmentation for Multi-Platform Deployment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing and maintaining separate applications for multiple software platforms such as web, native iOS, and native Android is costly and time-consuming, as existing solutions require manual, platform-specific processes for building and deploying applications.

Innovation Solution

A method for automatically generating and deploying applications across different platforms by isolating core application code from device-specific code and determining features based on the platform's capabilities, allowing for automatic feature determination without additional programming.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate applications are developed for each platform (web, native iOS, native Android), then platform-specific functionality and performance are optimized, but development time and costs increase significantly

Engineering Contradiction:
Improveplatform-specific functionalityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The application is segmented into platform-agnostic core functionality and platform-specific features. The system automatically identifies and separates these components, allowing shared code to be deployed across multiple platforms while maintaining platform-specific optimizations where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates a universal deployment framework that can deploy the same application codebase to multiple platforms (web, iOS, Android) simultaneously. This multi-functional approach allows one codebase to serve multiple purposes and platforms, reducing redundant development work.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If separate applications are developed and maintained for each platform, then platform-specific optimizations are achieved, but maintenance costs and complexity increase

Engineering Contradiction:
Improveplatform-specific performanceVSAvoidmaintenance complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system merges multiple platform-specific development processes into a single unified deployment system. By combining web, iOS, and Android deployment capabilities into one automated framework, the system reduces maintenance complexity while preserving platform-specific performance optimizations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system introduces an intermediary automated deployment framework that mediates between the single codebase and multiple platforms. This intermediary layer handles platform-specific configurations and optimizations automatically, reducing the complexity of maintaining separate applications for each platform.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Manufacturing precision

If manual platform-specific processes are used for building and deploying applications, then precise platform requirements are met, but automation and efficiency are reduced

Engineering Contradiction:
Improveplatform requirement complianceVSAvoiddeployment efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The deployment system performs self-service by automatically detecting the target platform, selecting appropriate build configurations, and deploying the application without manual intervention. The system serves itself by handling platform-specific requirements autonomously while maintaining precision in meeting platform standards.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically changes deployment parameters based on the target platform. It automatically adjusts build settings, configuration files, and deployment options according to the specific requirements of web, iOS, or Android platforms, maintaining precision while enabling automated high-efficiency deployment.

Inventive Principle:
Principle #35Parameter changes

4Loss of time

If a shared codebase is used across platforms, then development time is reduced, but platform-specific features and optimizations are limited

Engineering Contradiction:
Improvedevelopment timeVSAvoidplatform-specific features
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The codebase is segmented into universal core functionality and platform-specific modules. This segmentation allows the shared codebase to provide common features while maintaining the ability to add or modify platform-specific features as needed, balancing code reuse with adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adapts the shared codebase to each platform by automatically configuring and adjusting features based on the target platform's capabilities and requirements. This dynamic approach allows the same codebase to exhibit different behaviors and features across platforms, maintaining versatility while leveraging code reuse.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11714625B2Generating applications for versatile platform deployment
Publication Date: 2023.08.01 ORACLE INT CORP
  • US11714625B2 patent drawing
  • US11714625B2 patent drawing
  • US11714625B2 patent drawing

AI summary

Implementations generally relate to a method of automatically generating applications for multiple platforms based on one source of application code. Implementations include receiving a signal from a client device to initiate an application generation process, for example, through a graphical user interface (GUI). In an implementation, the application generation process analyzes the application code to differentiate between core application code, which is shared between many platforms, and device-specific code, and then separates the core application code from the device-specific code. The core application code may then be deployed for use in a plurality of applications such as a web application, progressive web application, or, as taken together with device-specific code, as a native mobile application. Applications may be deployed with features that are automatically determined based on their deployment method and the feature set of each platform.