為什麼我還在寫 iOS App

約 13 分鐘

今天早上讀了好和弦 Wiwi 的「為什麼不做 App」,心有戚戚焉,不過也有些不同的想法。

Wiwi 主張用網頁做工具:一次編寫、跨平台、免安裝、免審核,符合自由軟體精神。比起把軟體鎖進封閉商店,他更想讓使用者「直接打開就能用」。

身為一個寫了 10 年的 iOS 獨立開發者,也常想:我是不是也該全面轉向寫網頁或 Cross Platform? 畢竟平台風險真實存在:規則一改、帳號一封,一切的努力都白費。更糟的是,用 Swift 寫的東西,短期內很難搬到其他平台。

也有可能是因為 iOS 26 的 Liquid Glass UI 設計之醜讓我對蘋果產生了嚴重懷疑。他們到底在想什麼?拜託還我我的極簡 Flat Design!

如果有一台 E-ink 的 Android 手機足夠強,或是有真正開源的手機平台,我應該會跳槽吧。

跑題了,回到該不該做原生 App 這件事的討論上。

我的 iOS 開發者之路

大約十年前,我作為一個 CS 專業畢業生,面臨人生重大抉擇:寫前端還是寫後端?寫前端的話,是寫網頁還是寫 iOS 或 Android?

我向來不注重後端或演算法(所以到現在 LeetCode 還是寫不出來)。對我來說,做出讓人愛用的產品,比能不能 scale 到百萬用戶更重要,畢竟沒有好的用戶體驗,根本沒人用!所以無庸置疑一定是前端。

而要有好的用戶體驗,必須要會把設計化為代碼。當時我最討厭的就是寫 CSS1。看到要處理各種瀏覽器相容性、響應式設計、float、position… 就放棄 Web 了。Android 的螢幕尺寸又多,審核太鬆導致用戶體驗很差,用戶又窮,所以我果斷選擇了 iOS。

剛好當時在 Stanford 有大名鼎鼎的 CS193P - Developing Apps for iOS 可以上,後來也當了那門課的助教,從此踏上了不歸路,職涯一路都是寫 iOS 過來的。(順帶一提,iOS 的面試題庫也比較少!)

令人又愛又恨的 App Store

先說我討厭的部分。

通知轟炸很煩。 每個 App 都想提醒你:該回來了!該付錢了!該看廣告了!我自己手機上所有的 App 通知都關掉,但還是防不勝防。開發者推送的越多,用戶用的越多,App 的排行就會上升。

訂閱制更是萬惡。 以前買斷 10 塊美金的 App,現在變成每個月 10 美金。美其名曰是「持續更新」,實際上很多就是把你當提款機,或乳牛。很多 App 根本不需要是訂閱制。

App Store 就像一個大賭場。 去看免費遊戲排行榜前 100 名,清一色都是想榨乾你錢包和注意力的垃圾遊戲。什麼《Survivors.io》、《Clash Royale》,雖然都很令人上癮,但換湯不換藥,都在用心理學技巧騙你課金。比如你可以浪費你 1 分鐘的生命看廣告來換取遊戲幣,但節省很多時間喔!或設置成長曲線,讓玩家一定會碰壁,但只要買月卡就能立刻突破瓶頸喔!當然你立刻就會繼續在更高級碰壁,無限循環。非常噁心。

而且 Apple 會抽 15-30%2。App 排名主要取決於你能為蘋果賺更多和用戶開啟 App 的次數和時長。這導致開發者只會選擇訂閱制和開啟通知。垃圾手遊和無良開發者雖然很噁心,但幹嘛跟錢和股價過不去?所以整個系統在某種程度上都在獎勵邪惡。

但… 我還是繼續在這個系統裡。為什麼?

App Store 的好處

App Store 其實對用戶和開發者是雙贏。

對用戶來說,App Store 解決了一個真實的問題:信任。

我爸媽不懂什麼是 HTTPS,不知道怎麼判斷網站是否安全。但他們知道從 App Store 下載的東西和在上面付費買 App 「應該」沒問題。光是這個信任機制就已經很有價值了。

對開發者來說,App Store 其實幫我們處理了很多麻煩事:

  • 付費機制(你試過自己處理退款和發票嗎?超麻煩)
  • 全球發行(自動處理各國稅務)
  • 用戶信任(新品牌很難建立信任)
  • 自然流量(搜尋和推薦)

是的,Apple 抽 15-30% 很貴。但如果把這當成「基礎建設使用費」,其實也不是完全不合理。

原生 App 的技術優勢

在討論完 App Store 後,我也想說說原生 App 技術上的優勢。

用戶體驗與能力: 如果你的 App 需要經常調用相機、處理低延遲音訊、提供 Widget、整合快捷指令、執行可靠的背景任務、管理離線資料庫、連接藍牙設備… 這些在原生平台上都已經很成熟穩定,開發和除錯的成本相對可控。

網頁當然也在進步,網頁 App 也越來越強大。而且比原生 App 多了免安裝的優勢,分發和分享的阻力非常小。但每次我看到「Chrome 支援但 Safari 不支援」或「需要用戶手動允許這個那個權限」時,就會慶幸自己選了原生開發。至少在 iOS 上,API 就是 API,不用擔心瀏覽器差異。

寫原生 App,目前還是在手機上提供最佳用戶體驗的方式。

(當然,這也可能只是我為自己不想寫 JavaScript 找的藉口。)

原生 App 的真實優勢

除了技術層面,商業層面的優勢可能更重要:

1. 分發與回流: 因為 iPhone 的用戶很多,App Store 每天都有驚人的瀏覽量,而且用戶來到 App Store 本身就有下載的意願。只要 App 本身真的有解決問題,就很有可能被其他人找到,不用跟 Blog 或其他各式各樣的網站競爭。雖然有審核門檻,但搜索、排名、評分、編輯推薦仍是重要的流量來源。對沒有品牌的新 App 來說,在 App Store 被發現的機會,比在茫茫網海中從零開始養流量容易一點。

我的 App 沒有網站也沒有行銷。所有的用戶都來自 App Store 搜尋3。如果是網頁版,我得自己搞 SEO、買廣告、經營社群… 光想就累。

2. 用戶願意付錢: 網頁上大家習慣免費。App Store 上付費是常態。尤其是其他 App 同行和先驅們已經為你開路,你只要跟隨他們的腳步,也設類似的價格就行。同樣的功能,做成 App 可以收費,做成網頁很難收費。這是現實。(除非你做的是 SaaS。)

3. 推送通知的力量: 聽起來很煩人,但對某些應用(學習、健身、習慣養成)來說,定期提醒是核心價值。網頁很難做到這點。

4. 本地運算更有隱私: 諷刺的是,被控制的 App Store 反而讓本地運算的 App 更普及。很多 App ,包括我的,完全不需要伺服器,也不需要網路就能運行,所有資料都在用戶手機上,不僅省電,還不怕資料外洩。有掛 Google Analytics 或廣告的 App 就另當別論了。

還有就是每天看看很多用戶的好評,心情就很好。雖然評論是一把雙刃劍,差評也會讓我心情很差。

現實的妥協(或者說藉口)

說實話,說了這麼多,主要原因還是錢。

網頁版確實自由,但自由不能當飯吃。我的 App 每個月能帶來穩定收入,讓我能全職當獨立開發者。如果只做網頁版,我可能得回去上班了。

而且有個殘酷的現實:有賺錢,才有動力繼續改進產品。

我看過太多開源專案,一開始充滿熱情,幾個月後就停更了。不是開發者不想做,而是用愛發電真的很難持久。相反的,當用戶願意付錢,這不僅為「我的 App 有沒有用」提供最大的信號,同時也讓我有責任(和動力)繼續優化,提供更好的產品。

沒有對錯,只有個人的取捨

如果你問我建議,作為一個 iOS 獨立開發者我會這樣回答:

想要自由? 做網頁版。接受可能沒什麼人用的現實,但至少你不用看 Apple 臉色。

想要賺錢? 做 iOS App4。接受要被抽成、被審核、被控制,但至少養活自己的機率比較高。

想要影響力和提供最多的價值? 老實說,哪個平台能觸及更多人就選哪個。影響 10 萬人但不自由,可能比自由但只影響 1000 人更有意義。(當然,這只是我的想法,不一定對。)

這也有點像作家到底該不該用社群媒體推廣自己的文章議題一樣。照上面的建議,我如果想要影響力的話,不是應該要用觸及最多人的社群媒體平台才對嗎?我還是不想要用社群媒體。可能是因為我認為它對我帶來的壞處大於好處吧。

目前對我來說,使用 App Store 利大於弊,好像還行,暫時還不用轉行,讓我可以繼續一邊罵 App Store 邪惡,一邊繼續上架 App。最多就是去除廣告而已。

很矛盾,我知道,但人本來就是各種雙重標準的矛盾體啊。

這點我覺得 Wiwi 追求自由軟體始終如一的標準比我一致多了,值得我學習!

長期我應該還是想脫離 iOS 和 App Store 這個平台。這個個人網站電子報就是我去除平台風險的一個小嘗試。

或許哪天 Apple 真的把我封了,我再來寫一篇「為什麼我不再做 iOS App」。 但在那之前,我還是會繼續打開 Xcode,寫我的 Swift。

Footnotes

  1. 說真的,現在有了 Tailwind 和 AI,寫 CSS 好像沒那麼可怕了。這個網站就是這樣寫的。但做能賺錢的產品這件事上,我在 iOS 的坑裡已經太深,爬不出來了。

  2. Apple 提供 App Store Small Business Program,只要年銷售在 100 萬美金以下就可以收 15 %,而不是 30 % 的平台費用

  3. 現在 App Store 的搜索優化(ASO)也不像以前那麼簡單了,你必須脫穎而出

  4. 至於 Android 或 Cross-platform?我的建議是先在 iOS 上找 Product Market Fit。真的有需求再考慮支援 Android,畢竟光是想想那麼多 Version 和螢幕尺寸和品牌要支持就夠嗆,會多很多維護成本。我自己作為一個一人團隊,懶得支援,所以目前還是只專注在 iOS 上。但有在觀望並蠢蠢欲動!

分享這篇文章: