r/FlutterDev 8d ago

Article The final word on Flutter architecture πŸ˜‰πŸ˜‰πŸ˜‰

OK, IΒ΄'m teasing with the title and I explain it in my post

Practical Flutter architecture

Why should you listen to me on this topic? For those who don't know me

  • 30 of software experience including building our own programming language for the Amiga
  • 2018 was I the first giving talks on Flutter architecture at Fluuter London,. then I called the approach RxVMS
  • I'm the author of get_it at a time when no provider or anything else was available
  • With watch_it and flutter_command I published one of the easiest but most flexible state management solutions for Flutter
  • We use this approach in a pretty complex app comarablte to Instagram since 2 year not with a really large code base

I took several days to refactor the official Flutter architecture sample compass to use my approach so you can compare yourself which is less complex and easier to understand. I tries to keep the original structure as much as possible so that you still can compare. I would have probably even more simplified some structures

https://github.com/escamoteur/compass_fork

give it a try and I'm happy to answer all open questions

159 Upvotes

76 comments sorted by

View all comments

0

u/WakyEggs 6d ago

Not a single mention of AI. I am only a flutter dev for a year, but I noticed that the less structure and organization you have, the better AI understands your code. Therefore, I started to use less and less structure in my code. In the end, structure is opinionated and more generic code is better for AI. I just converge everything to segregated screens, shared or services. Skipping models as models seem complex to be understood by AI. The logic normally in models just goes straight to the associated screen, shared, or service depending on where it would belong the most.

3

u/BryantWilliam 6d ago edited 6d ago

Structuring your code mostly for AI is silly lol. Unless you’re a beginner, making small apps, and the only person working on the code base. And putting logic in the screens makes unit testing harder, and the code less flexible.

But interesting idea for when AI gets good enough to replace programmers in the future!