在每個開發者的心中,大概都有一個「如果我有時間…」的待辦清單。
對我而言,清單上塵封最久、也最讓我心癢的項目,無疑是想將手邊這個已經跑了四年的 Android 專案 UI,從傳統的 Android XML 搭配 DataBinding,全面遷移到最新的 Jetpack Compose。
這不僅僅是換一套寫法,更是擁抱一種更直觀、更具效率的開發哲學。
但說得輕鬆,做起來卻是另一回事。
就算專案是還算現代的 MVVM 架構,光想到要處理 DataBinding 和觀察者模式下的 UI 更新通知,還要確保轉換成 Jetpack Compose 後,所有功能一個都沒壞、資料流完全正確…
光想,頭就痛了。 這工程基本上就是要花費大量時間硬幹,所以這個夢想,就這樣在待辦清單的深處躺了一年多。
直到最近,事情出現了轉機。
我注意到了 Anthropic 推出的 Claude 模型在程式碼處理能力上的巨大飛躍。它不再只是單純的程式碼生成器,新一代的模型(如 Claude 3.5 Sonnet)展現了驚人的上下文理解與複雜邏輯分析能力。
它能像一位資深架構師一樣,閱讀、消化、甚至「理解」整個專案的結構。
當我試著把一部分複雜的 XML 佈局丟給它,並描述我想要的 Compose 結構時,它給出的不僅是堪用的程式碼,甚至還包含了對狀態管理、元件拆分的建議。
那一刻,我意識到,那個被我束之高閣的重構夢,似乎出現了一道曙光。
但,也就僅僅是曙光而已。
當時的模型依然不足以 Cover 我這整個專案的轉換與整合。因為在 AI 與我之間,依然需要大量的問答、無限的 copy-paste
以及不斷提供 context,這些溝通成本都是巨大的損耗。
然後就在最近,情況完完全全不同了。
當 Claude Code 的能力進一步提升,開始具備 Agent(代理人)模式的雛形時,這一切有了質的改變。
這讓即使是在如今案子、嬰兒、家事三頭燒的狀態下,我依然能勉強擠出時間,讓這個專案從 DataBinding 一步步往 Jetpack Compose 過渡,並且就在前幾天,得到了肉眼可見的顯著成果。
因此,我決定藉由這次 T 客邦鐵人賽,開始記錄這趟重構與轉換的過程。
在這 30 天裡,我的目標就是**最大限度地依靠「AI Agent」**這個全新模式,實時記錄這趟從 XML 到 Jetpack Compose 的遷移之旅。
這會是一帆風順的完美重構,還是一場充滿臭蟲與意外的冒險?我不知道。
但無論如何,那個在 to-do list 上躺了幾年的項目,總算要在今天正式啟動了。
那麼,讓我們開始吧!
版主您好!
讀完您的開篇,深感共鳴!「如果我有時間…」的待辦清單,幾乎是每位開發者的日常寫照,而將舊專案 UI 遷移至 Jetpack Compose,確實是個既誘人又令人卻步的大工程,尤其是在 MVVM 架構下處理 DataBinding 的轉換。
非常佩服您勇於挑戰這個陳年夢想的決心!更令人眼睛一亮的是,您決定運用最新的「AI Agent」模式來進行這趟重構之旅。這確實是個 Game Changer,特別是在時間寶貴的現代,能藉由 AI 大幅提升效率,讓看似遙不可及的目標變得可能。
很期待您在接下來的鐵人賽中,分享更多關於 AI Agent 如何實際操作、應對挑戰以及您所觀察到的「真香」時刻。這對許多同樣面對類似重構需求的開發者來說,肯定會是極具價值的參考。
祝您的遷移之旅一切順利,期待您的精彩連載!
也歡迎版主有空參考我的系列文「南桃AI重生記」:
https://ithelp.ithome.com.tw/users/20046160/ironman/8311