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

相关推荐
ONE_SIX_MIX1 小时前
lightweight-charts-onesixth v2.8.1 → v3.1.1 更新总览
java·前端·python
weedsfly1 小时前
纯函数与副作用——前端开发中最容易被忽视的质量保证
前端·javascript·面试
杖雍皓1 小时前
没有服务器如何构建现代 Web 应用:平台选型与组合策略
运维·服务器·前端·react.js·github·netlify·vercel
TrisighT1 小时前
鸿蒙 ArkWeb 混合开发全攻略:JSBridge 双向通信 + 实战登录注入
前端·harmonyos·arkts
翟硕的笔记1 小时前
Flutter 插件发布到 pub.dev 操作手册
flutter
sun_weitao1 小时前
微前端框架之qiankun 怎么用?vue3+vite+qiankun 和 react + qiankun
前端·react.js·前端框架
在书中成长1 小时前
HarmonyOS 小游戏《对战五子棋》开发第17篇 - AI的两种评估策略
android·java·javascript
CodeSheep1 小时前
南京IT公司六小龙
前端·后端·程序员
IT_陈寒2 小时前
React useEffect依赖数组把我坑惨了,这次搞明白了
前端·人工智能·后端