Architecture evolution and innovation of Xianyu based on flutter Technology


Flutter series (1) — a detailed introduction

Flutter series (2) — comparison with react native

Flutter series (3) — environment building (Windows)

Document archiving:

Code archiving:

Welcome to start! Welcome to follow!
Architecture evolution and innovation of Xianyu based on flutter Technology

Idle fish: idle trading community used by 300 million people

I’ve been studying for some time recentlyFlutter, also try to write demo, but in use. It’s amazing from the beginning. I think it’s very cool to write. All kinds of UI effects are very good to implement. Moreover, due to the rendering mechanism, it also makes the dual or even multi terminal interface more flexibleUIIt’s consistent and almost compatibleNativeFirst of all, the user experience. But slowly found a lot of new pits, new problems, it is really very uncomfortable.

To this end, I specially found some information of large factories on the Internet for reference.

Idle fish is usedFlutterVery early team, and idle fish forFlutterThe application, even the secondary development, is in the front. While maintaining the stability of the project, many valuable things are generated.

For this reason, I went out of my way to find Yu Jia, the person in charge of Xianyu client, to share with you at the global front-end conference. After a careful look, I really gained a lot.

What kind of team should pay more attention to flutter?

FlutterIt was launched very early, and I introduced it in detail through an articleFlutter

A new technology has been developed to replace all the current content with one size fits allFlutterIs that right? Or what kind of team should pay more attention toFlutter

If the team is such a team, then we should pay more attention to itFlutter

  • Small and medium-sized teams pay more attention to output ratio and human efficiency ratio.
  • There are many specific users, such asAndroidIf you have more terminals, you can useFlutterDevelop and then synchronizeIOSEnd.
  • App factories, such as the app factories like Toutiao, are very important for teams with fast update iterations.

How to integrate flutter with existing apps?

Existing app + flutter container

Architecture evolution and innovation of Xianyu based on flutter Technology

Because of the existingAPPIt may be based on some architecture or some logic has been formed, if it is reusedFlutterTo build oneAPPObviously it doesn’t show, so how can we make it as fast as possibleFlutterWhen integrating into our current project, we need to ensure the seamless connection and high performance of the two?

Idle fish can solve the above problems in two ways.

1. Sharing the same data globallyFlutterViewControllerThe way to guarantee
The minimum memory consumption is achieved.

2.DartSide provides aBoostContainerManagerThe way to provide multiple
NavigatorTo avoid the problem of stack logic confusion.

For this part of the work, idle fish has opened a projectFlutter Boots
Project address

Architecture evolution and innovation of Xianyu based on flutter Technology

For details, please refer to the documentation on GitHubGitHub address

How to get the whole team to use flutter quickly

Here is the part that impressed me the most.

In the development of their own projects, we often encounter the writing habits that lead to different forms of code structure, and even the stability is not guaranteed. Especially in the process of multi person cooperation, the later maintenance or work handover is not very convenient.

How to raise the lower limit of the code, write the code to maintain a quality of more than 80%.

In order to solve this problem, the idle fish choseFlutter ReduxAfter three iterations, the scheme was finally implementedFish Redux

The structure diagram is as follows.

Architecture evolution and innovation of Xianyu based on flutter Technology

The detailed content can be seen in GitHub documents.
Open source address:


The whole sharing content is still full of dry goods. I just sorted out the contents that are more impressive.

Recently, I have just started to contact with flutter. I still don’t understand many deep concepts and ideas. I hope that in the future practice, I will use it slowly and even realize the idea of LEIYU in the evolution of flutter’s architecture.

FlutterAlreadyTop20Through the following series of articles, I hope I can learn with youFlutter, make progress together, gain something together, master the initiative of the future technology mainstream!

Leisure fish launched a

Flutter in action — best practice of idle fishThis paper gives a detailed introduction to flutter from open source tools, enterprise application practice to mixed development practice guide.

Pay attention to my official account and reply.“Idle fish”You can get it. I believe it will benefit you a lot!

Welcome to pay attention to public number

Pay more attention to the official account.

Architecture evolution and innovation of Xianyu based on flutter Technology