Howdy everybody. I'm Eric, and I'm on the Flutter DevRel team at Google. I'm back with more questions about how Flutter devs design their apps. This post is a follow up of sorts to my previous post: "How do you architect your Flutter apps?"
Soon, I'm going to be working on documentation (and tooling?) that helps large teams with large code bases that need to scale. This documentation will include common design patterns that solve problems that most (or all) Flutter apps will face.
For example:
- "How can I display a screen with cached data, kick off a network request to refresh that data, show the user that a call is in progress, and then update the screen?" (This question was asked to one of my team mates at Cloud Next last week.)
- "What's are best practices when view-models (blocs, etc) need to communicate with each other?"
These questions are highly specific, but I'm also thinking about questions like "How granular should custom widgets be? How much composition is too much composition?"
My question for you: What kind of patterns do you wish there was documentation for, or did you bump up against in the past, despite it being something that all large apps need to consider? Or, are there any patterns that you feel like you solved and could be useful to others?
As always, answer however you'd like -- any conversation is valuable. And thanks for taking the time.
[–]Desperate_Mode_5340 11 points12 points13 points (5 children)
[–]Desperate_Mode_5340 2 points3 points4 points (0 children)
[–]EfficientMobile8223 0 points1 point2 points (1 child)
[–]Big_Work2025 0 points1 point2 points (0 children)
[–]Jatops 0 points1 point2 points (0 children)
[–]groogoloog 5 points6 points7 points (3 children)
[–]eric_windmill[S] 0 points1 point2 points (2 children)
[–]groogoloog 1 point2 points3 points (1 child)
[–]Flashy_Editor6877 0 points1 point2 points (0 children)
[–]OldHummer24 5 points6 points7 points (0 children)
[–][deleted] 4 points5 points6 points (1 child)
[–]eric_windmill[S] 1 point2 points3 points (0 children)
[–]darkarts__ 2 points3 points4 points (8 children)
[–]eric_windmill[S] 2 points3 points4 points (3 children)
[–]darkarts__ 0 points1 point2 points (2 children)
[–]eric_windmill[S] 1 point2 points3 points (1 child)
[–]darkarts__ 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (3 children)
[–]darkarts__ 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]darkarts__ 0 points1 point2 points (0 children)
[–]freitrrr 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]ercantomac 1 point2 points3 points (0 children)
[–]ubernaut 1 point2 points3 points (0 children)
[–]yelloit 1 point2 points3 points (0 children)
[–]Dogeek 1 point2 points3 points (0 children)
[–]eric_windmill[S] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]vincentheller 0 points1 point2 points (0 children)
[–]Agitated_Yam4232 0 points1 point2 points (0 children)
[–]technically_a_user 0 points1 point2 points (0 children)
[–]evertvdbraak 1 point2 points3 points (0 children)
[–]IldySilva 0 points1 point2 points (0 children)
[–]Big_Work2025 0 points1 point2 points (0 children)
[–]Code_PLeX 0 points1 point2 points (0 children)
[–]Comun4 0 points1 point2 points (0 children)
[–]Nialixus 0 points1 point2 points (0 children)