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

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

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

目前 material_uicupertino_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 更新和修复,这个貌似也不太合理,剩一个月时间,就看官方能不能收尾掉了,按照目前的进度看,其实想收尾也问题不大,可以期待一下。

相关推荐
JeffongTan4 小时前
在LWC中镶嵌VF Page获取用户IP
前端·javascript·salesforce
91刘仁德5 小时前
MYSQL 事务原理及使用
android·mysql·adb
陆枫Larry6 小时前
Astro 是什么
前端
一笑的小酒馆7 小时前
AndroidKMP之瀑布流实现
android
RainyJiang7 小时前
AI时代下,Android的边界正在消失
android·openai·ai编程
是立不是利8 小时前
写给设计师的 CSS 博客美学指南
前端·css
Android-Flutter8 小时前
android 内存抖动详解
android
默_笙8 小时前
🏝 Docker 就是"房地产开发":从施工图纸到小区物业的容器化指南
前端·javascript
计算机魔术师8 小时前
Rohan Paul 谈用时间跨度衡量智能体能力,并引用 OpenAI 自动化研究实习生里程碑
前端
kyriewen8 小时前
我手写了个极简版 React Router——才搞懂 v6 为什么砍了这么多 API
前端·javascript·程序员