我用 Cursor + Trae 手搓了一個 App,上架了 App Store
在數(shù)字化時代,如何利用 AI 賦能產(chǎn)品創(chuàng)新?本篇文章將深入探討 AI 在產(chǎn)品設(shè)計中的應(yīng)用,分析關(guān)鍵技術(shù)與策略,幫助產(chǎn)品經(jīng)理在創(chuàng)新與實用之間找到最佳平衡點。
如題,我用 AI Coding 工具手搓了一個 iOS App,并且上架了 App Store,App 的名稱叫做「SafeMark」。
這個 App 的最初訴求是前段時間過年在家,用國補(bǔ)給家里買油煙機(jī)的經(jīng)歷。當(dāng)時線下的小米之家要求必須發(fā)身份證照片給她,由于我相冊中常備身份證這類證件照片,我沒多想就把照片給她了。發(fā)完之后才想到,自己是不是應(yīng)該加上水印,防止證件被泄露,被別人用在其他不該用的地方。
于是,這個 App 的雛形就被我記在了 flomo 中。前段時間,借著 AI Coding 工具 Cursor 和 Trae 實現(xiàn)了它,并上架了 App Store(寫內(nèi)容的時候還在審核)。雖然過程坎坷,但好在一切都完成了。
下面是我上架 App Store 用的宣傳圖,也是這個 App 的第一個版本,后續(xù)會再迭代。
這是我手搓上架的第二個產(chǎn)品,第一個是一款 Chrome 插件,名稱叫 flomo Quick Capture,已上架 Chrome 應(yīng)用商店,地址是:https://chromewebstore.google.com/detail/flomo-quick-capture/dbfjffbkhlaeihdeibejjofoidomdfdp
我在另一篇內(nèi)容中,詳細(xì)說明了自己寫這款產(chǎn)品的初衷及理由,需求來源主要是面向我個人工作流設(shè)計。
至于為什么選擇從 Chrome 插件開始?
- 開發(fā)成本低,能夠快速建立對 Cursor 的認(rèn)知。
- 不需要國內(nèi)的合規(guī)備案流程,上架速度快,能夠獲得即時反饋。
那為什么又選擇開發(fā)一個 App?會不會太重了?又或者,為什么不是小程序?
這個 App 是在我短期目標(biāo)之內(nèi)的產(chǎn)物之一,而且微信小程序也會有的。當(dāng)然,這篇內(nèi)容也不是結(jié)束,而是開始。
一、AI Coding 工具
AI Coding 工具有很多,可以簡單分為 AI IDE 工具和代碼生成/輔助的工具,
- AI IDE 工具有, Cursor、Windsurf、Trae、Trae CN 等。
- 代碼輔助工具有,GitHub Copilot、豆包 MarsCode 等。
網(wǎng)上有很多關(guān)于相關(guān)產(chǎn)品的列舉以及教程,選擇順手的工具即可,我這里用的是 Cursor 和 Trae 的組合,算是薅字節(jié)的羊毛了。因為 Trae 還在產(chǎn)品的早期階段,字節(jié)暫時還沒有對 Trae 的用戶進(jìn)行收費,所以可以白嫖下 Trae 的 Claude 3.7 Sonnet 和 Gemini 2.5 Pro,而且這兩個模型的能力大家還是有目共睹的。
寫到這里,還想多提一句。在 AI 時代的產(chǎn)品,模型能力固然重要,但工程優(yōu)化和工具適配的重要性也不言而喻,這三者是協(xié)同進(jìn)化、相互成就的關(guān)系,尤其是工程優(yōu)化。
因為同樣的模型,可能會因為背后團(tuán)隊工程能力的不足,會有不同的結(jié)果。比如 Cursor 可以幫我生成復(fù)雜邏輯的代碼,但 Trae 只能幫我做一些基礎(chǔ)的小改動,比如修改顏色、新增或刪除某個組件或 icon,或者調(diào)整 icon 的位置等等。
前段時間在 Cursor 服務(wù)器崩的時候,我嘗試用 Trae 幫我實現(xiàn)一些需求的時候,失敗了好多次,甚至項目都新建了好幾個,因為使用 git 都沒有完整一次性恢復(fù)整個 Commit。
我去請教 ChatGPT,它告訴我可能原因有:
- git 操作的粒度或范圍被封裝限制了:Trae 可能對 reset, checkout, revert 等命令做了簡化處理,沒有像 CLI 那樣完整恢復(fù)工作區(qū)和緩存區(qū)。
- 文件同步機(jī)制的問題:有些文件(例如自動生成的緩存文件、用戶配置)未納入 git 管控,導(dǎo)致恢復(fù)后看起來“不完整”。
- 恢復(fù)操作并未觸發(fā) UI/內(nèi)存的同步刷新:你恢復(fù)了版本,但 IDE 的運行態(tài)、緩存、preview 面板可能沒有 reload,導(dǎo)致你看到的內(nèi)容還是之前的。
- 只恢復(fù)了代碼區(qū),沒恢復(fù)運行狀態(tài) / 上下文依賴:Trae 可能認(rèn)為只需恢復(fù)代碼,未覆蓋依賴狀態(tài)(例如環(huán)境變量、數(shù)據(jù)庫快照等)。
至今,我仍不確定背后的原因,但我確實因為恢復(fù)項目后發(fā)現(xiàn)不完整,進(jìn)而又新建了好幾個項目。期待會有機(jī)會,親自定位,親自推進(jìn)。
所以,正確的認(rèn)知應(yīng)該是:好的模型是加分項、是錦上添花,并非雪中送炭。
更不像前段時間,一時間好像所有的互聯(lián)網(wǎng)產(chǎn)品都接入 DeepSeek 一樣,甚至有些廠商的“鼠標(biāo)、冰箱”都宣稱自家產(chǎn)品都已接入“滿血版 DeepSeek-R1”。先不討論是否為“滿血版 DeepSeek-R1”,單就 R1 這種推理模型而言,接入之后提升了產(chǎn)品的哪些業(yè)務(wù)指標(biāo)呢?是獲得了更好的交互體驗?還是獲得了更好的回答效果?或者滿足其他什么目的?存量用戶對比之前是否提高了使用頻次和使用時長。
其實多數(shù)是為了滿足政治正確或者營銷噱頭,實際對業(yè)務(wù)幾乎沒有幫助,甚至有產(chǎn)品在即時性很強(qiáng)的業(yè)務(wù)上,接入了 R1,即便要接入 DeepSeek 模型,也應(yīng)該是 V3,而不是 R1 這個推理模型。自己都不用的功能,難道指望用戶去用嘛?
我想表達(dá)的是,在滿足業(yè)務(wù)場景和需求的同時,選擇更合適的模型,這才是應(yīng)該做的。
扯遠(yuǎn)了,回到這個章節(jié)的主題。
選擇合適的工具很重要。隨著 Trae 的知名度上升,使用人數(shù)越來越多,模型調(diào)用的排隊時間也越來越長,我也從最初的 Cursor + Trae 的組合,變成了 Cursor + Trae + Trae CN,但需要即時性高的場合,還是 Cursor 比較靠譜。
二、App 開發(fā)及推廣過程
這個項目的立項前,我并沒有做需求分析,更沒有做市場調(diào)研,只是簡單規(guī)劃了 App 的基本架構(gòu)和功能模塊,刪減功能到不能刪減的時候,就是產(chǎn)品 MVP,規(guī)劃了幾個版本后,我便開始和 AI 工具一起投入開發(fā)。
如前文所說, 復(fù)雜任務(wù)交給 Cursor,簡單任務(wù)交給 Trae 或 Trae CN。
之前的習(xí)慣是,新建 idea.md 文件(非 notepad),方便 Ask、Agent、豆包 Marscode 閱讀。通過 Ask 完善需求、確認(rèn)需求,然后拆解任務(wù),盡可能將任務(wù)拆分為可執(zhí)行的方案,讓 Agent 去寫。 現(xiàn)階段 AI 不那么強(qiáng)的時候去作為 AI 的 Planner,幫它細(xì)化流程、細(xì)化步驟。
通過 Cursor 的 Claude 3.7 Sonnet 幫我生成的 HTML ,但生成的結(jié)果不太滿意,考慮到頁面不多,就順手畫了一下。
有了設(shè)計稿,頁面很快就被 Cursor 搭建好了。
好巧不巧,恰好 Cursor 到期了,于是想著,那就用 Trae 開發(fā)吧,白嫖一下 Claude 3.7 Sonnet,何樂不為?然后就是漫長的幾天:AI 寫代碼,改 bug,寫代碼 – 改 bug 的循環(huán)中,還新建了好幾個項目。
直到后來又開通了 Cursor,發(fā)現(xiàn)被 Trae 改了好幾天的 bug,Cursor 幾遍就弄好了。
因為開始用的是非開發(fā)者賬號,所以后面又花了一天時間注冊賬號、修改賬號信息、等待賬號審核通過。當(dāng)然,等待的過程也沒閑著,提前準(zhǔn)備上架相關(guān)的信息,一直到周五晚上賬號才審核通過,最后開始填寫 App Store 的上架信息,然后重新構(gòu)建項目、上傳項目、提交審核。
第一次,自己一個人全流程搞完一個 App,感覺真的很爽,期待被人下載,被人使用,被用來解決問題。
三、最后,思考與感悟
我曾經(jīng)問過自己這么一個問題。如果拉長時間維度去思考當(dāng)下在做的事情,堅持做 2 年、5 年、10 年,結(jié)果會是什么,是否是自己想要的?
試想,一個公司的員工不開心,能做出什么好玩的產(chǎn)品?如果在職場上找不到意義感,那就嘗試做副業(yè),提供給需要的人,進(jìn)而提升幸福指數(shù)。
大概在 3 年前(2022 年初),我就想到,未來的某一天要開發(fā)一款 App 應(yīng)用,然后上架應(yīng)用商店,進(jìn)而實現(xiàn)副業(yè)營收。這 3 年來,這個想法一直沒有變過,只是在不斷修正,修正過程以及修正目標(biāo),使其在當(dāng)下更加合理。包括但不限于,
- App 的核心策略是重前端輕后端。
- 不止開發(fā)一款 App,而是要開發(fā)多款。
- App 應(yīng)用只做 iOS 版本,應(yīng)用商店也只上架 App Store。
- 不止副業(yè)營收,這個方式可能是我未來實現(xiàn)更好的生活的杠桿之一。
- …
我不斷在思考以上內(nèi)容的合理性,甚至也陸續(xù)和身邊朋友分享過以上的考慮,了解下他們的想法,進(jìn)而不斷修正我的思考。
謎底科技的 61、flomo 團(tuán)隊的少楠、Light、包括范冰,以及前段時間小貓補(bǔ)光燈的作者花生,無論他們是作為獨立開發(fā)者還是產(chǎn)品經(jīng)理,他們的播客內(nèi)容、文字內(nèi)容、視頻內(nèi)容、生活方式等都在不斷的啟發(fā)我、鼓勵我。
當(dāng)下 AI 時代讓一個不懂編程的產(chǎn)品經(jīng)理實現(xiàn) App 開發(fā)的門檻下探的足夠低,才讓今天從「設(shè)計稿 – 開發(fā) – debug – 上架」這個 App 成為現(xiàn)實。
為什么拖了 3 年才有了第一個項目?
因為以當(dāng)時我的能力,做副業(yè)并不是一個 ROI 高的一件事情。工作前幾年,通過職場獲得的結(jié)果,要遠(yuǎn)比把時間、精力放在所謂的“副業(yè)”上要劃算的多得多。
3 年的時間,說不長也不長,說不短也不短。說不長,是因為我才開始行動,說不短,是因為我才開始行動。
我一直有個觀點是,工作才是副業(yè),只是我們生活中的一部分,是為了滿足我們的基本生活需求,而主業(yè)才是我們追求個人成長和實現(xiàn)人生價值的重要途徑。
上架 App 的凌晨,我在即刻上發(fā)了一條動態(tài):沒有文字,圖片是錘子便簽 App 的 icon。
因為錘子便簽的 icon 上有句話我很喜歡,出自紀(jì)伯倫的《先知》:不要因為走得太遠(yuǎn),就忘了當(dāng)初為什么出發(fā)。
好的,澀話時刻結(jié)束。祝生活愉快、工作順利~
作者:Leon ,公眾號:Stay Thinking
本文由 @Leon 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖片由豆包 AI 生成
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)
很厲害!