Jacky.Cheung
January 25, 2025Programming

童年的浪漫

最近嘗試獨立開發了一款APP。

在介紹這個App之前,先分享一下童年回憶中曾經在《多啦A夢》裡看過的一個故事情節。

多啦A夢 多啦A夢 多啦A夢 多啦A夢

這個遊戲是故事中的未來科技,但其實仔細想想,是有做成 APP 遊戲的潛力的。

我自己本身是文科生,雖然自學過一段時間的 Web 前端開發,但 App 開發還是一個對我而言十分陌生的領域。

最近 AI 寫代碼發展迅速,號稱不懂寫 App 的人也能寫出可以運行的 App。於是就想試試用不斷向 AI 提問代碼的方法,實現童年回憶中的這個遊戲。

依靠AI,所有事情都是自己一手包辦,最後算是做出了一個 DEMO 成品。

遊戲流程大概是:

  1. 系統列出與香港不同景點相關的謎題。
  2. 玩家猜測地方,然後在地圖中找到那個位置,點擊一下驗證答案。 (需要不超過答案坐標五十米之外,通常精確坐標都是 Google Map 標記的景點位置)
  3. 如果答對了就收集到卡牌。

遊戲設有單人模式和多人模式,多人模式是玩家可以自己開一個遊戲房間讓其他人加入,由房主設計謎題並指定坐標,由其他玩家競爭誰最快答對。

過程中學到了許多,首先是自己對目前公開的 AI 代碼能力的水平的評估更為透徹和精準了。它能忠實地滿足你在代碼上的基本需求,但你沒有提到的東西(例如一些性能上的優化)它往往不會主動為你實現,而你必須對它在做什麼有一定的理解(因此我選擇React Native是正確的!),點出其問題,它才能進一步改善代碼。

在這個兩個禮拜完成的個人項目中,最有得著的東西其實是提高了自己組織項目的能力,因為 LLM 是有上下文的限制的,在稍微大點的項目它很容易就忘記之前的代碼了,這是它本質上的缺陷。這是你自己必須能把控得住的方面。

另外,對於一些較新的library或者新出現的bugs、特性,AI 是不了解的,因為它的數據不能時刻更新,這是需要你自己google和debug的。或者一些工具的config、CI/CD,我個人也是更推薦自己來處理的。這些東西更新很快,不涉及寫代碼的水平,更多是對於你是否長期關注開發者社區和找資料水平(或者是英語水平)的一種考驗。

而這種能力對於前端開發者來說,是極為重要的,因為前端就是一個日新月異、變化極為迅速的領域。

最後歡迎大家試玩: App Store

注:

  1. 採用了React Native技術棧,對Web前端更為友好
  2. AI 是cursor自帶的claude 3.5 sonnet