【文章內容使用 Gemini 2.5 Flash 自動翻譯產生】
大家好,我是 Jaime Wren,一名在 Flutter 團隊中長期從事開發者工具軟體工程師。這些年來,我見證了軟體行業的許多轉變,但整個行業剛剛以極快的速度進入了一個新的狂野西部,這既令人興奮又令人緊張。
在我看來,我們開發者是複雜的生物,受兩種力量驅動:對任務生產力的需求和對程式設計本身的內在樂趣。當我們可以進入一個快速、不間斷的循環時,我們就會茁壯成長。為了充分發揮我們作為開發者的潛力,我們需要整個工具鏈協同工作,而不會產生摩擦。當我們過渡到代理時代時,對這種緊密循環的需求是不可協商的;這正是 Flutter 具有明顯優勢的地方。
過去幾年,我測試了很多 AI 工具,等待一些真正能節省 Flutter 開發者時間的東西,而不是僅僅轉移時間花費的地方。直到 Google 的新代理 IDE Antigravity 出現,才讓我看到了轉機。它彌合了原始模型能力和實際工程實用性之間的差距。我終於看到所有圍繞 LLM 的基礎設施和工具協同工作,以消除摩擦,而不是增加摩擦。
根據我自己的測試,Flutter 不僅僅是與像 Antigravity 這樣的 AI 工具「相容」;它獨特地具備了為它們提供動力的能力。為什麼?這歸結於 Flutter 嚴格的結構和強大的工具。Antigravity 的核心理念是依賴驗證來判斷一段程式碼是否真正起作用。Flutter 的工具提供了 Antigravity 的代理所需的即時回饋,以驗證這些動作。要開始使用,只需一些設定即可配置擴充功能和 MCP 伺服器。
一些你可以做到的很棒的事情
我和 Flutter 社群的其他成員已經學會了使用 Antigravity 來加速我們的開發過程,完成一些很酷的事情。我在下面列出了一些,但我請求如果您有任何其他提示,請將它們添加到此文章的評論中。
執行測試並修復問題程式碼
您可以使用 Antigravity 來執行現有測試,修復任何導致測試失敗的問題程式碼,然後驗證測試再次通過。這是我的提示:
1 | 使用 `flutter test` 執行完整的測試套件。如果發生失敗, |
修復錯誤和警告
在推送 PR 之前,您可以使用 Antigravity 來修復您的錯誤、警告和 lint。這是我的提示:
1 | 對我的專案運行 `flutter analyze`。如果失敗,修復任何錯誤和 |
發現並使用 Lint
外面有很多 Lint,但我沒有時間研究所有這些並找出哪些最適合每個專案。我發現這個很酷的提示可以幫助 Antigravity 快速掃描我的專案,建議並啟用適合它的 Lint:
1 | 閱讀 https://dart.dev/tools/linter-rules 並識別我隱含遵循但尚未啟用的規則。 |
為我的專案發現好的 pub.dev 套件
外面有大量的 pub.dev 套件,就像 Lint 一樣,研究它們需要時間和精力。我想要一種方法來找出哪些可能最適合我的專案,同時又不離開我的 IDE。這個提示對我很有用:
1 | 我需要從我的應用程式的一個實例共享偏好設定到下一個實例, |
多年來我對 Flutter 的心路歷程以及我興奮的原因
我記得大約 10 年前 Flutter 首次亮相。從一開始,在我看來,Flutter 就將正確的語言、框架和工具結合在一起,使其預設可用。Flutter 成功的常被忽視的一個因素是這些組件並非來自不同的供應商。相反,框架、渲染引擎、CLI 工具、IDE 工具、語言和生態系統始終由同一個組織驅動,這使這些團隊能夠協調,實現預設可用的內聚願景。正因為如此,我認為每個新的 Flutter 開發者都有一個「我終於搞懂了 Hot Reload」的時刻,這讓他們感到興奮和充滿希望,因為:
- Flutter 基礎設施能夠在毫秒內修補程式碼。
- 錯誤和警告會在您輸入時出現,並確保程式碼在保存之前是有效的。
- 語言有助於防止語法錯誤和摩擦。
- 明顯的溢出錯誤會以黃色和黑色條紋顯示,表示需要解決的佈局問題。
在過去一年中,生成式 AI 在軟體開發中的前景堪比狂野西部——演示和產品取得了長足進步,但並未遵循 Flutter 成功核心的「預設可用」原則。隨著模型改進,例如允許模型實際閱讀專案的更大上下文窗口,以及該領域的概念融合,像 Flutter 這樣的框架已經有了為代理和工作流程增加價值的切入點。Flutter 團隊今年也效仿了 GenUI 的努力、Dart 和 Flutter MCP 伺服器 以及 AI 規則 建議。
現在,隨著 Antigravity 進入競技場,我們擁有的不僅僅是一個內建在 IDE 視窗中的聊天機器人。Antigravity 存在於 IDE 中,執行命令並利用對其他 Flutter 和 Dart 專案的知識,以正確遵循您的指示並代表您在專案空間中採取行動。
作為 Flutter 工程師,我們認為理所當然的是,我們知道如何在從未見過的專案中立即運行靜態分析(dart analyze)或啟動應用程式(flutter run)。雖然這些限制都沒有限制開發人員可以使用 Flutter 創建什麼,但 LLM 和代理工具的自然結果是,我們的集體統一性使這些介面在理解和作用於我們專案的結構方面取得了巨大飛躍。
為了從 LLM 工具中獲益,代理需要透過正向回饋迴圈進行驗證。如果模型每產生十個輸出中有九個是幻覺,我可能會覺得有趣,但我不會再次使用該工具。對於 Antigravity,驗證是核心理念,旨在為代理提供回饋迴圈,讓它們在完成工作之前進行迭代。這就是現有強大 Flutter 工具的好處所在,當使用 Antigravity 協助編寫程式碼時,代理會實際迭代,直到分析乾淨、格式一致、測試通過,並且 flutter run 的輸出確認像素正在繪製。
總結
毫無疑問,這些新的 AI 工具正在重新定義我們如何識別自己為高效的開發者,並享受程式設計的樂趣。同樣毫無疑問,一個穩健、快速、不間斷的循環將繼續成為這種體驗的核心。
Antigravity 不會取代程式設計師;它會消除阻礙您的想法變成現實的繁瑣工作。循環越來越快,坡道已經建好,Flutter 的未來比以往任何時候都更容易使用——也更令人愉快。
Jaime 的建構內容:一位 Flutter 開發者對 Antigravity 的看法 + 提示! 最初發佈在 Flutter 上的 Medium,人們在那裡透過突出顯示和回應這個故事來繼續討論。