Flutter 3.47 於 2026 年 8 月發布,修補版於 10 月 29 日推進至 3.47.9。此版本把 Material 與 Cupertino 拆成獨立 1.0 套件,桌面三平台改以 Impeller 為預設渲染器,Widget Previews 轉為穩定。倉庫累積約 18 萬星標。
Flutter 3.47 是什麼?
Flutter 3.47 是 Google 跨平台 UI 工具鏈的更新版本,重點是把設計系統獨立成套件,並讓桌面平台改用 Impeller 作為預設渲染器。
Flutter 是 Google 自 2015 年開始維護的行動、網頁與桌面應用框架,以單一程式碼庫輸出的方式運作,主要語言為 Dart。倉庫現時有約 18 萬星標、3.3 萬次分叉與 3,535 位關注者,待處理議題約 1.35 萬項,屬於長期高活躍的大型開源專案。
3.47 的定位並非單點功能更新,而是三條主線同時推進:設計庫脫離核心 SDK、桌面渲染統一到 Impeller、開發工具把即時預覽提升至穩定階段。三者都指向同一個方向,就是降低框架對季度發版節奏的依賴。
Material 與 Cupertino 拆成獨立套件有何影響?
Material 與 Cupertino 現可以獨立套件形式引入,版本各自演進,修補與新元件按週節奏推出,不必等待整個 Flutter SDK 升級。
過去這兩套設計庫直接綁在核心 SDK 內,任何元件修改都要跟隨 Flutter 的發布週期,導致貢獻審核緩慢、更新滯後。3.47 讓 material_ui 與 cupertino_ui 在 pub.dev 上以 1.0 版本發布,設計團隊可以自行決定採用哪一個版本。
遷移方式相對直接,執行 dart fix --apply --code=migrate_design_widgets 便會把原有的 material 與 cupertino 引入改寫為新套件路徑。官方同時提醒,若工具在處理 pubspec.yaml 時出錯,可先手動執行 flutter pub add material_ui,再重跑一次修正指令。
生態過渡期的相容問題由 MaterialUiCompatibilityBridge 接手。應用程式可以先行切換到獨立套件,即使部分依賴套件仍使用核心 SDK 的舊引入路徑,透過外層包一層橋接元件即可運作。
本地化結構亦同步調整。flutter_localizations 被拆散,Material 與 Cupertino 的翻譯字串各自歸入對應套件,設定 localizationsDelegates 時只需指向 GlobalMaterialLocalizations.delegates 便已包含 Cupertino 與 Widgets 兩層委派。
核心 SDK 內的原始設計庫預定在 11 月的秋季穩定版正式標記為棄用。官方建議,若維護的是生態套件,應把這次搬遷視為一次大版本變更處理。
桌面版 Impeller 成為預設有什麼改變?
Impeller 在 macOS、Windows、Linux 成為預設渲染器,直接呼叫 Metal 與 Vulkan,著色器於建置階段編譯,首帧動畫不再出現編譯卡頓。
Impeller 是 Flutter 為取代 Skia 而重寫的渲染引擎,設計上針對現代圖形 API。它把著色器集合在建置階段一次編譯完成,避免執行期才動態編譯造成的短暫停頓,這個現象在舊架構下常出現在動畫首次播放時。
若專案需要暫時退回 Skia,三個平台各有開關:macOS 在 Info.plist 設定 FLTEnableImpeller 為 false,Windows 在 main.cpp 加入 project.set_impeller_switch,Linux 則在 my_application.cc 呼叫 fl_dart_project_set_enable_impeller。官方表明這類退回選項會在未來版本移除。
桌面端的其他進展集中在視窗能力。Linux 與 Windows 開始支援彈出視窗,可用於原生右鍵選單與工具面板;平台控制器新增 windowHandle 查詢,讓開發者取得 HWND、NSWindow 或 GtkWindow 的直接指標,實現可停靠面板一類的原生功能。
文字清晰度亦有調整。桌面螢幕的像素密度通常低於手機,但圖形算力較充裕,因此 Impeller 在三個桌面平台導入 Signed Distance Function 渲染,令字形邊緣與向量曲線更為銳利。macOS 同時預設啟用廣色域色彩。
Flutter 3.47 對 iOS 與 macOS 開發者有何要求?
最低系統版本提高:iOS 由 13 升至 15,macOS 由 10.15 升至 12。以 Xcode 27 建置的應用必須採用 UIScene 生命週期,否則無法啟動。
這些調整是為 Xcode 27、iOS 27 與 macOS 27 的秋季更新預先鋪路。官方建議開發者在測試版系統上先行驗證,避免使用者升級當日才暴露相容問題。
UIScene 的規定較為強制。多數專案在建置時由 Flutter CLI 自動完成遷移,但若 AppDelegate 含有自訂原生程式碼,或所用外掛仍依賴舊版應用生命週期,就必須依照官方遷移指南手動處理。
Intel 架構 Mac 的支援正在退場。自動化測試已不在 Intel 硬體上執行,命令列在 Intel 主機建置或指定雙架構時會輸出警告,這些警告日後將轉為錯誤。開發者可透過 flutter config --enable-macos-arm64-only 提前改為只建置 ARM64。
套件管理方面,前 100 個 iOS 外掛中已有 92 個完成 Swift Package Manager 遷移。由於 CocoaPods 進入維護模式,未遷移的外掛最終會停止運作,在 pub.dev 的評分亦會被調低。
Wasm 與 Widget Previews 在 3.47 有何進展?
網頁端以 WebAssembly 為預設的準備持續推進,可用 –wasm 參數提前測試;Widget Previews 轉為穩定,元件可獨立渲染與調整。
WebAssembly 的目標是讓瀏覽器端取得接近原生的效能。目前可用 flutter build web --release --wasm 主動啟用,前提是程式碼已遷移到 package:web,舊有的 dart:html 已不受支援。此版本另在主通道加入實驗性的延遲載入,可把 Wasm 應用切成多個按需載入的模組,改善首次載入時間。
Widget Previews 的穩定化對日常開發的影響更直接。開發者可以單獨渲染、檢視與調整某個介面元件,不必啟動整個應用。專案內的 .widget_preview 目錄會快取設定,減少重複初始化的等待;抽象的 PreviewThemeData 介面則支援多層主題疊加,便於做主題矩陣測試。
生成式介面方面,genui 套件推進到 0.10.0,新增 a2ui_core 集中管理協定相關的類別,並支援 A2UI 的客戶端函式,讓代理可以把驗證與衍生數值一類小任務交給前端處理,減少往返次數。
Flutter 3.47 的資安風險該如何處理?
eMudhra 八張中繼憑證遭入侵,Android、Windows、Linux 的 dart:io 連線可能被攔截。Flutter 3.47.8 已修補,應盡快升級。
GitHub 安全公告 GHSA-frr6-h895-5pxp 於 2026 年 10 月 23 日發布,嚴重程度列為 high。問題根源在於 eMudhra 簽發的八張中繼憑證因金鑰產生熵值不足而外洩,攻擊者可推導出私鑰,繼而為任意網域偽造可通過驗證的 TLS 憑證。
受影響範圍限於 Android、Windows 與 Linux 上以 dart:io 進行的對外連線。原因是這兩個平台的直連實作使用內嵌的 BoringSSL 驗證憑證鏈,不會讀取作業系統層的中繼憑證封鎖清單;Linux 則僅在系統 ca-certificates 未更新的環境受影響。網頁、iOS 與 macOS 依靠瀏覽器或 Apple Security.framework 驗證,不受此問題波及。
修補版本為 Flutter 3.47.8 與 Dart 3.13.7,對應的測試版為 3.50.0-0.2.pre 與 3.14.0-315.3.beta。應用必須以修補後的 SDK 重新建置才會生效,單純更新執行環境並不足夠。
Flutter 3.47 的數據表現如何?
倉庫約有 18 萬星標、3.3 萬次分叉、3,535 位關注者與 1.35 萬項待處理議題,主要語言為 Dart,採 BSD-3-Clause 授權。
版本節奏值得留意。3.47.0 於 8 月發布後,修補版由 3.47.5、3.47.6 一路推進到 10 月 29 日的 3.47.9,平均每兩至三週一次,反映團隊在架構調整期間仍維持穩定的除錯節奏。
Android 依賴矩陣亦已固定:Java 17 為最低要求,Kotlin Gradle Plugin 2.4.0,Android Gradle Plugin 9.1.0,Gradle 9.3.1。預設 compileSdkVersion 與 targetSdkVersion 為 API 36,minSdkVersion 為 API 24。
出處連結有哪些?
主要來源為 Flutter 官方部落格的 3.47 發布說明與 release notes,以及 GitHub 上的 Dart 安全公告。數據截至 2026 年 10 月 31 日。
- 專案倉庫:flutter/flutter
- 發布說明:What’s new in Flutter 3.47
- 版本記錄:Flutter 3.47.0 release notes
- 安全公告:GHSA-frr6-h895-5pxp



總結:Flutter 3.47 適合什麼團隊?
同時維護桌面與行動端的中大型 Flutter 團隊最值得升級,設計系統獨立與桌面 Impeller 的收益最直接;小型舊專案可等 11 月棄用版再評估。
這次更新的實質意義,在於框架願意把自己的設計層交出去。Material 與 Cupertino 從核心 SDK 移出後,介面元件的節奏由社群與設計團隊各自掌握,長遠會令生態更接近套件化的前端體系。
代價是過渡期的複雜度。獨立套件、相容橋接、本地化拆散與 11 月的正式棄用,構成一條需要規劃的遷移路徑,維護多個專案的團隊應預留一輪回歸測試。
桌面 Impeller 的預設化則是立即可見的收益,首次動畫的卡頓消失對工具類與桌面應用尤其明顯。至於 Wasm 預設化與多視窗 API,仍屬需要觀察的中期方向。