Published OnApril 22, 2025April 22, 2025
Flutter for Web Reaches General Availability in Record Time
As of Ditto Flutter SDK v4.10.1, Flutter for Web has reached General Availability. In October 2024, when we shipped 4.8, Ditto developers started asking if we could extend Ditto to support Flutter web apps – and we took that challenge to heart. With the GA, let's take a closer look at what's included today, some key considerations, and how you can get started today.
As of Ditto Flutter SDK v4.10.1, Flutter for Web has officially reached General Availability. This means you can bring Ditto’s resilient, offline-first data sync to your Flutter web apps with full confidence. It’s a huge milestone in our cross-platform journey, and we can’t wait to see what the Flutter community builds with it.
From Request to GA in Record Time
In October 2024, when we shipped 4.8, Ditto developers started asking if we could extend Ditto to support Flutter web apps – and we took that challenge to heart. Fast forward just a few months, and Flutter Web support arrived by April. Delivering a major feature on this timeline was no small feat. Our engineering team moved quickly though, tackling the unique challenges of running Ditto in a browser environment (think WebAssembly integration, browser storage quirks, and networking constraints), and turned a feature request into a production-ready reality in under six months. This achievement is a great showcases of the team’s growing capability and dedication to Flutter. (Fun fact: less than a year ago, we were only in beta on mobile (Ditto - Cross-Platform Development with Flutter Just Got Better) – now we’re GA on iOS, Android, and Web!)
What’s Included in Ditto’s Flutter Web GA
So, what does General Availability for Flutter Web actually include? Here’s a quick rundown of the goodness now at your fingertips:
- Unified Flutter Package: The same
ditto_live
Flutter package you use for iOS and Android now fully supports the Web as well. No separate packages or forks – just update to Ditto Flutter SDK 4.10.1, and web support is baked in. - Full Feature Parity: Flutter web apps can use Ditto to seamlessly sync data through our cloud backend, just like mobile apps do. Under the hood, it’s the same robust Rust core powering data sync across platforms, now compiled to WebAssembly for the browser. In practical terms, you get the same APIs and capabilities on the web as on mobile (with a few web-specific considerations noted below). This was crucial for us – Flutter’s promise is “one codebase, multiple platforms,” and Ditto embraces that spirit by making your data layer consistent everywhere.
- Developer Resources & Examples: To help you get started, we’ve updated our docs and examples for the web. Our Flutter Install Guide has all the setup details you need, and we’ve open-sourced a Flutter Quickstart app to show Ditto in action.
Key Considerations for Flutter Web
Bringing Ditto to the web wasn’t without its quirks. When you start building Flutter web apps with Ditto, keep these key considerations in mind:
- In-Memory Data Store: On the web, Ditto uses an in-memory data store. This means data is not persisted across page reloads – if you refresh the browser, the local Ditto database starts fresh. This design keeps the implementation simple, performant, and within browser sandbox constraints. (Don’t worry, any data synced to the cloud will sync back down on reload).
- Cloud Sync Only: Direct peer-to-peer sync is not supported on the Web. This is a limitation of web browsers, because they do not have access to low-level socket or Bluetooth access for P2P. Your Flutter app can still participate in Ditto’s real-time sync, but a web client will communicate through Ditto Cloud, Ditto Server, or Ditto Edge Server rather than direct device-to-device.
- Use Hot Reload on the Flutter Beta channel: Flutter’s hot restart is a dev superpower, but with Ditto, there’s a catch – you cannot hot-restart the app during development at this time. On the other hand, experimental support for hot reload on the web is available on the Flutter Beta channel (to become stable in Summer 2025).
Keep these points in mind, and you’ll have a smooth development experience with Ditto on Flutter for Web.
Getting Started with Ditto for Web
Ready to give it a try? Getting your Flutter web app humming with Ditto is straightforward:
- Update to Ditto Flutter SDK 4.10.1 – make sure your pubspec is using the latest
ditto_live
package version. This is the version that brings in web support. - Follow the Install Guide – head over to our Flutter Install Guide for step-by-step instructions on adding Ditto to your project. You’ll set up your Ditto identity (from our portal), initialize Ditto in your Dart code, and configure sync. The guide covers web-specific setup like ensuring the Ditto WebAssembly assets are available, which is handled automatically when you do
flutter build web
– the.wasm
file gets bundled into your assets. - Explore the Docs and Community Resources – our documentation site has comprehensive guides and API references for Flutter. For a visual overview, you can watch our introduction to Ditto for Flutter on YouTube (the video focuses on iOS/Android, but the concepts apply to the web as well). As always, our team is here to help on our support channels if you have questions.
Shout Out to You, the Developers
Thank you to the developer community and our customers for inspiring this effort! Your feedback and excitement drive us to push Ditto to new platforms and heights. We’re committed to making Ditto the go-to solution for real-time, offline-ready data sync on every platform you care about. Flutter Web GA is the latest step in that journey – and it’s just the beginning of what’s to come.

