yii.
← Writing
Flutter 月報 · · 9 min read

2026 年 7 月 Flutter 大小事:零 feature release 的一個月,38 個 commit 全花在 agent 上

stable 停在 3.44.8 整整一個月。但 LG 開源了 webOS embedder,Flutter GPU 的原作者交出完整 3D 引擎,而官方替 agent skills 寫了一套 evals

七月的 Flutter stable 停在 3.44.8。整整一個月,四個 patch release,沒有任何新功能。Dart stable 也維持在 3.12.2 沒動。

如果只看版本號,這是很無聊的一個月。但同一個月裡,官方在 flutter/agent-plugins 累積了 38 次 commit,把 Claude Code、Codex、Cursor 三家 IDE 一次接上,還替這些 agent skills 寫了一套 evals;LG 把 webOS 的整套 Flutter SDK 開源;FlutterCon USA 在 Orlando 開了 65 場議程;而 Flutter GPU 的原作者交出了一個能跑 Gaussian Splat、能把可互動 widget 貼在 3D 表面上的即時 3D 引擎。

補記於八月中:Flutter 3.47 與 Dart 3.13 已經在 8/12 發布,那是下一期的事。這篇講的是它們發布之前、什麼都沒動的那個七月。

這篇是 Flutter Taipei Meetup #36(2026 年 7 月月報)的文字版。資料期間 2026–06–28 到 2026–07–27,星數與 commit 數都是 07–27 當天的快照。


版本車道:一個等待中的月份#

版本資訊一律以 Flutter 官方 release JSON 為準(storage.googleapis.com/flutter_infra_release/releases/releases_macos.json),不採信二手文章。

07–13 切出 3.47 beta 分支這件事,等於宣告七月剩下的時間都是穩定期。所以這個月要看的東西,全部在版本號以外。


主線一:官方在補的不是功能,是「AI 怎麼寫 Flutter」#

一個月內從「支援一家 IDE」變成「支援三家」,中間還插了 API boundary runner 跟 CI check。安裝方式是一行:

npx skills add dart-lang/skills --skill '*' --agent universal

三家 IDE 這件事本身不難,設定檔而已。真正值得看的是月底那兩個 PR。

官方怎麼確認一個 skill 有效#

07–23 到 07–24 進 repo 的 evals 機制,是我七月看到最有參考價值的東西。官方自己的定位很克制:「這些 evaluation 本質上是 skill 的 unit test」,範圍僅限 dart_skills_lint 生態,不是通用評估框架。

左邊那份 evals.json 的結構值得逐欄看:prompt 要寫真實的使用者請求,涵蓋主流程或這個 skill 宣稱能處理的邊界案例;expected_repo_state 不是自然語言描述,是可驗證的斷言陣列;agent_config 決定用哪個 harness,已發布的 skill 一律用 bare-agent,只有內部貢獻者 skill 才用個人 profile。這幾個約束加起來,等於逼你把「這個 skill 應該做到什麼」寫成能被機器判定的東西。

右邊的流程有兩處我抄進自己的 skill 了。

一是預設不開對照組。只有使用者明確要求比較時才另外開 Baseline subagent(同樣任務、不給 skill)。多數人做 eval 的第一直覺是每次都跑 A/B,但那是雙倍成本換一個你八成已經知道答案的問題。

二是 workspace 隔離不准靜默降級。偵測到多個 workspace 掛載時 Workspace: branch 會失敗,此時必須警告使用者,不得 fallback 到 Workspace: inherit。理由寫得很直白:併發跑會造成 git state bleed,失敗情境的改動會被同時執行的成功情境看到。任何寫過多 agent 併行的人應該都被這個坑咬過。

07–24 加的 Meta-Evals 又更進一步:拿 test_data/ 底下 bad_code/ 與 ok_code/ 兩份靜態 fixture 去評分,反過來驗證 rubric 本身抓不抓得到反模式、會不會誤殺乾淨的程式碼。評分器也要被評分。

同樣值得記的是他們刻意不評的東西:dart format 本來就修得掉的排版瑣事、要跑好幾分鐘才生得出來的完整系統架構、超出 dart_skills_lint 範圍的 skill。這個「不做什麼」的清單,比「做什麼」更能看出他們對 evals 成本的判斷。

我的看法:這套東西的價值不在 Flutter,在於它是少數公開、可讀、規模又小到能整份看完的 agent skill 評估實作。你自己維護的 skill 如果一直靠感覺調整,tool/dart_skills_lint/evals/README.md 跟 tool/dart_skills_lint/.agents/skills/run-evals/SKILL.md 這兩份是很好的起點。

https://github.com/flutter/agent-plugins

官方文件:Agent Skills、MCP Server。


主線二:FlutterCon USA,以及有人正面回答了那個問題#

07–16 到 17,Orlando OCCC West Concourse,與 droidCon Orlando 併場。70 位講者、65 場議程、400 位開發者。四條特別軌:Agentic Engineering、TechLead Summit、Unsolved Unconference、Flutter at Scale。

議程錄影從 07–18 起陸續上架在 nextapp devCon 頻道,跟 droidCon 場次混在一起。查詢日(07–27)該頻道只有兩支 flutterCon USA 2026 的場次。先是 Craig Labenz 與 Loïc Sharma 的 40 分鐘 keynote:

https://youtu.be/kryeoX3yO8s

然後是這個月最值得看的一支。Eric Seidel 是 Flutter 的創造者,2023 年創辦 Shorebird,他那支的簡報標題其實是「Why Flutter matters more in the AI era」,主題直接對上七月 Reddit 上那串「AI 時代 Flutter 開發者還有沒有搞頭」的討論:

https://youtu.be/KT399tupCn8

有趣的是同一場 conference 裡,Ivanna Kaceviča 的議程標題就叫「Is Flutter a Smart Bet in an AI-Driven Job Market?」。這個焦慮夠普遍到值得排兩場議程。

企業軌:這次講的都有數字#

FlutterCon 的規模化軌上有 GEICO 的企業級部署、Tamara 十週完成遷移,還有一場叫「Hot Ones: The Spicy Truth About Migrating to Flutter」的遷移經驗談。Eric Seidel 也在其中一場談大規模開發的混亂怎麼收。Etsy 則把 Year in Review 從 Lottie 改寫成 Flutter 原生動畫。

不過七月最密集的企業案例其實來自官方 YouTube 而不是 conference:

SoFi 一個月三支,主題從程式碼量、開發者偏好排到產品形態,看得出是有規劃的一組:

https://youtu.be/RBObC8T7ud0

Knowunity 這支講的是 Flutter + BigQuery + Gemini 怎麼撐住 10M MAU:

https://youtu.be/LOOc0zlmCQ8

Agentic Engineering 軌則整條在講同一件事的不同切面:Widgetbook 教 coding agent 自己評判產出、skill-driven 開發、Figma → Flutter 的跨職能 AI workflow、GenUI 的下一步、用 LlamaDart 做本地 LLM app。

平台邊界那條軌值得單獨記一筆:Google 與 Canonical 合講的 Desktop windowing APIs、「The JavaScript Exit: Flutter Web Beyond JavaScript」、Raspberry Pi 的 GPIO 整合、Viktor Lidholt 講全端 hot reload,還有 Dart Hooks 與 FFI 的生產環境經驗。

一個查證上的限制要先說:這份議程清單是 Day 1(07–16)全房間的內容,Day 2 沒有完整收錄。


主線三:Flutter Scene,3D 這次玩真的#

七月我花最多時間看的是 Flutter Scene。作者 bdero(Brandon DeRosier)就是當初在 Flutter Engine 內部做出 Flutter GPU 的工程師。他的定位寫得很直接:

Scene 是完整的 3D 引擎,不是 renderer wrapper。渲染、物理、音訊、工具、完整資產管線,全部是 Dart package,跑在 Flutter 支援的每個平台。

七月出了三批:07–02 的 flutter_scene_box3d 0.1.0、07-17 的 flutter_scene 0.19.0,然後 07-27 一天之內三包齊發(flutter_scene 0.20.0 + scene 0.1.0 + flutter_scene_rapier 0.3.0)。最後那批是一次結構性重構:核心 scene document 抽成獨立的 scene package、物理解耦成純模擬合約(後端可插拔)、粒子系統轉為公開 API。這種拆法通常代表作者開始認真考慮長期 API 穩定性。

能力清單裡最違反直覺的是這兩個。第一個是 Gaussian Splat:.ply / .splat 實拍捕捉當成一般節點載入,而且與一般幾何正確互相遮擋。

第二個是場景編輯器內建 MCP server,AI agent 用跟人一樣的可還原指令改場景:

其餘能力大致分四塊:後製棧(bloom、SSR、ambient occlusion、god rays、帶 bokeh 的景深、霧、自動眼睛曝光)、物理(一個 component 接上剛體,含角色控制器、關節、載具)、真的 Flutter widget 貼在 3D mesh 上而且按鈕還能按、以及全部熱重載(改模型、shader、貼圖、環境都即時生效,不重啟也不掉 state)。

清單最後兩項才是我覺得最能說明作者立場的地方:3D 節點內容會流進 Flutter accessibility tree,而且支援自訂 embedder。寫 demo 的人根本不會去碰這兩個,會去碰的是要出貨的人。

七月的五支影片裡,這支 90 秒的最適合先看:

https://youtu.be/Vzn_yidhAKA

Dashsurfers 是完全用 Flutter 寫的 3D 無盡跑酷,跑在 120 fps:

https://youtu.be/yMXrCAcmM8U

另外還有 07–26 的純程序化營火(零素材)、07–21 的即時 3D 綜合展示。想在自己的簡報裡放動圖的話,官方素材庫在 bdero/flutter_scene_media。

07–27 當天 flutter_scene 是 ⭐537。我寫這篇的時候(8 月中)已經 679。這個斜率在 Flutter 生態的個人專案裡不常見。


平台邊界:LG 把 webOS 整套開源了#

GitHub org lg-flutter-webos 在 06-28 一次公開四個 repo:flutter-webos(⭐201)、plugins、ndk、artifacts,隔天再補上 devcontainer。

重點在後面四個。只放 embedder 是一回事,連 NDK、devcontainer 跟預編譯 artifacts 都給,是把整套 SDK 交出來。

https://github.com/lg-flutter-webos/flutter-webos

官方 showcase 也同步上架:flutter.dev/showcase/lg-electronics。Reddit 上 07–12 那則討論的標題是「I Think This News Is Much Bigger Than We Realize」,衝到當月熱度第二。FlutterCon 也有對應議程:「Flutter on Big Screen & Beyond: Building Embedder for LG webOS」。


Serverpod 4 Public Beta#

Serverpod 4 自稱「第一個會全端 hot reload 的 agentic coding engine」,這個說法有點大,但底下的東西是實的:serverpod start 一次託管 server、database 與 web,改動即時 hot reload,DB migration 在 server 執行中套用;內建 agent skills 與 MCP server。

100+ 新功能裡比較有感的是社群登入、DB geography 型別、改良的 web server、client-side database、model 動態型別、improved future calls。offline-first sync engine 沒趕上 beta,留到 stable。這一項大概是很多人在等的,值得先知道它還沒到。

https://youtu.be/NwhfB8lgyxA

公告在 serverpod.dev/blog/serverpod-4-public-beta。Viktor Lidholt 在 FlutterCon 也講了同一題(Bringing hot reload to your full Dart stack)。


值得慢慢讀的一篇:Nowa 為什麼自己做 runtime#

07–22,Nowa 的 Raed Abdallah 寫了這篇,衝上 r/FlutterDev 當月熱度第三。

核心問題是:怎麼在一個 Flutter app 裡跑另一個 Flutter app。release mode 沒有編譯器,所以 Shorebird 才得改引擎才做得到 code push。文章比較了兩條路線,FlutterFlow 的自訂格式路線與自建 runtime 路線,並且點出前者的致命缺口:AI 不擅長寫自訂格式。

這個論點在 2026 年份量很重。過去十年 low-code 平台的護城河是自己的 DSL,現在 DSL 反而變成負債,因為 LLM 對 Dart 的掌握度遠高於任何一家的私有格式。這是我七月讀到最有結構的一篇技術文章。

https://nowa.dev/blog/why-we-built-our-own-flutter-runtime/


Reddit 溫度計#

前三名分別是 Linux 桌機、電視 embedder、自建 runtime。沒有一則跟 UI 或狀態管理有關。這個榜單的形狀本身就是訊號:社群的注意力已經移到「Flutter 能跑在什麼上面」跟「Flutter 能被怎麼嵌」。

排序取自 r/FlutterDev 的月排行。


社群開源專案:本月新面孔#

十三個新專案裡,我自己會想試的是三個:kaisel 1.0(用 sealed class + pattern matching 做的 router,無字串、無 codegen)、GlyphPact(本地 SVG 轉 Flutter icon 編譯器,codepoint 穩定,解決的是 icon font 每次重生 codepoint 就漂移的老問題)、以及 Alacritty 驅動的 Flutter 終端機 widget(Dart FFI 接 Rust 的完整實戰案例,比任何 FFI 教學都有參考價值)。

另外一個訊號是有人做了純 Dart 的 PDF 引擎,定位是 PSPDFKit / Syncfusion 的開源替代。企業專案裡 PDF 授權費一直是隱形成本,這條線值得盯。

https://github.com/definev/gputext


接下來#

巴黎的 Flutter Connection 要注意:官網目前仍停在 2025 年 4 月那一屆,2026 場次尚未公布日期。網路上流傳的「11 月 5–6 日」查不到官方出處,同期巴黎確定舉辦的是 Swift Connection(11/2–3)。

行事曆來源:flutter.dev/events。


後記:七月埋的伏筆,八月兌現了#

這篇整理的當下(07–27),3.47 還只是 beta 分支,預計 8 月 stable。

它在 08–12 到了,而且比七月看起來的要大得多:Material 與 Cupertino 正式拆出 SDK 變成 pub.dev 上的普通套件(material_ui / cupertino_ui 1.0,改為每週發版)、Impeller 成為 macOS / Windows / Linux 的預設 renderer、Dart 3.13 的 primary constructors 進 stable、@RecordUse() 讓原生函式庫終於能 tree-shake。

回頭看,七月「零 feature release」不是停滯,是 3.47 這種等級的改動需要一整個月的 beta 烘焙期。而那個月官方多出來的人力,看起來全進了 agent 工具鏈。

3.47 的完整拆解另外寫,這裡先給官方 blog 與 Dart 3.13 公告。


Free citations are welcome, but source must be cited.

本文原刊登於 Medium。