成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

神作!我用Claude Code一人打造了一款macOS原生App!句句干貨,未來(lái)的IDE會(huì)截然不同:構(gòu)建上下文+反饋回路 原創(chuàng)

發(fā)布于 2025-7-17 12:36
瀏覽
0收藏

作者 | Indragie Karunaratne

編譯 | 沈建苗

審校 | 云昭

出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)

Claude Code 出來(lái)之后,很多人都在說(shuō)“一個(gè)人 + AI 就可以獨(dú)立寫應(yīng)用了”。

但真正有人用它從頭到尾打造一個(gè)完整的 macOS 原生 App,還詳細(xì)記錄全過(guò)程的,幾乎沒(méi)有。

今天要分享的這篇文章,正好填補(bǔ)了這個(gè)空白。

最近兩天,小編刷到一篇“神文”,直接驚呆!

一位 macOS 老程序員,用 AI 工具 Claude Code,硬是靠一個(gè)人之力寫出了完整的原生 App,還自動(dòng)打包上線發(fā)布!

全文不僅細(xì)節(jié)拉滿,更重要的是總結(jié)了 AI 編程的 14 個(gè)關(guān)鍵技巧,可謂句句干貨,錯(cuò)過(guò)可惜!推薦每一個(gè)搞開發(fā)的朋友都認(rèn)真讀一遍。

我用 Claude 搞定了一款macOS應(yīng)用

2萬(wàn)行代碼,自己只手敲一千行

我最近發(fā)布了一個(gè) macOS 原生應(yīng)用 Context,用于調(diào)試 MCP 服務(wù)器。這款應(yīng)用由 Apple 的 SwiftUI 框架驅(qū)動(dòng),旨在打造一款貼合平臺(tái)風(fēng)格的開發(fā)者工具。

雖然我從 2008 年就開始做 macOS 應(yīng)用,但這次完全不同:Context 幾乎是由 Claude Code 獨(dú)立完成的。在整個(gè) 2 萬(wàn)行代碼中,我手寫的代碼不超過(guò) 1000 行。過(guò)程中當(dāng)然仍需要技巧和反復(fù)調(diào)試,但 Claude 的編程能力確實(shí)大大提升了效率。

神作!我用Claude Code一人打造了一款macOS原生App!句句干貨,未來(lái)的IDE會(huì)截然不同:構(gòu)建上下文+反饋回路-AI.x社區(qū)

接下來(lái),我將詳述這段開發(fā)之旅,包括工具選擇、Claude 的優(yōu)劣勢(shì),以及如何最大化生成代碼的質(zhì)量,特別適合你也想用 AI 構(gòu)建原生應(yīng)用的場(chǎng)景。

1. 從 Copilot 到 Claude Code:AI 編碼工具的演變

我的第一次 AI 編程體驗(yàn)是使用 GitHub Copilot,那時(shí)它剛集成進(jìn) VS Code,主要作為智能補(bǔ)全工具。雖然功能相對(duì)簡(jiǎn)單,但已經(jīng)比傳統(tǒng)編輯器智能許多,可以根據(jù)上下文補(bǔ)全整個(gè)函數(shù)。

后來(lái),行業(yè)飛速發(fā)展:Cursor 的 Agent 模式興起,Windsurf 等競(jìng)爭(zhēng)者紛紛跟進(jìn),AI 工具從“補(bǔ)全”逐步進(jìn)化為“代理開發(fā)”,可以循環(huán)調(diào)用工具、分析代碼、讀取文檔、構(gòu)建項(xiàng)目、跑測(cè)試并自動(dòng)修復(fù)。

2025 年 2 月,Claude Code 橫空出世。它不是一個(gè) VS Code 插件,而是一個(gè)純終端的 IDE,沒(méi)有文件樹,沒(méi)有 UI,只有一個(gè)文本框供你輸入提示詞。說(shuō)它是 IDE,不如說(shuō)是“AI 開發(fā)代理終端”。


它把智能體循環(huán)(agentic loop)放在首要位置。這種“沒(méi)有用 AI 增強(qiáng) IDE,而是取代 IDE 的做法”足夠新穎,雖然一開始我對(duì)這種 UX 體驗(yàn)存疑,但值得一試。

2. 又一個(gè) Side Project 的開始

跟許多上班族程序員一樣,我有一大堆做了一半就爛尾的 Side Project。通常原型很快能做出來(lái),但最后 20% 的打磨太耗精力,結(jié)果我已經(jīng) 6 年沒(méi)成功發(fā)布過(guò)項(xiàng)目。

神作!我用Claude Code一人打造了一款macOS原生App!句句干貨,未來(lái)的IDE會(huì)截然不同:構(gòu)建上下文+反饋回路-AI.x社區(qū)

這一次,我想嘗試支持 MCP 的原生應(yīng)用。MCP 是 Anthropic 提出的開放標(biāo)準(zhǔn),用于讓 AI agent 訪問(wèn)工具或上下文。雖然官方有 MCP Inspector 工具,但體驗(yàn)一般,而我一直想做一個(gè)像樣的 macOS 原生版本。

于是,項(xiàng)目 “Context” 就此啟動(dòng)。

3. Claude Code 真的是會(huì)寫代碼

我必須說(shuō),搭載 Sonnet 4 和 Opus 4 的 Claude Code,代碼生成能力非常強(qiáng)。雖然稱不上頂級(jí)工程師,但比平均開發(fā)者強(qiáng)不少。

只需描述你想要的功能,它就能:

  • 找出項(xiàng)目中相關(guān)的源代碼;
  • 理解代碼風(fēng)格和設(shè)計(jì)模式;
  • 閱讀文檔或說(shuō)明;
  • 編寫功能代碼并生成測(cè)試;
  • 編譯、運(yùn)行測(cè)試,自動(dòng)修復(fù)編譯錯(cuò)誤;
  • 甚至可以識(shí)別日志、截圖中的 Bug,并嘗試修復(fù)。

而且這一切速度驚人。就像你招了個(gè)新員工,零背景,卻能幾分鐘交付一個(gè)完整功能。

神作!我用Claude Code一人打造了一款macOS原生App!句句干貨,未來(lái)的IDE會(huì)截然不同:構(gòu)建上下文+反饋回路-AI.x社區(qū)

4. Swift 一般,SwiftUI 很行

我用的是 Swift 6.1 和 macOS 15.5,Claude 寫 Swift 的表現(xiàn)中規(guī)中矩,但對(duì) SwiftUI 的掌握不錯(cuò)。

尤其 Swift Concurrency(并發(fā)機(jī)制)上線后,語(yǔ)言復(fù)雜度暴增,就連人也容易出錯(cuò)。但 Claude 能識(shí)別大多數(shù)常用語(yǔ)法和 API,雖然有時(shí)會(huì)混用過(guò)時(shí)的 Objective-C 或 UIKit,但通過(guò)一定指引可以有效避免。

比如,你可以寫一個(gè) ??CLAUDE.md?? 文件作為項(xiàng)目規(guī)范,告訴 Claude:

  • 盡量用 SwiftUI,只有必要時(shí)才用 AppKit;
  • 遵循 Apple 人機(jī)交互指南;
  • 使用 SF Symbols 圖標(biāo);
  • 使用最新 Swift 特性,包括 async/await、actors 和宏。

* Aim to build all functionality using SwiftUI unless there is a feature that is only supported in AppKit.
* Design UI in a way that is idiomatic for the macOS platform and follows Apple Human Interface Guidelines.
* Use SF Symbols for iconography.
* Use the most modern macOS APIs. Since there is no backward compatibility constraint, this app can target the latest macOS version with the newest APIs.
* Use the most modern Swift language features and conventions. Target Swift 6 and use Swift concurrency (async/await, actors) and Swift macros where applicable.

僅這些簡(jiǎn)單規(guī)則,就能極大提升代碼質(zhì)量。

而且,你還可以更進(jìn)一步:例如,Peter Steinberger 的代理規(guī)則庫(kù)包含可以添加到代理中的規(guī)則,既可以作為一般編碼指南,也可以更具體地編寫更好的 Swift 代碼。

地址:??https://github.com/steipete/agent-rules??

神作!我用Claude Code一人打造了一款macOS原生App!句句干貨,未來(lái)的IDE會(huì)截然不同:構(gòu)建上下文+反饋回路-AI.x社區(qū)

5. “把 UI 做得更漂亮”——Claude 真的能聽懂

Claude 生成的 UI 首版可能有點(diǎn)粗糙,但你只需說(shuō)一句“請(qǐng)讓它更漂亮一些”,它就能自動(dòng)優(yōu)化。

更穩(wěn)妥的方式是先讓它“列出提升 UI 美感的建議”,再逐項(xiàng)調(diào)整。甚至你可以直接把截圖粘貼到 Claude 中,它就能據(jù)此優(yōu)化 UI,平臺(tái)無(wú)關(guān)、方法通用。

6. 真正關(guān)鍵的是:上下文工程,而非提示工程

過(guò)去我們講 Prompt Engineering,但現(xiàn)在我更看重的是 Context Engineering(上下文工程)。

因?yàn)?Claude 的上下文窗口是有限的(目前 Opus 4 和 Sonnet 4 是 200k tokens),一旦對(duì)話過(guò)長(zhǎng),Claude 就需要“壓縮”上下文,即用總結(jié)代替原始細(xì)節(jié)。這一步很容易丟失關(guān)鍵信息。

Claude Code 會(huì)提示你當(dāng)前的上下文使用情況,超過(guò)限制后會(huì)自動(dòng)觸發(fā)壓縮。要保證輸出質(zhì)量,就必須學(xué)會(huì)如何合理安排上下文,讓 AI 讀懂足夠的信息再動(dòng)手。

神作!我用Claude Code一人打造了一款macOS原生App!句句干貨,未來(lái)的IDE會(huì)截然不同:構(gòu)建上下文+反饋回路-AI.x社區(qū)

7. Priming:讓 Claude 吃透文檔再開始

我通常會(huì)在 Claude 開工前,讓它先讀相關(guān)源代碼和在線文檔,并生成一份總結(jié):

Read DXTTransport.swift, DXTManifest.swift, DXTManifestView.swift, DXTConfigurationView.swift, DXTUserConfiguration.swift, AddServerFeature.swift, and AddServerView.swift to learn how adding servers from DXT packages is implemented.

Then read the documentation for the manifest.json format here: https://raw.githubusercontent.com/anthropics/dxt/refs/heads/main/MANIFEST.md

After reading these sources, summarize what you've learned.

Claude 會(huì)自動(dòng)調(diào)用 Search 和 Fetch 工具,抓取源碼和 Markdown 文檔,然后生成總結(jié)供后續(xù)任務(wù)使用。

這種“預(yù)熱”方式特別適合你用的是新 API、三方庫(kù)或模型不知道的內(nèi)容。

8. AI 不是讀心術(shù),它需要規(guī)范說(shuō)明

要讓 Claude 構(gòu)建新功能,你必須提供清晰的需求說(shuō)明(spec)。

它并不會(huì)憑一句“做個(gè)登錄頁(yè)面”就寫出完整功能。你可以隨意寫,哪怕語(yǔ)氣像你自言自語(yǔ),Claude 都能理解。

我給 Claude 的某個(gè)功能 spec:

請(qǐng)為 Context 添加對(duì) DXT 包格式的支持。用戶可以點(diǎn)擊“Add Server”,然后選擇本地的 manifest.json 文件……

神作!我用Claude Code一人打造了一款macOS原生App!句句干貨,未來(lái)的IDE會(huì)截然不同:構(gòu)建上下文+反饋回路-AI.x社區(qū)

雖然看起來(lái)很多,但比自己寫代碼快多了。

9. “Ultrathink”:魔法詞匯讓 Claude 深度思考

Claude 很容易“太快動(dòng)手”,寫出低質(zhì)量代碼。你可以在提示詞中使用“think harder”或“ultrathink”等關(guān)鍵字來(lái)激活,讓它先思考再動(dòng)手。

這些詞不是簡(jiǎn)單的形容,而是觸發(fā)模型不同程度“延遲思考模式”的觸發(fā)器。

用法示例:

請(qǐng) ultrathink 并制定一個(gè)詳細(xì)的計(jì)劃,在我確認(rèn)之前不要開始實(shí)現(xiàn)。

推薦閱讀:Anthropic 官方發(fā)布的 《Claude Code 最佳實(shí)踐指南》。

10. 建立 Feedback Loop,Claude 才能自主迭代

Claude 最強(qiáng)的地方是能“自己犯錯(cuò)自己修”。要做到這一點(diǎn),必須幫它建立如下幾個(gè)循環(huán):

  • 構(gòu)建循環(huán):告訴它如何編譯項(xiàng)目,Claude 原生支持??swift build??,但對(duì)??xcodebuild?? 不了解,可以使用 XcodeBuildMCP;
  • 測(cè)試循環(huán):使用??swift test?? 跑單測(cè);UI 測(cè)試目前支持有限;
  • Bug 修復(fù)循環(huán):你得提供運(yùn)行日志或控制臺(tái)輸出,它才能判斷出錯(cuò)位置;
  • UI 優(yōu)化循環(huán):貼圖+優(yōu)化提示詞,Claude 就能迭代視覺效果。

注意:目前還無(wú)法讓它“像人一樣”使用 App,需要你提供交互狀態(tài)。

11. 不只是寫代碼,更有趣的應(yīng)用:模擬數(shù)據(jù)

由于Claude Code是封裝通用模型的智能體,因此在迭代應(yīng)用程序本身時(shí),你仍可以用它來(lái)幫助完成非編程任務(wù),比如編輯文案,甚至通過(guò)向模型征求改進(jìn)應(yīng)用程序功能方面的建議來(lái)規(guī)劃功能版本。

我發(fā)現(xiàn)一個(gè)很有用的方面是,在將真實(shí)數(shù)據(jù)導(dǎo)入應(yīng)用程序之前,它能夠生成模擬數(shù)據(jù)(mock data)。在構(gòu)建Context時(shí),我部分構(gòu)建了實(shí)現(xiàn)Swift MCP 客戶端庫(kù)的方法,但想改弦易轍,做一些 UI原型設(shè)計(jì)。

畢竟,生成逼真的模擬數(shù)據(jù)的過(guò)程通常太繁瑣了,我永遠(yuǎn)不會(huì)去嘗試,但Claude在幾秒鐘內(nèi)生成了非常棒的模擬數(shù)據(jù)。

結(jié)果非常 nice,我引入U(xiǎn)I時(shí)與朋友們分享的應(yīng)用程序的首批截圖基于模擬數(shù)據(jù),但它看起來(lái)足夠逼真,你可以很好地了解應(yīng)用程序在從真實(shí)的MCP服務(wù)器渲染數(shù)據(jù)時(shí)的樣子。

神作!我用Claude Code一人打造了一款macOS原生App!句句干貨,未來(lái)的IDE會(huì)截然不同:構(gòu)建上下文+反饋回路-AI.x社區(qū)

對(duì)于MCP來(lái)說(shuō),模擬數(shù)據(jù)尤為重要,因?yàn)楫?dāng)時(shí)大多數(shù)MCP服務(wù)器除了工具之外并不使用規(guī)范中的大多數(shù)功能,但我仍然需要一種方法為這些功能驗(yàn)證 UI。

12. 自動(dòng)化發(fā)布現(xiàn)在幾乎免費(fèi)

macOS 應(yīng)用發(fā)布流程復(fù)雜(簽名、notarization、DMG 打包、Sparkle 更新等),過(guò)去我都會(huì)寫 Python 腳本慢慢配。

這次,我用了幾小時(shí)就讓 Claude 自動(dòng)寫了個(gè)完整腳本,功能包括:

  • 檢查環(huán)境依賴;
  • 生成 changelog 和發(fā)布日志;
  • 編譯、簽名、打包;
  • 生成 Sparkle 更新 feed;
  • 打標(biāo)簽并發(fā)布到 GitHub;
  • 上傳 Sentry 的調(diào)試符號(hào)。

而這些,只花了我?guī)锥巫匀徽Z(yǔ)言提示。

神作!我用Claude Code一人打造了一款macOS原生App!句句干貨,未來(lái)的IDE會(huì)截然不同:構(gòu)建上下文+反饋回路-AI.x社區(qū)

13. 未來(lái)的 IDE 會(huì)截然不同

我突然意識(shí)到,整個(gè)項(xiàng)目我?guī)缀踔挥昧藘蓚€(gè)工具:

  • Claude Code:主要開發(fā)環(huán)境;
  • GitHub Desktop:查看 diff。

絕大多數(shù)時(shí)候,我?guī)缀鯖](méi)用 VS Code/Xcode 這些傳統(tǒng) IDE 編輯器功能:文件樹、源代碼編輯器、擴(kuò)展程序等等。我偶爾會(huì)用 Xcode 手動(dòng)編輯,但這種情況很少見,而且我也沒(méi)有用到大多數(shù) Xcode 特有的功能(SwiftUI 預(yù)覽、View Debugger 等等)。

我不得不想象,未來(lái)的 IDE 可能和現(xiàn)在完全不一樣。

我現(xiàn)在相信:

未來(lái)的 IDE,核心是讓開發(fā)者“構(gòu)建上下文 + 搭建反饋回路”,而不是手寫代碼本身。

這對(duì)于幫助代理成功完成任務(wù)至關(guān)重要。這方面的用戶體驗(yàn)將會(huì)非常不同——我無(wú)法準(zhǔn)確預(yù)測(cè),但我認(rèn)為源代碼編輯器不會(huì)成為核心。

Cursor、Windsurf 和 Copilot 都是從 VS Code 起步的,并在各個(gè)方面有所差異,但它們都將人工智能融入到了一個(gè)人工智能尚未出現(xiàn)的編輯器中。

從根本上來(lái)說(shuō),VS Code 與 20 年前的 JetBrains IDE 看起來(lái)并沒(méi)有什么不同。我也看到像 Warp 這樣的項(xiàng)目試圖從現(xiàn)代化的終端仿真器轉(zhuǎn)型為代理式開發(fā)環(huán)境,但我也不認(rèn)為終端一定是理想的用戶體驗(yàn)。

雖然我喜歡 Claude Code ,但終端式體驗(yàn)不一定是最優(yōu)解,但傳統(tǒng) IDE 的形態(tài)一定會(huì)被徹底顛覆。

14. 我終于又能發(fā)項(xiàng)目了!

最讓我興奮的不是這個(gè) App,而是我終于又能把 Side Project 做完并發(fā)布了!

這種感覺就像是:自己可以每天多出 5 小時(shí),而每個(gè)月只是多花了 200 美元。

注:我與 Anthropic 無(wú)任何利益關(guān)系,此文也非推廣內(nèi)容。只是實(shí)話實(shí)說(shuō),我真的很喜歡 Claude Code。

參考鏈接:

???https://www.indragie.com/blog/i-shipped-a-macos-app-built-entirely-by-claude-code???

?

?本文轉(zhuǎn)載自??51CTO技術(shù)棧?

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 欧美日韩亚洲在线 | 日韩精品久久久 | 狠狠干av | 中文字幕在线视频一区二区三区 | 国产精品视频网 | 欧美激情一区 | 91福利在线观看视频 | 欧美日韩国产中文 | 国产精品久久久久久婷婷天堂 | 日本三级在线网站 | 欧美在线亚洲 | 九九热精品视频 | 日韩一区二区三区在线播放 | 欧美性受xxxx白人性爽 | 中文字幕二区 | 欧美一级欧美三级在线观看 | 影音先锋亚洲资源 | 欧美一级在线 | 欧美一区二区 | 精品久久不卡 | 欧美xxxx色视频在线观看免费 | 黄色片亚洲 | 日韩中文欧美 | 国产区一区| 综合色播| 日韩成人av在线播放 | 91视频在线观看 | 国产亚洲欧美在线视频 | 欧美日一区 | 91久久久久久| 亚洲国产欧美在线 | 国产精品久久久久久久久久免费 | 国产精品99一区二区 | 成人精品系列 | 最新国产精品精品视频 | 日韩av啪啪网站大全免费观看 | 日韩欧美一区二区三区四区 | 国产福利视频 | 亚洲精品免费在线观看 | 国产精品永久在线观看 | 中文成人在线 |