
Introduction
Flutter continues to evolve with every release, and Flutter 3.35 is another big step toward improving developer productivity and app performance. This update focuses on faster iteration cycles, better web support, and new experimental features that make building apps more enjoyable.
Let’s dive into the highlights.
1. Web Hot Reload — Now Stable and State-Preserving
One of the biggest productivity boosters in Flutter is hot reload. On mobile, it’s been stable for a long time. But now, with Flutter 3.35, stateful hot reload is enabled by default on the web as well.
Command: flutter run –no-web-experimental-hot-reload
That means:
- You can change your code (like updating a widget style, adding a new property, or tweaking business logic).
- Hit save.
- Instantly see the change in your browser, without losing the current app state.
2. WASM Dry Runs — Preparing Flutter Apps for WebAssembly
Flutter’s long-term web strategy is moving toward WebAssembly (WASM) for performance. With 3.35, every JavaScript build automatically performs a WASM dry run.
Command: flutter build web –wasm-dry-run
This doesn’t yet ship your app as WASM, but it:
- Simulates how your app would behave if compiled to WebAssembly.
- Shows warnings in the console about features or APIs that might not work in WASM.
- Helps developer’s future-proof their apps early.
3. Widget Previews (Experimental) — Test Widgets in Isolation
One of the most exciting features in Flutter 3.35 is the experimental Widget Previews.
Instead of running your whole app to check a widget, you can now:
- Render widgets in isolation.
- Preview them with different themes, screen sizes, or text scaling factors.
- Compare multiple variations side by side.
Example
Say you’re building a Profile Card widget. With Widget Previews, you can show:
- Light mode vs dark mode.
- Small screen vs large tablet.
- Normal text vs accessibility large text.
All without restarting your app.
This is huge for design-heavy apps where you need to test many UI states quickly.
4. AI-powered Dart & Flutter MCP Server — Now Stable
Another key highlight is that the Dart & Flutter MCP Server has moved to the stable channel.
This powers AI-assisted tools like:
- Gemini Code Assist
- GitHub Copilot
The MCP server provides rich code analysis and context, so AI tools can give:
- Deeper Project Understanding
The server provides rich context about your codebase, dependencies, and project structure—allowing AI assistants to make highly relevant suggestions.
- Smarter Code Completion
Instead of generic autocompletes, AI tools can now suggest Flutter-specific widgets, properties, and patterns that match best practices.
- Error Fixes & Refactoring
When you hit runtime errors or need to refactor, AI assistants can generate fixes tailored to your project, reducing manual debugging time.
- Boilerplate Automation
Common Flutter patterns (e.g., ChangeNotifier, StatefulWidget, or navigation boilerplate) can be auto-generated with context-aware accuracy.
5. Framework: A More Inclusive and Accessible Experience
Flutter 3.35 strengthens accessibility across platforms, making apps more usable for everyone.
- Web: Screen readers now respect semantics locales, ensuring content is read in the user’s preferred language
- New Widgets:
- SemanticsLabelBuilder → Combines multiple texts into a clear announcement.
- SliverEnsureSemantics → Keeps off-screen slivers accessible for assistive tools.
- Platform Improvements:
- iOS : Better text scaling in CupertinoSliverNavigationBar, VoiceOver fixes for tabs.
- Android : TalkBack works with platform views.
- CustomPainter : Now supports semantics for fully accessible custom UI.
- RTL support: Improved with correct text toolbar alignment.
6. Material & Cupertino: More Power and Polish
Flutter 3.35 enhances both Material and Cupertino design systems with new components and subtle refinement to elevate UI and UX:
- New Components
• DropdownMenuFormField (Material 3) – Seamlessly integrates M3 dropdowns into forms.
• Scrollable NavigationRail – Supports scrolling when navigation destinations exceed screen space.
• NavigationDrawer Header & Footer – Offers better layout flexibility, allowing you to place branding or key • actions at the top and bottom for a more structured navigation experience.
• CupertinoExpansionTile – Lets you create expand/collapse list items in iOS style. - UI Refinements & Interactivity
• Cupertino components now use the RSuperellipse shape for that smooth, iOS-native rounded look.
• Haptic feedback added to interactive widgets like CupertinoPicker and CupertinoSlider, making interactions feel more tactile.
• Slider widgets can now show the value indicator permanently, improving clarity of UI state.
7. Framework: Deepening Control and Flexibility
Flutter 3.35 introduces several advanced features to give you greater precision and customization in building complex UI:
- More powerful slivers: You can now explicitly control the paint (z-order) of slivers, enabling advanced effects like sticky headers that overlap smoothly with other slivers.
- Finer navigation & form control:
- fullscreenDialog support has been added to ModalRoute (and showDialog), making dialog transitions fully fullscreen by design.
- FormField now includes an onReset callback to simplify form-reset logic.
- Multi-window support (Engine-level): Foundation laid for multi-window apps on Windows and macOS, with expansion to Linux and experimental APIs planned in future releases.
- Text input and selection enhancements:
- A unified gesture system via PositionedGestureDetails, streamlining pointer-based input handling.
- iOS-style single-line text fields are no longer scrollable, aligning with native behavior.
- Keyboard support for Home and End keys on Android enhances text navigation.
8. DevTools & IDEs: Smarter, Faster, Better Integration
Flutter 3.35 elevates your development environment by enhancing tooling, speed, and editor support:
- Stable Dart & Flutter MCP Server
The experimental MCP server is now in the stable Dart SDK—supercharging AI tools like Gemini Code Assist, GitHub Copilot, and Cursor with deeper project context. This enables assisted flows like runtime error fixes, dependency management, and even generating self-correcting boilerplate code.
- DevTools Upgrades
Several UX and performance improvements have been rolled out in DevTools versions 2.46.0, 2.47.0, and 2.48.0, including better memory profiling, smoother network traffic inspection, and overall enhanced responsiveness.
- Analysis Speed Boost
Core Dart commands like dart analyze, dart fix, and LSP-powered workflows now run dramatically faster thanks to an AOT-compiled analysis server snapshot—sometimes nearly 50% faster on larger projects.
- Expanded IDE Plugin Support
Flutter’s IntelliJ plugin (version M87) now supports more JetBrains editors including Android Studio Meerkat, Narwhal, CLion, GoLand, and PyCharm—making it easier to bring Flutter into your IDE of choice.
9. Analysis Server Speed Improvements
Flutter 3.35 brings a big boost to the Dart analysis server, the engine behind code analysis, error checking, and autocomplete in your IDE.
- Faster Commands
Core developer commands like dart analyze, dart fix, and editor features powered by the Language Server Protocol (LSP) now run significantly faster.
- AOT-compiled Snapshot
The analysis server is now shipped as an Ahead-of-Time (AOT) compiled snapshot instead of plain source code, cutting down startup time and improving responsiveness.
- Real-World Gains
On larger projects, developers have reported up to 50% faster analysis times, making workflows like hot-reload testing, fixing lints, or running static checks much smoother.
10. Android Studio and JetBrains IDE Plugin Updates
The Flutter and Dart plugins for Android Studio and other JetBrains IDEs (like IntelliJ IDEA) have been refreshed in Flutter 3.35, delivering smoother development experiences.
- Faster Code Editing
Improved autocompletion, inline error detection, and better handling of large projects.
- Updated Inspector Tools
The Flutter Inspector now integrates more seamlessly, making it easier to debug widget trees and layout issues.
- Enhanced Project Wizards
Creating New Flutter projects or adding modules feels more intuitive, with better defaults aligned to the latest SDK standards.
- Performance Boosts
Background tasks such as code analysis and syntax highlighting consume fewer resources, resulting in a more responsive IDE.
11. Breaking Changes and Deprecations
As with every major release, Flutter 3.35 introduces a few breaking changes and deprecations to keep the framework clean and consistent.
- Deprecated APIs Removed
Some older widgets and methods that had been marked as deprecated in previous releases are now removed. Developers should migrate to the recommended alternatives provided in the migration guide. - Material and Cupertino Updates
A few widget properties have been renamed or updated for consistency with the latest Material 3 guidelines and iOS design patterns. - Accessibility Adjustments
Certain accessibility-related APIs were refined for better cross-platform behaviour. While these changes may require small updates in your code, they improve long-term reliability. - Tooling Cleanup
Legacy flags and commands that are no longer supported by the Dart and Flutter toolchain have been dropped to reduce maintenance overhead.
12. Minimum Android SDK Has Changed
With Flutter 3.35, the minimum supported Android SDK version has been updated to align with modern Android requirements.
- New Requirement:
The minimum Android SDK (minSdkVersion) has been raised from 19 (Android 4.4 KitKat) to 21 (Android 5.0 Lollipop).
- Why the Change?
- Android 21+ introduces modern APIs that simplify development and improve performance.
- It ensures compatibility with newer Google Play policies.
- Reduces the need for legacy workarounds in the Flutter framework.
- Impact on Developers:
- Apps targeting very old Android devices (below Lollipop) will no longer run.
- Most apps won’t be affected since the majority of devices in use today already run Android 5.0 or higher.
- What to Do:
Update your android/app/build.gradle file to reflect the new minimum:
defaultConfig {
minSdkVersion 21
}
References
- Flutter 3.35 Release Notes – Official Flutter Docs
- Dart Language Updates
- Flutter DevTools
- Material Design 3 for Flutter
- Flutter GitHub Repository
Conclusion
Flutter 3.35 is a feature-rich update that not only refines the framework but also strengthens its ecosystem with improved accessibility, polished Material and Cupertino components, faster analysis tooling, and smarter integration with AI-powered coding assistants.
While developers should pay attention to the breaking changes, SDK updates, and deprecations, these improvements pave the way for a more modern, stable, and future-proof Flutter experience.
If you’re maintaining an existing Flutter app, now is the right time to upgrade, test, and adopt the new features—ensuring your applications stay fast, secure, and aligned with the latest design and platform standards.
Flutter continues to evolve, and this release shows a clear direction: more power, more polish, and better developer experience.
================================================================