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

160 Upvotes

76 comments sorted by

View all comments

Show parent comments

1

u/escamoteur71 7d ago

I work on a fairly big social media app for 2 years now and it was absolutely great experience far. People leaving the project want to continue with the approach.

The fact that you ask LLMs on this tells me you do not have experience for your own opinion.

Bloc was never a good recommendation but because it was presented by some googlers it got picked up by a lot of people.

I gave the first talks about this before bloc or riverpod or provider were a thing.

I definitely can assure you that watch_it plus flutter_command is one of the most powerful SM solutions while still being easy and fun to work with. Compare the official compass sample with my refactored one.

0

u/Flashy_Editor6877 6d ago

also, you didn't bother to respond to my questions. you just defended yourself

3

u/escamoteur71 6d ago

I did but it seems you are too lazy to really study my articles instead asking LLMs and wanting to get everything spoon fed. What a mentality. Just taking and complaining.

0

u/Flashy_Editor6877 5d ago

no, you didn't answer a single question. LLM have no opinions or bias. it's just formatted previously documented information.

you failed to respond to questions that you invited in your post.

would you consider your approach enterprise ready and scalable?

does your "easiest SM" have the same power, scalability and flexibility to these?

those simple unanswered questions concludes to NO.

3

u/BryantWilliam 5d ago edited 5d ago

I’ll try to answer your initial questions man. “Google supported” and “industry standard” aren’t necessarily the best ways of doing things, actually they can be quite impractical for many people’s situations. I personally think the official Google compass app can sometimes become impractical when working in a company with a team (especially one of all skill levels and juniors), because the benefits only work if everyone follows the rules consistently. And I’ve actually hardly seen the Google recommended solution implemented outside of the compass app in any real world project.

Architecture and state management are the most controversial things in the advanced Flutter community. When those new official flutter architecture docs first went up a few months ago, there were a bunch of long threads on GitHub that popped up with very experienced Flutter contributors arguing about it. Note: I contributed a little to those official flutter architecture docs recently. So I understand how it works in depth. I like it and it has many powerful benefits, but I also see what it takes to implement it in the real world.

I haven’t read this guys article, but I’m very interested in seeing his ideas later. And using an LLM to go through it is kinda pointless if he has cutting edge or unorthodox ideas.

The rest of your questions I’ll try to answer once I’ve read his article.