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