今天早上讀了好和弦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上。但有在觀望並蠢蠢欲動!