Flutter Routing Table for Native Component Decoupling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cross-platform development frameworks like Flutter face challenges in enabling seamless communication between Native and Flutter components, requiring significant coupled code that hinders componentization and increases development complexity.

Innovation Solution

A Flutter-based compiling method that generates an executable file with a routing table, allowing Native, Flutter Native, and Flutter dynamic components to communicate through it, thereby decoupling these components and reducing redundant code, simplifying the development process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Native components and Flutter components communicate through direct coupling, then communication functionality is achieved, but code complexity increases and componentization is hindered

Engineering Contradiction:
Improvecommunication functionalityVSAvoidcode complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a routing table as an intermediary mechanism between Native and Flutter components. Instead of direct coupling, components communicate through the routing table which stores mapping relationships between component identifiers and their locations. This mediator approach maintains communication functionality while reducing code complexity and enabling better componentization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If direct communication methods are used between Native and Flutter components, then communication is achieved, but componentization and code reusability are reduced

Engineering Contradiction:
Improvecommunication capabilityVSAvoidcomponentization
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the communication mechanism into independent components: a routing table that stores mapping relationships, component identifiers that uniquely identify each component, and location information that specifies where components reside. This segmentation allows components to be independently developed, tested, and reused across different platforms while maintaining communication capability through the standardized routing mechanism.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If platform-specific code is written for each application system, then platform compatibility is achieved, but development efficiency decreases

Engineering Contradiction:
Improveplatform compatibilityVSAvoiddevelopment efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent creates a universal routing table mechanism that works across multiple application systems (Android, iOS, Windows). The routing table uses standardized component identifiers and location information that are platform-agnostic. This allows the same communication infrastructure to serve multiple platforms, reducing the need for platform-specific code and improving development efficiency while maintaining broad platform compatibility.

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

Data Source

PatentUS11768667B2Compiling method, compiling device, execution method, computer-readable storage medium and computer device
Publication Date: 2023.09.26 BOE TECHNOLOGY GROUP CO LTD
  • US11768667B2 patent drawing
  • US11768667B2 patent drawing
  • US11768667B2 patent drawing

AI summary

A Flutter-based compiling method, a compiling device, an executing method, a computer-readable storage medium, and a computer device are provided. The Flutter-based compiling method includes: receiving configuration content; in response to the configuration content, compiling and generating an executable file, where the executable file includes at least two of a Native component, a Flutter Native component and a Flutter dynamic component, and is configured to generate a routing table during operation, to enable the Native component, the Flutter Native component and the Flutter dynamic component to communicate with each other through the routing table.