Why I Ain’t About That Fancy State Management Life in Flutter

Muhamad Zulfa Assyfa
3 min readNov 20, 2024

--

Yo, fellow devs! Let me spill some Flutter tea. You know how everyone’s hyped about those state management packages like Provider, Bloc, Riverpod, or whatever the cool kids are using these days? Yeah, I’m not about that life. I like to keep it OG with Flutter’s built-in tools. Why? Let me break it down for ya!

1. No Strings (or Plugins) Attached
Here’s the deal: I don’t like being tied down to somebody else’s library. Plugins are cool until they ain’t. Like, what if the maintainer decides to take a vacation… forever? Suddenly, your app’s broken, and you’re out here Googling like your life depends on it. Nah, I’m good. Flutter already gives me everything I need to keep my app running smooth without relying on anyone else’s hustle.

2. Keeping It Real with Flutter Basics
Let’s be honest: you don’t really know Flutter if you’re outsourcing all your problems to plugins. Using stuff like setState(), InheritedWidget, or ValueNotifier keeps me sharp. Plus, there's something satisfying about figuring it out yourself. It’s like solving a puzzle… but for nerds like us. 😎

3. My App, My Rules
You ever tried using a state management library and felt like you were forced into following their “rules”? Like, why do I need 12 files just to toggle a button? With Flutter’s built-ins, I make my own rules. Wanna do everything in one file? Done. Wanna structure it your way? Boom. Freedom tastes good, y’all.

How I Manage State Like a Boss

  • setState()
    For small apps, this is my ride-or-die. Need to update the UI? Hit it with a setState(). No drama, no fluff.
  • InheritedWidget
    When I need to pass stuff around without playing widget hot potato, InheritedWidget comes in clutch. It's like the secret sauce for keeping things clean.
  • ValueNotifier & ChangeNotifier
    These bad boys? Chef's kiss. Perfect for apps that need a bit more structure without the extra baggage of a plugin.

But What About Big Apps, Dude?

Okay, okay. I hear you: “What about when the app gets big?” Sure, if I’m working on some monster project with a squad of devs, I might consider using a package like Bloc or Riverpod. But only if I really, REALLY need it. Otherwise, I’ll keep it simple and just vibe with Flutter’s built-ins.

Experience Speaks: My Time in the Banking Industry

Now, let me get real with y’all. This philosophy didn’t come outta nowhere. I learned this while working in the banking industry — a space where solidity and reliability are non-negotiable. Our CTO laid it down plain and simple: we don’t rely on plugins or third-party code unless absolutely necessary.

Why? Because in critical industries like banking, you can’t afford to have something break because of someone else’s library. We focused on building solutions in-house, ensuring every line of code was something we controlled. That experience taught me to prioritize robustness and independence over convenience, and that’s stuck with me ever since.

So, Why Do I Keep It Simple?

Because life’s already complicated enough, fam. Why add more moving parts to my app when Flutter’s got my back straight outta the box? Plus, it’s just more fun this way. No need to learn somebody else’s system when I can just do me.

What’s Your Vibe?

So that’s my hot take. Are you team “Keep It Simple” or team “Bring on the Plugins”? Drop your thoughts below, and let’s hash it out. Just remember: no judgment here. We’re all just tryna make dope apps and keep our sanity intact.

Catch you in the next article, folks. Peace! ✌️

--

--

Muhamad Zulfa Assyfa
Muhamad Zulfa Assyfa

Written by Muhamad Zulfa Assyfa

I write these for myself || self-upgrade on progress..

No responses yet