🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

回顧 Flutter Flight Plans,關於 Flutter 的現狀和官方熱門問題解答

在 Flutter 官方剛舉行的 Flutter Flight Plans 直播裡,除了發布 Flutter 3.38Dart 3.10 之外,其實還有不少值得一聊的內容,例如企業級的 Flutter 案例展示、Flutter + AI 的場景,重點還有針對大量熱門問題的 Q&A(多窗口、GenUI、PC\Web 插件)等

image

NotebookLM

首先,在經典案例展示上,本次 Flutter 官方展示的是今年 Google 剛發布的 Notebook LM,這是一款由 Google 開發的 AI 驅動研究助手,核心是可以基於用戶提供的資料(如 PDF、網站、YouTube 影片等)生成信息,並提供準確的引用來源

提供準確和有效的引用來源這個在 AI 使用裡很重要。

image

年初,NotebookLM 桌面版應用因為它提供的 “音頻概覽”(Audio Overview,可生成逼真的雙人對話播客)功能迅速走紅,隨著用戶對移動應用的需求激增,團隊決定加速開發,並選擇了 Flutter,這個案例展示了幾個特點:

  • 團隊僅 4 名工程師
  • 基於社區插件,幾乎不需觸及原生層
  • 全球 170 多個國家多語言同步上線
  • 7 個月內完成了產品的上線發布
  • 在 Google Play Store 和 Apple App Store 上均獲得 4.8 的高分,同時成為 Apple App Store 推薦精品應用

image

這也是繼 Google Pay、Google Earth、Google Ads、Google Classroom、Google Cloud、YouTube Create、Google One、Google Analytics 之後 Google 采用 Flutter 開發的另一個經典應用。

Flutter + AI

在 Flutter + AI 的展示上,官方首先展示了 Gemini CLI + Flutter Extension for Gemini CLI(MCP)如何通過 AI 自動化從零開發一個 App。

image

其核心主要是:

  • 利用 Gemini CLI 的“思維鏈” (Chain of Thought) 推理來執行任務
  • 利用 Flutter Extension 的 Dart 和 Flutter MCP 服務提供檢查 Dart 錯誤、連接運行中的應用進行熱重載、最佳實踐規則,以及 /create app, /modify, /commit 等命令來驅動規範化應用開發。

整個流程從 /create app 開始,生成應用規格說明 (design.md) 和實現計畫 (implementation.md),然後逐步構建應用,這個過程 AI Agent 能自動執行任務、使用 launch app 工具啟動應用,並在應用運行時進行熱重載。

image

最後,團隊還演示了如何使用 Google 的另一款 AI 工具 Stitch 生成設計稿 HTML 和截圖,然後將文件輸入 Gemini CLI,Gemini 能夠基於圖像生成和更新 Dart 源碼,並自動觸發熱重載更新 App。

image

接著官方展示了兩個 AI 驅動的 Demo:

  • Gemini Live API 實現人性化的即時語音對話,技術棧依賴 Firebase AI Logic 和 pub 插件,僅僅通過更新 System Prompt 零代碼,將一個原型轉化為植物識別應用 ![image](https://i.imgur.com/m20i55w.jpeg
  • 另外一個是展示 AI 驅動的數獨遊戲,AI 代理通過 Firebase AI Logic 逐步分析、提取數據並解出答案 image

最後,Flutter 團隊還展示了 Flutter Gen UI,這個我們在之前的 《Flutter 官方 LLM 動態 UI 庫 flutter_genui 發布,讓 App UI 自己生成 UI》 有聊到過,Flutter Gen UI 包可以讓 AI Agent 直接生成 Widget 而非純文本,從而實現更動態、個性化的應用體驗

其核心理念就是,允許 AI Agent 使用開發者提供的一個 Widget 目錄 (Catalog),然後讓 AI 根據用戶需求生成和展示相應的 UI 組件,在展示裡,官方演示了如何將 Gen UI 核心包和 Firebase 適配器整合到應用中,並創建了一個自訂 Widget Catalog Item (WorkoutCard),讓 AI 代理能够根據用戶提示生成包含自訂 UI 的健身計畫。

image

實際上, Flutter Gen UI 確實是一個不錯的應用場景,特別是在 AI Chat 客服的場景下。

Q&A

接著就是本次大家最關心的 Q&A 環節,這裡也問出了一些大家比較在意的熱門問題。

1、GenUI 可以支持服務端實現嗎?

官方回答是可以的,這其實這也是他們已經考慮並支持的模式,Flutter 團隊預計許多開發者希望在服務端運行自己的 Agent,因為這樣可以:

  • 動態更新模型和邏輯
  • 接入自定義數據源或私有 API
  • 控制版本與安全
  • 減少客戶端負擔

而為了這個,目前正在嘗試研發一種新協議:A2UI (Agent-to-UI Protocol),Gen UI 設計為模組化,可通過 A2UI 協議 (Agent-to-UI) 連接到服務器端代理,它允許服務端 Agent 將生成的 UI “片段”(Widget 樹結構)直接推送到客戶端,實現類似“前端由 AI 驅動的“UI Streaming”。

A2UI 協議會與 A2A (Agent-to-Agent) 協議協同開發(Google Labs 的 Opal 團隊也參與),目前已有官方示例項目有一個 VUA demo(Python 服務端 + Flutter 客戶端)。

當然,Gen UI 理論上可以與本地 LLM API 一起使用,從而支持本地離線應用,但是建議用較小的 Widget 目錄。

2、多窗口功能進展如何?

官方表示,目前正在進行中,並且進展很大,桌面端多窗口功能持續有 Canonical 開發者推進:

  • Windows 平台:已有可用的實驗性 API
  • Linux / macOS:正在適配合併中

雖然其實現在已經有可用的 API,但是還是有很多底層基礎需要打包,後續的重點包括:可訪問性(accessibility)、文本輸入、子窗口(child windows)與模態對話框(modal dialogs)的優化。

目標肯定是希望桌面端最終能提供原生應用那樣彈出獨立窗口(例如浮動菜單、調試面板等)。

3、什麼時候桌面和 Web 平台的核心插件能與移動端保持一致?

官方表示,其實他們知道這是一直以來的痛點,而團隊正在通過 Federated Plugins 來填補平台支持的空來嘗試解決:

  • 允許社區/廠商分別維護平台子實現
  • 官方提供統一接口與驗證

這樣的話社區可為 macOS / Web / Linux 等補齊實現,而目前官方正優化相關的發布流程、代碼審核和質量標準。

4、Native Interop (FFI Gen) 什麼時候可用?

官方表示 Native Interop 明年將進入 Beta,提供更自動化、更安全的跨語言互操作,那 FFI Gen 解決什麼?主要有:

  • 自動把 C/C++/Objective-C/Swift/Java/Kotlin 的聲明轉換成 Dart API
  • 減少手寫 FFI binding 的痛苦
  • 更少錯誤(類型對齊、內存洩漏等)
  • 有官方 workflow 和安全約束檢查
  • 主要用於:
    • 多媒體庫
    • 原生渲染器
    • 加密庫
    • 自研底層 SDK

5、ARM Windows/Linux 支持?

官方表示,這個沒有穩定時間表,因為 ARM Windows 市佔不高,並且 QA 成本極高,多平台 CI 支持還需要擴容,從目前來看,不大可能有新的投入。

6、Flutter Web 未來 (Wasm/SEO)

官方表示,目前重點工作在於改善 Web 集成(滾動、文本輸入),以及 Wasm 方面的工作,包括支持延遲加載 (Deferred Loading)*和將生態系統遷移到新的 JS Interop。

總結起來,Web SEO 仍是 Flutter Web 的弱項(結構化 HTML),這個也是未來需要調整的,但是看起來不會是近期的目標,而 Wasm-first 架構主要改善的是性能、內存和啟動速度。

7、BuildRunner 性能

官方表示,建議更新到最新版本 (2.10+) 可以得到增量改進,最重要的新特性是 AOT 編譯 BuildRunner 代碼 (通過 opt-in 標誌開啟),某些情況下可提速 5-10 倍,新特性包括:

  • 對其 codegen 執行 AOT 編譯
  • 大幅減少重複掃描
  • “增量構建” 重度優化

8、設計解耦 (Design Decoupling)

官方表示,Material 和 Cupertino 解構,計畫是年底拆底層、明年初正式獨立包,將 Material 和 Cupertino 庫從核心 SDK 移出。

9、Swift Package Manager (SPM)

官方表示,Cocoapods 進入維護期,SPM 將成為未來默認的 iOS 包管理工具,這也是 Apple 的強推方向,當然,後續 Plugin 生態需要全部遷移一遍,這也是成本。

10、AI 會不會取代開發者?

結論是不會,AI 是增強而不是取代,Gemini CLI 這種工具是開發者加速器,可以對比:

  • AI 擅長:重複、枯燥、批量修改
  • 人類擅長:結構、決策、設計、交互體驗

Flutter 開發者未來更多時間應該花在:架構、交互、Prompt 設計和 AI 協同流程上。

11、Native Assets / Hooks

原 Native Assets 功能在 3.38 已正式發布,但改名為 Hooks,Hooks 解決的問題:

  • 提供構建期鉤子
  • 可接入:
    • 自定義構建腳本
    • 原生資產構建
    • 自定義編譯器
    • 生成 binding 文件等

Dart 團隊內部認為 “Hooks” 比 “Native Assets” 更準確(因為用途不止於資產)。

12、其他問題

為什麼 Flutter 不推自己的狀態管理框架?

因為這等於官方認定了某個方向才是對的,而現在狀態管理框架百花齊放,你可以選擇你自己的喜好,這才是官方認為最好的狀態。

Flutter GPU 是否還在繼續?

是的,但是目前暫停了,因為需要讓 Impeller 在對應平台更穩定更成熟,才能給 Flutter GPU 提供更實用的場景支持。

CanvasKit 還能繼續縮小嗎?

暫時給不出來時間表。

Flutter 是否使用 Gemini 處理和分類 Github 問題?

是的,但是還是需要有人監督。

augmentations 有時間表嗎?

augmentations 就是一個新語言特性,可以把一個類拆分到多個文件,目前還在推進,目前還剩一些細節問題在調整,應該很快可以推出。

Dart 可以和 Kotlin 一樣使用多線程嗎?

Dart 其實有多線程,支持多 isolate、isolate background、isolate group, 但是否要實現內存共享,這個目前還沒有計劃。

jaspr 是官方支持的嗎?

這是一個 GDE 維護的項目,一個基於 Dart 的 DOM Web 框架,Flutter 團隊已將其遷移用於文檔基礎設施。

最後

其實本次 Flutter Flight Plans 裡,除了發布了全新版本的 Flutter 和 Dart 之外,就是本次 Q&A 環節最有意義,至少在官方的角度解答了許多大家關心的問題,當然,等 2026 Flutter 官方發布 Roadmap 後,我們就可以看看接下來的承諾是什麼。

關於 Gemini3、AntiGravity 和 Nona Banana Pro 可見:juejin.cn/post/757474…

image


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


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

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝15   💬10   ❤️5
406
🥈
我愛JS
📝2   💬8   ❤️4
94
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付