谷歌有没有画饼?Flutter 2025 路线图完成度核验

大家好,我是老刘

今天是2025年的最后一天。

是时候拿出年初 Google 画的那张大饼,摊在桌上好好验验货了。

2025 年对于 Flutter 而言是至关重要的一年。回顾年初发布的路线图,Google Flutter 团队将重点放在了渲染引擎的全面升级(Impeller)Web 平台的性能质变(Wasm)以及原生生态的深度融合上。

https://github.com/flutter/flutter/blob/master/docs/roadmap/Roadmap.md

截至 2025 年底,我们通过梳理官方发布日志与社区动态,对这份路线图的完成情况进行了逐一核验。

请大家来判断年初画的饼Google兑现了没有?


1. 核心渲染:Impeller 引擎全面默认

Impeller 旨在彻底解决 Skia 时代的着色器编译卡顿(Jank)问题,提供可预测的极致性能。

  • 路线图目标
    • iOS:彻底迁移至 Impeller,移除 Skia 后端。
    • Android:在 Android 10 (API 29+) 及以上设备默认启用。
  • 2025 完成情况 :✅ 已达成
    • iOS:Impeller 已成为 iOS 平台的默认且唯一渲染引擎(自 Flutter 3.10 起默认,后续版本彻底移除 Skia 回退选项)。
    • Android :自 Flutter 3.27 版本起,Impeller 正式成为 Android API 29+ 设备的默认渲染引擎。对于不支持 Vulkan 的老旧设备,Flutter 依然保留了 Skia 作为兼容方案,确保了覆盖率与性能的平衡。

2. Web 平台:Wasm 稳定与热重载

Web 一直是 Flutter 跨平台愿景中极具挑战的一环。

  • 路线图目标
    • 利用 WebAssembly (Wasm) 提升性能。
    • 移除旧版 HTML & JS 库。
    • 支持 Web 热重载(Hot Reload)。
  • 2025 完成情况 :✅ 已达成
    • WasmGC 稳定支持 :Flutter Web 的 Wasm 编译模式已在 Flutter 3.22 中进入 Stable 阶段。配合支持 WasmGC 的现代浏览器(Chrome, Firefox 等),性能提升显著(最高达 3 倍)。
    • 热重载 (Hot Reload) :这是 Web 开发者期待已久的功能。在 Flutter 3.32 及后续版本(如 3.35)中,Web 热重载功能正式脱离实验状态,极大提升了 Web 应用的开发效率,不再需要频繁的全量刷新(Hot Restart)。
    • 移除 Legacy HTML :Dart 3.7 及 Flutter 3.29 均发出了明确的弃用信号,dart:html 等旧库已被标记为 Deprecated,为 Wasm 原生化铺平了道路。

3. 移动端生态与原生融合

Flutter 在 2025 年致力于让自己更像一个"原生"框架,而非外来者。

  • 路线图目标
    • iOS:支持 Swift Package Manager (SwiftPM) 并设为默认。
    • Android:支持 Android 16,迁移 Gradle 至 Kotlin DSL。
    • 互操作性:直接调用原生代码(Objective-C/Swift, Java/Kotlin)。
  • 2025 完成情况 :🔄 大部分达成/进行中
    • iOS SwiftPM :自 Flutter 3.24 起,Flutter 正式支持 Swift Package Manager 管理原生依赖,逐步替代 CocoaPods。虽然目前仍处于过渡期(支持 Opt-in),但已成为推荐方案,未来将完全取代 CocoaPods。
    • Android 现代化
      • Android 16:已完全适配(API Level 36),支持 Edge-to-Edge 强制特性。
      • Kotlin DSL :自 Flutter 3.29 起,新创建的 Flutter 项目默认使用 Kotlin DSL (.gradle.kts) 编写构建脚本,告别了 Groovy,与 Android 原生开发标准完全对齐。
    • Native Interop :通过 FFIgen (C/ObjC/Swift) 和 JNIgen (Java/Kotlin),Flutter 的原生互操作性达到了新高度。Flutter 3.38 推出了新的 package_ffi 模板,使得直接调用原生 API 变得更加标准化和高效,减少了对 MethodChannel 的依赖。

4. 桌面端:Canonical 持续深耕

虽然 Google 团队的重心在移动和 Web,但 Canonical作为核心合作伙伴,在 2025 年扛起了桌面端的大旗。

  • 路线图目标
    • 多窗口支持改进。
    • 无障碍功能、键盘输入与文本输入体验优化。
  • 2025 完成情况 :🔄 稳步推进
    • 多窗口支持 :这是桌面端最受关注的功能。2025 年虽然官方尚未完全内置"开箱即用"的多窗口 API,但通过 Canonical 推动的底层引擎改进以及社区插件(如 window_manager_plusdesktop_multi_window),开发者已经能够构建多窗口应用。
    • 企业级落地 :Canonical 用实际行动证明了 Flutter 桌面端的成熟度------Ubuntu 25.10 的全新系统安装器应用中心均完全由 Flutter 构建,运行流畅且原生感十足。
    • 基础体验:在键盘焦点控制、IME 输入法支持以及屏幕阅读器适配上,桌面端在 2025 年修复了大量长期存在的 Issue,使得体验不再有"割裂感"。

5. Dart 语言:效率至上与路线调整

Dart 语言在 2025 年经历了一次重要的战略调整,同时带来了一系列极具幸福感的新特性。

  • 路线图目标
    • 宏编程(Macros)停止开发。
    • 持续提升开发者效率(语言特性)。
  • 2025 完成情况 :⚠️ 路线调整 / ✅ 效率提升
    • Macros (宏) 停止开发 :这是一个重大的路线修正。在 2025 年初(Dart 3.7 发布前后),Dart 团队宣布由于技术复杂度过高且难以在短期内达到预期质量,正式停止 了实验性 Macros 功能的开发。团队转而通过改进 build_runner 性能和探索 augmentations(增强)机制来解决代码生成痛点。
    • Dot Shorthands (点号简写) :在 Dart 3.10 中,备受期待的"点号简写"终于落地。开发者现在可以写 color: .red 而非 color: Colors.red,或者 alignment: .center 而非 alignment: Alignment.center。这一改动极大减少了 UI 代码的冗余,深受社区喜爱。
    • Wildcard Variables (通配符变量) :Dart 3.7 引入了 _ 作为真正的通配符,用于显式忽略未使用的变量,使代码意图更加清晰。

6. 总结

2025 年是 Flutter 走向成熟 的一年。如果说以前的 Flutter 还在为"跨平台是否卡顿"而争论,那么 2025 年的 Flutter 已经通过 ImpellerWasm 交出了完美的答卷。

功能模块 目标 状态 关键版本
Rendering Impeller (iOS) ✅ 完成 v3.10+
Rendering Impeller (Android) ✅ 完成 v3.27
Web WasmGC 支持 ✅ 完成 v3.22
Web Hot Reload ✅ 完成 v3.32/3.35
Build Gradle Kotlin DSL ✅ 完成 v3.29
Build SwiftPM 支持 🔄 推进中 v3.24+
Dart 效率提升 ✅ 完成 持续更新
Dart Macros (宏) ❌ 取消 v3.7 (宣布停止)
Desktop 多窗口支持 🔄 推进中 持续更新

Flutter 团队在 2025 年不仅兑现了性能承诺,更在开发体验(Kotlin DSL, SwiftPM, Dot Shorthands)上做出了巨大的改进,虽然 Macros 的取消令人遗憾,但务实的路线调整也避免了生态的碎片化。

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

私信免费领老刘整理的《Flutter开发手册》,覆盖90%应用开发场景。

可以作为Flutter学习的知识地图。

------ laoliu_dev

相关推荐
程序员Ctrl喵8 小时前
异步编程:Event Loop 与 Isolate 的深层博弈
开发语言·flutter
前端不太难9 小时前
Flutter 如何设计可长期维护的模块边界?
flutter
小蜜蜂嗡嗡10 小时前
flutter列表中实现置顶动画
flutter
始持11 小时前
第十二讲 风格与主题统一
前端·flutter
始持11 小时前
第十一讲 界面导航与路由管理
flutter·vibecoding
始持11 小时前
第十三讲 异步操作与异步构建
前端·flutter
新镜11 小时前
【Flutter】 视频视频源横向、竖向问题
flutter
黄林晴12 小时前
Compose Multiplatform 1.10 发布:统一 Preview、Navigation 3、Hot Reload 三箭齐发
android·flutter
Swift社区13 小时前
Flutter 应该按功能拆,还是按技术层拆?
flutter
肠胃炎13 小时前
树形选择器组件封装
前端·flutter