Integrated Flutter Development Model at Xianyu: Architecture, Communication, and Engineering Practices
Xianyu’s integrated Flutter development model unifies client‑server communication through a shared JSON protocol, abstracts functions via a cross‑layer framework, introduces a Render‑Converter‑Model programming flow, consolidates FaaS and Flutter code in one repository, and cuts duplicated logic and coordination, enabling rapid feature delivery and faster bug fixes.
Flutter integrated development model has been explored at Xianyu for over half a year, aiming to accelerate development of innovative transaction flows.
Business pain points included duplicated logic for amount changes on both client and server, and excessive network requests (five per order page) due to fragmented services.
The team introduced a unified communication scheme where each client action is sent as a request, the server computes the new price and returns a response, using a simple JSON contract.
To hide the client‑side perception of serverless functions (FaaS), both client and server expose capability functions (e.g., add item quantity, show toast) and invoke them through a shared protocol.
A cross‑layer framework abstracts the JSON format, allowing identical registration and invocation of functions on both sides.
Based on this, a new programming model comprising Render, Converter, and Model was designed. Render runs on the client, while state data originates from FaaS‑provided ViewModels; events trigger Model processing, which may fetch backend data and convert it for rendering.
The front‑back division defines an SFC (Serverless For Client) layer that aggregates and adapts domain data for the client, letting server engineers focus on domain construction.
Engineering integration places FaaS and Flutter code in a single repository with shared utilities, enabling single‑IDE development and streamlined build/deploy pipelines.
Cost analysis shows that the integrated approach eliminates duplicated interface contracts, mock data, and extensive coordination, reducing collaboration overhead after an initial learning curve.
Benefits include rapid delivery of two new business features by a single developer within half a day, and faster bug resolution.
Future work aims to extend this model to more scenarios, refine the underlying infrastructure, and further enhance the AliFlutter ecosystem.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
