博客 / 詳情

返回

Flutter 3.38 版本更新:客户端開發者需要關注這三點?

哈嘍,我是老劉

作為一個以Flutter為主要技術棧並且使用了差不多7年的開發者,其實老劉對Flutter版本更新的關注程度比很多人想象中要底很多。

本質上是因為在我的團隊裏對Flutter版本更新這件事會採用非常謹慎的策略。

我們的產品功能極少依賴最新版本的某個新組件,同時除非有非常嚴重的bug要解決,也不會急於升級到新版本。

但是Flutter 3.38版本我覺得各位開發者還是有必要關注一下的。

從Flutter本身的功能來看沒有特別重大的更新,但是對於Android和iOS原生系統的要求來説,這個版本還是非常重要的。


要點解讀

一、Dart 語言更新:Dot shorthands 默認開啓

Dot shorthands 是 Dart 3.6 中引入的“點速記”語法,允許在枚舉或靜態常量上下文中省略前綴,僅寫 .xxx,編譯器自動補全類型。

  • 適用場景:枚舉值、靜態常量(如 MainAxisAlignment.start.start)。
  • 開啓條件:Flutter 3.38 默認啓用,無需額外配置。
// With shorthands
Column(
  mainAxisAlignment: .start,
  crossAxisAlignment: .center,
  children: [ /* ... */ ],
),

// Without shorthands
Column(
  mainAxisAlignment: MainAxisAlignment.start,
  crossAxisAlignment: CrossAxisAlignment.center,
  children: [ /* … */ ],
),

最主要的作用是減少樣板代碼,提升可讀性。

二、Web 開發增強

  • web_dev_config.yaml 配置開發服務器:

    可設置 host/port/HTTPS 證書/headers,以及代理規則(將指定路徑轉發到後端)

  • Web 熱重載增強:

    • -d web-server 模式下默認開啓 Web 熱重載,並支持多個瀏覽器同時連接
    • 可用 --no-web-experimental-hot-reload 暫時禁用(後續版本會移除該禁用選項)

Flutter最近幾個小版本更新都在持續優化Web開發的部分,可見近期團隊的重點一部分放在這裏。

不過Flutter的web和常規的web開發兩者應用場景還是有區別的,開發者做技術選型時一定要根據實際場景考慮。

三、Framework優化

OverlayPortal 新能力

可將子 Widget 渲染到任意 Overlay(如 root overlay),並通過 overlayChildLayoutBuilder 精細控制位置。

感覺適合彈窗、氣泡、提示、對話框等複雜浮層的靈活佈局。

Windows 桌面增強

可訪問已連接顯示器列表(PlatformDispatcher.displays),查詢分辨率、刷新率、設備像素比、物理尺寸等屬性。

這次的桌面增強也屬於是完善桌面的功能完備性的一個組成部分。

Flutter的桌面端多窗口還沒有完整的實現,但是能看到各個細節在不停的補充進來。

對桌面端有需要的開發者目前仍然建議優先選擇其它技術棧,但是可以持續關注Flutter的桌面端多窗口功能的進展。

四、其它更新

Flutter 3.38 修復了 issue #173770:在 Android 端退出 Activity 銷燬時出現的嚴重內存泄漏。該缺陷自 3.29.0 引入,影響所有 Flutter 應用。


升級提示

Flutter 3.38 從功能上看沒有特別重大的更新,但是對Android和iOS原生來説都有比較重要的 影響。

  • Android:默認 NDK 版本升級為 r28,滿足Google Play 16 KB 頁面大小兼容性要求。
  • iOS:提供了對 UIScene 生命週期的支持。

    老劉在文章結尾的官方鏈接部分也有給出UIScene 生命週期的官方遷移指南。

因此,雖然從功能上看沒有升級的必要,但是從原生的角度來説,確實是建議升級的。

根據我們一貫的升級核心原則:2~3個月觀察期,別當小白鼠

新版本發佈後的前兩三個月是“真人實驗期”,嚴重問題通常在這段時間集中暴露。

等社區反饋、官方 issue 修復進度、第三方插件兼容性穩定後,再將其提升為主力版本。

老劉也會在每個月發佈的《Flutter版本選擇指南》中更新 Flutter 3.38 版本的最新情況。

歷史鏈接:

  • Flutter版本選擇指南:避坑3.27,3.35基本穩定 | 2025年10月
  • Flutter版本選擇指南:避坑3.27 | 2025年9月

總結

Flutter 3.38 從功能本身來説並非“重大升級”,更像是常規迭代與體驗優化(Web 開發流程、桌面細節、語法易用性)。

但是不管是Android端的16k頁面大小兼容還是iOS端的UIScene生命週期遷移,都對客户端的開發有比較重要的影響。

因此建議將 3.38 設為候選版本,等待2–3 個月觀察窗口。沒有重大問題後再提升為日常主力版本。

官方鏈接

  • Release Notes(3.38.0):

    https://docs.flutter.dev/release/release-notes/release-notes-...

    (官方版本更新內容與變更説明)[來源:Flutter Docs]

  • Breaking Changes & Migration:

    https://docs.flutter.dev/release/breaking-changes

(所有破壞性變更與遷移指南索引)[來源:Flutter Docs]

  • UIScene 生命週期遷移(iOS 必讀):

    https://docs.flutter.dev/release/breaking-changes/uiscenedele...

(蘋果要求採用 UIScene 生命週期,需按此遷移)[來源:Flutter Docs]

  • What's New(文檔站新增內容):

    https://docs.flutter.dev/release/whats-new

(該頁明確本次版本重點並指向相關指南)[來源:Flutter Docs]

  • 官方技術博客(3.38 總覽):

    https://blog.flutter.dev/whats-new-in-flutter-3-38-3f7b258f7228

(本次版本的特性、工具鏈要求與已知問題)[來源:Flutter Blog]

如果看到這裏的同學對客户端開發或者Flutter開發感興趣,歡迎聯繫老劉,我們互相學習。

點擊免費領老劉整理的《Flutter開發手冊》,覆蓋90%應用開發場景。

可以作為Flutter學習的知識地圖。

覆蓋90%開發場景的《Flutter開發手冊》

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.