近日,Flutter 官方突然發布了 material_ui 和 cupertino_ui,不過包內暫時沒有真實代碼,只是作為預告和占位發布,根據預告內容:
對於 material_ui,核心會包含:
Scaffold, AppBar, DrawerFloatingActionButton, TextField, SliderCard, Chip, ListTileThemeData, ColorScheme對於 cupertino_ui,核心會包括:
CupertinoPageScaffold, CupertinoNavigationBarCupertinoButton, CupertinoTextField, CupertinoSwitchCupertinoAlertDialog, CupertinoActionSheet
同時,最重要的是,這兩個包都提及了 Material 3 Expressive 和 iOS 26 風格支持,也就是全新的樣式適配,會跟隨包一起發布。

而根據 Decoupling Design #projects/220,目前大約 30 多個關鍵任務情況,目前:
所以整體階段處於 “基礎設施搭建” 與 “代碼清理/預重構” 的中期階段,目前看來 2026 年中後期完成遷移的可能性很高,根據任務情況,目前已完成的有:
而正在進行的任務主要是解決技術債,重點是消除內部耦合:
flutter/packages 添加 Skia Gold 支持,以確保遷移後的組件仍能進行 Golden file 測試Widgets 庫中添加主題化選項支持未完成,也就是還沒開始工作的大多都是“搬運”工作:
flutter/packages 中建立正式的 Material/Cupertino 包(實際上以發布空包)dart fix 遷移工具,幫助開發者平滑過渡所以整體看下來,整個流程還是相當清晰的:
前提條件:必須先完成禁止 Material 等包在單元測試裡跨包導入,否則代碼一旦物理移動,數千個測試將直接崩潰
基礎設施準備:在代碼移動前,必須先在目標倉庫 (flutter/packages) 配置好發佈流程和測試工具
開始階段:在剝離設計語言前,需要先將原本混在 Material 裡的通用基礎組件遷移到 Widgets/Core 框架層
遷移:只有上述工作完成,才能開始 Land material 和 cupertino library code
最後通過自定義模板和 dart fix 確保開發者能無縫使用新的包
所以,未來 Flutter 在 Framework 內將不帶任何 material 和 cupertino 樣式,你可以根據需要選擇樣式庫,甚至覺得使用哪個樣式庫版本,最重要的是:
不升級 Flutter 版本也可以更新最新的設計樣式,同時控件 Bug 也可以得到更快的修復和發布。