Flutter material/cupertino 解耦最新进展,已经在做新样式了

下个月就要发布新的 Flutter 版本了,今天看了下 Flutter 样式解耦的进度,看起来进度还挺可以。上个月那个 60 多万行改动的 #11888 Decoupling recopy 已经合并了,也就是所有 Material/Cupertino 的源码、测试、examples、dart fixes 整体搬到 flutter/packages。

之前#11669、#11887 有好几次尝试都失败,这次 "recopy" 总算是一次性干净地搬完。

目前 material_ui 和 cupertino_ui 已经是具备完整源码的独立样式包,然后项目已经开始跑各种 test ,同时版本依赖上:

yaml 复制代码
version: 0.0.2      # 没发布到 pub.dev(publish_to: none)
flutter: ">=3.44.0" # 依赖最低 Flutter 3.44

不过 flutter/flutter 里的原始代码还在,只是暂时冻结,这部分代码估计还是需要等到 package 完全稳定后才会删除切换。

新增的 #12119 [material_ui, cupertino_ui] Localizations,多语言本地化迁移算是是解耦最后模块了,这部分处理完后基本就可以完全进入测试收尾了。

另外 Material 3 Expressive 的相关支持也开始了,目前几个 PR 算是开启了 M3 Expressive 的第一批控件起步,至少比起 Liquid Glass 来说进度快了不少:

PR 内容 状态
#12093 Add M3 Expressive IconButton open,5 天前
#11931 Add global Material style variant(Expressive 风格切换机制) open,19 天前
#12121 Add helper methods in gen_defaults template(为批量生成 Expressive token 准备工具) open,今天
#12122 Migrate AppBar M3 template open,今天

但是 iOS 26 Liquid Glass 风格的暂时还么新进展,按照之前官方的说法,至少需要等到 Package 稳定了才会开始,或者苹果开始强制要求适配了,官方才会着急。

不过至少目前来看整体进度还是可以的:

类型 状态 比例
源码迁移(Material + Cupertino) 完成 100%
测试重新启用(unskip) 完成(#188395 已关闭) ~100%
API 文档(@example 指令) 收尾中 ~90%
本地化(Localizations) 进行中(PR #12119 open) ~80%
发布到 pub.dev 未完成(publish_to: none) 0%
M3 Expressive 新功能 刚开始 <5%
iOS 26 Liquid Glass 未开始 0%
flutter_test 解耦 未完成 ~0%

不过从目前情况来看, 8 月的新版本大概率是等不到这次解耦的正式发布了,预览版应该还是有希望的,至于 Liquid Glass 下半年可能都有点悬,大概率 2027 才能看到影子,除非 9 月的苹果发布会有新政策刺激下,不然感觉不管是 Flutter 还是 CMP ,对于 Liquid Glass 貌似都不太上心,毕竟这玩意确实对自渲染场景压力比较大。

RN 表示这波优势在我。

就是如果 8 月不发布这个解耦 package 好像也不行,因为 4 月 Framework 冻结了 flutter/flutter 的 UI package 更新了,如果 8 月版本不发 package ,等于就是没有任何 UI 更新和修复,这个貌似也不太合理,剩一个月时间,就看官方能不能收尾掉了,按照目前的进度看,其实想收尾也问题不大,可以期待一下。

相关推荐
喵个咪11 分钟前
GoWind CMS 拆解:发布审批——多级推进、逐级角色与全程留痕
前端·后端·go
Starry-sky(jing)15 分钟前
Vidda ADB 开启:R Pro 65 找不到开发者选项的处理与连接验收
android·adb·远程控制·电视·vidda
喵个咪19 分钟前
GoWind Flow 拆解:一个 Go 工作流引擎与它的双模式设计器
前端·后端·go
雨白29 分钟前
从原理到实践:使用 Kotlin KSP 仿写 ButterKnifeLite
android·kotlin
喵个咪39 分钟前
GoWind Admin 拆解:打印模板设计器——从画布到服务端 PDF 的完整打印链路
前端·后端·go
总要学点什么1 小时前
第96篇:三维数据加载-城市建筑白模样式+着色器——让色带按体量上色,最白的那档却涂不上去
前端·gis·webgl·cesium·着色器·空间分析·白模
Hilaku2 小时前
你们公司有 35 岁以上的前端吗?
前端·javascript·程序员
疯华整猫2 小时前
把二十七个 init 从首帧前面搬走:用 Trae 把启动优化钉进 CI
android·性能优化·ai编程
徐小夕2 小时前
开源Vector-Graph-RAG:向量+图谱双引擎,打破纯向量RAG的效果天花板
前端·vue.js·github
SameX2 小时前
HarmonyOS ArkTS 把组件截图保存成 PNG 再调系统分享面板的做法
前端