March 2025: Hot-reload on Flutter web, Practical Architecture, Unified Riverpod Syntax

After the Flutter 3.29 release (don’t forget to update to the latest hotfix), things have been relatively quiet this month.

Still, there are some exciting updates worth sharing:

  • Hot reload finally comes to Flutter web (3.31 beta)
  • Practical Flutter Architecture
  • Lesser-known Dart & Flutter features you should be using
  • Preview of the unified provider syntax for the next Riverpod release
  • Latest from Code with Andrea
  • Some thoughts on the "vibe coding" trend with AI

Let’s dive in! 🚀

Flutter News and Articles

⚡️ Hot Reload on Flutter Web (Beta)

Hot reload is one of Flutter’s biggest strengths, making development incredibly fast. But until now, Flutter Web didn’t support it—despite being the #2 most upvoted feature request.

That’s finally changing with Flutter 3.31 beta! 🎉 You can now try hot reload on Flutter Web before it hits stable.

To enable it, follow these steps:

For all the details, check out the original thread on Reddit:

📝 Practical Flutter Architecture

App architecture remains one of the hottest topics in Flutter development—a good structure can make or break your app in the long run.

Existing resources include:

Most recently, Thomas Burkhart also decided to share his own take on the topic.

His article reiterates the benefits of layered architecture, offers a summary of approaches such as MVVM, MVC, MVU (none of which are particularly suited for Flutter), and introduces a pragmatic approach that has worked well for him.

Whether you're a seasoned Flutter developer or just starting out, this is well worth a read:

Bonus: He also forked the Flutter compass app and refactored it using his approach:

Like Thomas, I also wasn’t fully satisfied with the official compass app and I've been meaning to refactor it for some time. Hopefully, I'll be able to revisit this soon!

📝 10 Lesser-Known Dart & Flutter Features You Should Use

As you advance in Flutter development, you'll want to make the most of the language and framework features.

In this article, Majid Hajian shares 10 advanced APIs that help various aspects of your code, including:

  • Better async handling
  • Improved error handling and debugging
  • Attaching metadata to objects that can’t be subclassed

Each technique is backed by real-world use cases, making it easy to apply in your projects:

💡 New Unified Provider Syntax for Riverpod

While Riverpod is a very popular package, not everyone is happy with the current API:

  • ❌ Too many provider types
  • ❌ Code generation is slow for large apps

Since Dart macros were canceled (details here), Rémi Rousselet went back to the drawing board and proposed a new, simplified provider syntax that eliminates code-gen.

My first impression? This is a very positive step forward.

If you use Riverpod, you can find the proposal here and share your feedback:

While the proposal is still in the early stages, it is very detailed and gives us a glimpse of what Riverpod 3.0 might look like.

Latest from Code with Andrea

Since last month, I have published:

📝 Why You Should Refactor Before Adding New Features

Refactoring is about making future changes easier. When done right:

  • New features integrate smoothly instead of feeling bolted on.
  • Tech debt is reduced, making maintenance less painful.
  • Code reviews are faster, since changes are smaller and more focused.

In this article, I share a real-world example of how refactoring has helped me ship a new feature while keeping my codebase flexible and maintainable:

Some Thoughts on Vibe Coding with AI

The term vibe coding was recently coined by Andrej Karpathy (a leading AI researcher and engineer), and it now keeps popping up in my feeds.

The idea?

AI-driven development where LLM-based IDEs (like Cursor) do all the work for you, to an extent where:

"You fully give in to the vibes, embrace exponentials, and forget that the code even exists." — Andrej Karpathy

At first, I assumed that in the hands of inexperienced devs, this would lead to catastrophic security flaws. But I also see the appeal—especially for rapid prototyping and non-production apps.

If you’re curious, here are some thought-provoking takes on vibe coding:

Have you tried vibe coding with Flutter? I’d love to hear your thoughts!

Until Next Time

With my Flutter in Production course nearing completion, I’m excited to experiment with new ideas and projects.

Who knows—maybe I’ll even try vibe coding myself and see how far I can take it before everything falls apart. 😅

Stay tuned—and as always, happy coding! 🎉

Want More?

Invest in yourself with my high-quality Flutter courses.

Flutter In Production

Flutter In Production

Learn about flavors, environments, error monitoring, analytics, release management, CI/CD, and finally ship your Flutter apps to the stores. 🚀

Flutter Foundations Course

Flutter Foundations Course

Learn about State Management, App Architecture, Navigation, Testing, and much more by building a Flutter eCommerce app on iOS, Android, and web.

Flutter & Firebase Masterclass

Flutter & Firebase Masterclass

Learn about Firebase Auth, Cloud Firestore, Cloud Functions, Stripe payments, and much more by building a full-stack eCommerce app with Flutter & Firebase.

The Complete Dart Developer Guide

The Complete Dart Developer Guide

Learn Dart Programming in depth. Includes: basic to advanced topics, exercises, and projects. Last updated to Dart 2.15.

Flutter Animations Masterclass

Flutter Animations Masterclass

Master Flutter animations and build a completely custom habit tracking application.