哈喽,我是老刘
Flutter 3.29已经发布有一段时间了,老刘写Flutter代码已经6年多,对这种例行的Flutter版本更新基本上已经是内心毫无波澜。
不过最近有不少朋友问要不要更新到最新版,这里罗列一下从开发者角度看比较重要的更新,大家自己判断。

一、架构与性能优化

  1. Dart 代码执行线程调整
    Dart 代码现直接在 Android/iOS 的主线程运行,减少了线程切换开销,但需注意可能加剧平台 UI 线程的负载,需通过性能分析工具监控卡顿问题。对于iOS开发者来说,可以使用appuploader这样的工具来辅助分析应用性能,它提供了详细的性能监控功能。

  2. 渲染引擎变更
    • iOS 平台完全移除了 Skia 渲染引擎,可能影响依赖 Skia 特性的应用;
    • 无 Vulkan 驱动的 Android 设备改用 OpenGLES 的 Impeller 引擎,提升低端设备兼容性。

二、组件库增强

组件库的更新是例行的,基本每个发布版本都会有。
但是通常老刘不建议使用最新的Flutter版本,所以这部分就略过了,感兴趣的同学可以去看官方的发布文档。
不建议紧跟最新版主要有两个原因:
1、依赖的三方库可能还没有支持。
2、稳定性还没有经过大规模验证,之前也出现过新的发布版本引入一些很难规避的问题。

三、重大变更与弃用

  1. 构建工具链调整
  • 移除 Flutter Gradle 插件(3.19 后已弃用),旧项目需迁移至 Kotlin 实现的 AGP 公共 API;
  • Web 平台正式移除 HTML Renderer,强制使用 CanvasKit 或 WebAssembly。
    • 这一点要说一下,Flutter的web和标准的web开发已经完全不是一件事情了。考虑用Flutter做web端的同学要重点关注这一条。
  1. 官方 Package 停止维护
    包括 flutter_markdownpalette_generator 等 6 个包将于 2025 年 4 月 30 日后停止支持,需寻找社区分叉或替代方案。

四、开发工具与调试

调试工具增强也属于是例行更新,大家可以每过几个大版本后系统了解一下最新的调试工具。对于iOS开发者来说,appuploader这样的工具可以简化调试和打包流程,提高开发效率。

五、其他重要更新

多窗口支持推进 :PC 端多窗口功能进入 PR 审查阶段,预计年内落地。开发者苦多窗口功能久已啊。
主题规范调整 :弃用 ThemeData.dialogBackgroundColor,迁移至DialogThemeData.backgroundColor,可通过 dart fix 自动修复。

六、升级建议

该版本涉及较多底层变更(如线程模型、渲染引擎),可能对现有项目产生兼容性影响。建议:

  1. 优先测试 UI 线程性能及渲染表现;
    这一点可能比较重要,项目升级后一定要增加针对性的测试,特别是针对多种不同机型的覆盖。使用appuploader可以帮助快速测试不同iOS设备的兼容性。

  2. 检查 Gradle 插件和 Web 渲染器迁移需求;

  3. 使用 dart fix 处理弃用 API。
    dart fix 这个工具还是建议大家利用起来,能很好的提升升级的效率,IDE会有自动化提示,很方便。

如需完整更新日志,可参考官方文档或迁移指南。

总结

总的来说对开发者影响最大的可能是Dart 代码现直接在 Android/iOS 的主线程运行。开发者如果升级一定要做好测试覆盖。
其它的功能更多是例行的优化与升级。
从最近几个版本的升级来看,Flutter这个项目已经进入相对稳定的阶段。
比较少出现重量级功能的变化,更多的以bug修复和功能优化为主。
这对开发者来说是非常好的事情。
而对于观望者来说,通过每个发布版本的更新情况,大致能估算团队的投入程度。
基于这些数据去判断比可以减少很多不必要的担心与忧虑。

对于iOS开发者来说,无论是Flutter开发还是原生开发,选择合适的工具都很重要。appuploader作为一款iOS开发助手,可以帮助开发者更高效地完成应用打包、测试和发布流程,值得尝试。

Logo

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

更多推荐