大家好,我是老刘

2月12日,Flutter 3.41.0 发布,之后又发布两个修复bug的小版本。

这应该是过年前后最后一个大版本,后续大概率会有3.41.x小版本迭代。

总的来说这不是一个重大更新的版本,主打的是各个环节的优化。

接下来老刘摘出来Flutter 3.41中几个我认为值得关注的点。

如果希望了解更多详情,建议查看Flutter官方发布日志: https://docs.flutter.dev/release/release-notes/release-notes-3.41.0

一、 核心要点解析

1. Flutter sdk 与 UI库解耦

持续推进将 Material 和 Cupertino 库迁移为独立包。

UI 组件与基础设施分离早该如此了。

这样也就解决了我们开发的时候想用新的组件又不想升级Flutter 版本的问题。

因为升级Flutter版本总是会对当前的稳定性造成一定的影响,但是升级组件库相对来说风险更可控。

2. 平台特定资源 (Platform-specific assets)

在 pubspec.yaml 中可以指定资源适用的平台,从而优化包体积(例如在移动端构建中排除桌面端的大型资源)。

flutter:
  assets:
    - path: assets/logo.png
    - path: assets/web_worker.js
      platforms: [web]
    - path: assets/desktop_icon.png
      platforms: [windows, linux, macos]

这个对纯手机端可能影响有限,但是对于横跨手机和桌面端的应用来说,这是一个非常好的优化。

但是老刘这里还是要提醒一下,同时横跨手机和桌面端看起来很美。

实际工程中要小心评估你的应用场景,很多时候手机和桌面端的业务逻辑是不完全一样的。

3. Add-to-App 增强

嵌入原生应用的 Flutter 视图现在支持根据内容 自动调整大小 (不再需要固定尺寸)。

在这里插入图片描述

这又是一个看起来很美好的功能。

实际工程中还是尽量避免组件级别的混合页面。

这样对页面复杂度和架构复杂度都是不小的考研,很容易在代码中留下隐患,给未来埋坑。

实际的混合开发中还是更推荐按照页面为单位进行Flutter或者原生的划分。

强调一下混合开发仍然是比较推荐的老代码迁移方案。

因为Flutter的跨平台能力,我们可以在不改变业务逻辑的情况下,快速迁移到Flutter。

这也是Flutter被广泛应用的一个重要原因。

4. 桌面端 (Desktop)

简单来说就是还在努力推进,逐步补全桌面端的拼图。

5. Dart 升级到 3.11.0

有一个Breaking Change

dart2wasm 不再支持 dart:js_util,必须迁移到 dart:js_interop ,否则会报错。

二、 避坑指南

1. AGP 9:暂时别升级

虽然 AGP (Android Gradle Plugin) 9.0 带来了构建性能的提升,但老刘强烈建议大家暂时不要升级

目前 Flutter 官方明确表示 AGP 9 会导致大量现有插件不可用。

alt text

因为 AGP 9 移除了很多废弃的 API(比如 Transform API)。

建议等官方的迁移脚本和第三方插件生态都跟上之后,我们再从容升级。

2. SwiftPM:老项目需谨慎

Flutter引入Swift Package Manager (SPM)支持是为了最终摆脱 CocoaPods 和 Ruby 环境的依赖,这是 iOS 开发的正确方向。

对于老项目迁移,一定要慎之又慎

目前 SPM 的支持还处于"混合模式"阶段,很多老插件并没有适配 SPM (缺少 Package.swift),这会导致项目同时依赖 CocoaPods 和 SPM,极易产生依赖冲突和 Xcode 配置混乱。

三、 总结

Flutter 3.41 是一个承上启下的版本,为 2026 年的稳定迭代打好了地基。

说实话老刘认为开年第一个版本不要更新太重大的功能,为2026提供一个稳定的基础版本是比较好的。

但是我们仍然是建议等2个月以上,一切稳定后再考虑升级。

🤝 如果看到这里的同学对客户端或者Flutter开发感兴趣,欢迎联系老刘,我们互相学习。

🎁 私信免费领老刘整理的《Flutter开发手册》,覆盖90%应用开发场景。可以作为Flutter学习的知识地图。

💬 : laoliu_dev

📂 老刘也把自己历史文章整理在GitHub仓库里,方便大家查阅。
🔗 https://github.com/lzt-code/blog

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐