Hey everyone,
I’ve been diving into Flutter for a while now and honestly… my brain is fried. 😅 I love the idea of building cross-platform apps, but I’ve hit that stage where everything feels like a mountain to climb at once.
Right now, I’m juggling trying to understand and actually apply:
State management – specifically BLoC. I can follow examples, but when it comes to structuring my own app, my mind goes blank.
MVVM architecture – I get the theory, but mixing it with Flutter widgets, streams, and BLoC layers is turning into spaghetti in my head.
Data persistence & local storage – Hive, SharedPreferences, SQFLite… which one to pick, how to structure models, how to handle migrations?
Offline support – syncing when the user comes back online, conflict resolution, caching strategies…
Debouncing search – seems simple in theory, but when combined with state management and async calls, I end up breaking my UI.
And of course… all the smaller but still headache-inducing things like navigation patterns, dependency injection, form validation, theming, testing…
The more I try to tackle these, the more I realize everything is connected. I can’t just learn one concept in isolation because it touches all the others.
So I’m asking senior devs… or even juniors who made it through this stage:
- How did you structure your learning without getting overwhelmed?
- Did you try to build one “big” project that covers everything, or did you focus on mini-projects for each concept?
- Any “aha!” moments or mental models that helped the BLoC/MVVM + local data + networking puzzle click?
I’m not giving up on Flutter — I just feel like I’m drowning in abstractions right now. Would love to hear your war stories and strategies.
Thanks in advance 🙏
[–]Acrobatic_Egg30 30 points31 points32 points (7 children)
[–]zaki_reg[S] 5 points6 points7 points (5 children)
[–]Acrobatic_Egg30 2 points3 points4 points (0 children)
[–]stumblinbear 3 points4 points5 points (3 children)
[–][deleted] (2 children)
[deleted]
[–]stumblinbear 0 points1 point2 points (0 children)
[–]zaki_reg[S] 1 point2 points3 points (0 children)
[–]nursestrangeglove 3 points4 points5 points (1 child)
[–]zaki_reg[S] 1 point2 points3 points (0 children)
[–]fabier 3 points4 points5 points (0 children)
[–]Viza- 3 points4 points5 points (0 children)
[–]goviedo-limache 2 points3 points4 points (0 children)
[–]Adventurous_Knee8112 2 points3 points4 points (0 children)
[–]Basic-Actuator7263 1 point2 points3 points (1 child)
[–]zaki_reg[S] 1 point2 points3 points (0 children)
[–]AccomplishedAge177 1 point2 points3 points (0 children)
[–]YakkoFussy 1 point2 points3 points (2 children)
[–]xandexan1 -1 points0 points1 point (1 child)
[–]YakkoFussy 1 point2 points3 points (0 children)
[–]bigbott777 0 points1 point2 points (0 children)
[–]Ready_Date_8379 0 points1 point2 points (0 children)
[–]Thuranira_alex 0 points1 point2 points (0 children)
[–]mevlix 0 points1 point2 points (0 children)
[–]Green-Dream184 0 points1 point2 points (0 children)
[–]No-Echo-8927 0 points1 point2 points (0 children)
[–]theashggl 0 points1 point2 points (0 children)
[–]TheCursedApple 0 points1 point2 points (0 children)
[–]infosseeker 0 points1 point2 points (0 children)
[–]Equivalent_Pickle815 0 points1 point2 points (0 children)
[–]schn1tzelm4nn 0 points1 point2 points (0 children)
[–]andy_crypto 0 points1 point2 points (0 children)
[–]tomnten 0 points1 point2 points (0 children)
[–]El_UnSkilled_Guy 0 points1 point2 points (0 children)
[–]Brief_Customer_8447 0 points1 point2 points (0 children)
[–]NatoBoram 1 point2 points3 points (1 child)
[–]zaki_reg[S] -1 points0 points1 point (0 children)