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內容狀態#12093Add M3 Expressive IconButtonopen,5 天前#11931Add global Material style variant(Expressive 風格切換機制)open,19 天前#12121Add helper methods in gen_defaults template(為批量生成 Expressive token 準備工具)open,今天#12122Migrate AppBar M3 templateopen,今天但是 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 更新和修復,這個貌似也不太合理,剩一個月時間,就看官方能不能收尾掉了,按照目前的進度看,其實想收尾也問題不大,可以期待一下。


原文出處:https://juejin.cn/post/7660030380293357609


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝17   💬3   ❤️5
725
🥈
我愛JS
📝2   💬5   ❤️3
144
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登