Flutter 3.38.0稳定版发布

Flutter 3.38.0 主要在语法简化、Web 支持增强、性能优化、控件交互改进及桌面端功能扩展等方面进行了更新,具体内容如下:

  1. Dot Shorthands (Dart 3.10 + Flutter 3.38 默认支持)

功能:允许开发者通过简写方式省略类型前缀,提升代码可读性。
示例:
dart
// 旧语法
Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
);
Padding(padding: EdgeInsets.all(8.0));

// 新语法(Dot Shorthands)
Column(
mainAxisAlignment: .start, // 省略 MainAxisAlignment
crossAxisAlignment: .center,
);
Padding(padding: .all(8.0)); // 省略 EdgeInsets
意义:减少冗余代码,使布局和样式定义更简洁。

  1. Web 支持增强

配置文件支持:通过 web_dev_config.yaml 文件自定义 Web 开发服务器配置,包括主机、端口、证书、Headers 等。
yaml
server:
host: "0.0.0.0"
port: 8080
https:
cert-path: "/path/to/cert.pem"
cert-key-path: "/path/to/key.pem"
proxy:
- target: "http://localhost:5000/"
prefix: "/users/"
Hot Reload 改进:默认开启 Web 端 Hot Reload,支持多浏览器同时连接,提升开发效率。
代理设置:支持将请求转发到其他服务器,简化后端服务调试。

  1. 性能优化

图片加载优化:通过 ui.ImmutableBuffer.fromAsset 减少数据拷贝和垃圾回收(GC)压力,基准测试显示图片加载速度提升约 2 倍。
触控板手势改进:修复 Flutter 3.3 前版本中触控板滚动误触问题,现在能正确识别滚动事件,提升列表滑动体验。

  1. 控件与交互优化

OverlayPortal 控件:允许将子 Widget 渲染在任意 Overlay 上,通过 overlayChildLayoutBuilder 灵活控制浮层位置(如按钮下方、屏幕中心等)。
dart
OverlayPortal(
overlayChildLayoutBuilder: (context, info) {
return Material(
child: Container(padding: EdgeInsets.all(12), child: Text('浮层内容')),
);
},
child: ElevatedButton(onPressed: () => _controller.toggle(), child: Text('显示浮层')),
);
Android 后退手势转场:默认启用预测后退路由转场(Predictive Back),后退时显示当前界面预览。
页面转换动画更新:默认动画从 ZoomPageTransitionsBuilder 改为 FadeForwardsPageTransitionsBuilder,提升视觉流畅度。

  1. 桌面端功能扩展(Windows)

多显示器支持:通过 PlatformDispatcher.displays 获取所有连接显示器的分辨率、刷新率、物理尺寸等信息,增强多窗口模式能力。
dart
void printDisplayInfos() {
final platformDispatcher = WidgetsBinding.instance.platformDispatcher;
platformDispatcher.displays.forEach((display) {
print('Display: {display.name}, Resolution:{display.size}');
});
}

  1. 废弃与迁移指南

废弃 API:
OverlayPortal.targetsRootOverlay
SemanticsProperties.focusable 和 SemanticsConfiguration.isFocusable
SnackBar 默认不再自动关闭(需手动处理)。
迁移建议:使用 dart fix 命令自动迁移代码,或参考官方文档调整废弃 API 的使用。

  1. 其他改进

CupertinoDynamicColor 宽色域支持:优化颜色显示效果。
Windows 版本设置:支持通过 pubspec.yaml 和构建参数配置版本,与其他平台行为一致。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容