Admin

Admin

Planned

When handling large payloads (e.g., 100 products), the current approach becomes inefficient, as each product's data comes with the same widget template.

To optimize this process, we need to implement a new mechanism where the server sends separate payloads for templates and data (e.g., products). The Flutter client should be able to merge the data into the appropriate templates dynamically and generically, making the system scalable and efficient for any resource type (e.g., products, users, etc.).

Objective:

Create a system that:

Separates the UI template from the actual data in the server payload. Merges the data into the template on the Flutter side. Maintains flexibility to handle various types of data resources (e.g., products, users).

Acceptance Criteria:

Template Payload:

The server should send a JSON payload containing the UI template structure. This template should be generic and reusable.

Data Payload:

The server should send a JSON payload containing the actual data. This payload should be referred to as resource or payload.

Client-Side Merging:

The Flutter client should merge the data into the corresponding templates dynamically. Ensure the solution is generic enough to handle various types of data resources.

Performance:

The new implementation should improve performance for large payloads compared to the current implementation.

Documentation:

  • Provide detailed documentation on how to use the new system.
  • Include examples of the template and data payload structures.
  • Explain the merging process in the Flutter client.

Sub-tasks:

  • Define the JSON structure for templates and data payloads.
  • Implement the Flutter client logic to merge data into templates.
  • Optimize the merging process for performance.
  • Write unit and integration tests for the new functionality.
  • Update the package documentation with usage instructions and examples.
You may use @ to mention someone.

Server-Driven UI with Template

no votes yet
  • Admin moved item to board Planned

    3 months ago
  • Admin moved item to project Flutter Package

    3 months ago
  • Admin unpinned the item

    3 months ago
  • Admin made item public

    3 months ago
  • Admin created the item

    3 months ago