生产力提升的核心更新
Flutter 3.35 版本带来了多项提升开发者生产力的重要改进,包括 Web 平台的状态热重载稳定版发布和实验性 Widget 预览功能。本次更新包含来自 168 位贡献者的 1108 次提交,其中 39 位是首次参与贡献。
Web 平台重大改进
默认启用的状态热重载
Web 平台的状态热重载现已成为默认功能,开发者无需再通过实验性标志手动启用。Dart 和 Flutter 团队优化了热重载代码的性能并提高了成功率,目标是提供跨平台一致的热重载体验。
若需临时禁用此功能,可使用 --no-web-experimental-hot-reload
标志。团队计划在未来版本中移除禁用选项。
Wasm 兼容性检查
为准备将 WebAssembly (Wasm) 设为默认构建目标,现在每个 JS 构建都会执行 Wasm 的"空运行"编译。系统会检查应用的 Wasm 兼容性,并将结果以警告形式输出到控制台,可通过 --(no-)wasm-dry-run
标志控制此功能。
框架与可访问性增强
更包容的用户体验
Flutter 3.35 在可访问性方面做出多项改进:
- Web 语义增强:新增对语义区域设置的支持,确保辅助功能按用户偏好语言呈现
- 新工具组件:引入
SemanticsLabelBuilder
和SliverEnsureSemantics
等新组件,简化复杂可访问体验的实现 - 核心组件优化:修复了 iOS 和 Android 平台多个可访问性问题,包括文本缩放、语音控制和平台视图等场景
Material 和 Cupertino 组件更新
新增与增强组件
- DropdownMenuFormField:将 M3 风格的
DropdownMenu
集成到表单中 - 可滚动的 NavigationRail:支持内容超出屏幕时的滚动查看
- NavigationDrawer 页眉页脚:为导航抽屉添加布局灵活性
- CupertinoExpansionTile:iOS 风格的展开/折叠列表项
保真度与交互优化
- 采用
RSuperellipse
形状实现 iOS 标志性圆角效果 - 为
CupertinoPicker
和CupertinoSlider
添加触觉反馈 - 支持配置
Slider
值指示器的常显状态
引擎与工具链更新
多窗口支持基础
Canonical 团队在 Windows 和 macOS 上实现了多窗口应用的基础逻辑,后续版本将扩展至 Linux 平台并引入实验性 API。
开发工具增强
- Dart 和 Flutter MCP 服务器:现已在稳定渠道提供,为 AI 辅助开发提供更丰富的项目上下文
- 实验性 Widget 预览:允许在独立环境中可视化测试组件,支持多种配置快速验证
- 分析服务器提速:采用 AOT 编译使常见命令执行时间显著缩短
重要变更与弃用说明
- 组件主题规范化完成,各组件主题现基于新的
...ThemeData
类 - 单选按钮组件重设计,引入新的
RadioGroup
管理状态 - 弃用 Android 32位 x86 架构支持
- 最低 Android SDK 版本要求提升至 API 24
- 插件开发中弃用
pluginClass: none
声明方式
未来发展方向
Flutter 团队正着手将 Material 和 Cupertino 库从核心框架中分离为独立包,这将使设计系统能够独立于季度发布周期进行更新。此变更将分阶段实施,确保平稳过渡。
结语
Flutter 3.35 是社区协作的成果,带来了多项提升开发效率的重要功能。建议开发者通过 flutter upgrade
命令获取最新版本,并参考完整更新日志了解所有变更细节。