site-icon Hong Cheung
May 16, 2025

我下一個重大專案的最終技術棧決定 - Appwrite + Capacitor + RxDB

我一直試著弄清楚該怎麼全部自行架設,好讓我能夠逃離資本主義,而這一直都很難。

規模經濟與資本主義是相伴而生的。公司越大,他們能提供的服務就越便宜、越好。為了向這些壟斷企業說不,我必須做出一些犧牲。

我把時間花在學習和東拼西湊上,真的很希望這一切值得。

過去幾週,我試過許多技術棧,想達成跨平台、本地優先的同步。這包括原生平台、RN Expo、LegendState、Flutter、RxDB、Powersync、Appwrite、MongoDB、Realm 和 Supabase。也研究過 Brick、WatermelonDB、IndexDB 等等。同時也去理解這些解決方案之間的差異,以及我該如何混搭它們。例如 Expo 搭配 LegendState 再搭配 Supabase/Appwrite、Flutter 搭配 Supabase + Powersync/ElectricSQl 等等。

最後我領悟到,只要我用上任何平台,比如 Flutter(Google 出品)、RN(Facebook 出品)或 SwiftUI、Kotlin 等等,隨便你舉哪個,那終究還是高度依賴平台。如果他們不再維護、開始收費或改變政策,我就會受制於人。尤其,如果我花時間為 Apple 打造,用他們的 SwiftUI 做出很棒的 App 來壯大他們的 App Store,我感覺自己根本就是在為他們工作。

我知道有些開發者會欣然接受這一切。他們用對自己方便的東西,好快速推出 MVP。但我還是不想那麼做。我不想只因為方便、可擴展又相對划算,就用 Flutter 搭配 Firebase。也不想忽視 Google 這家公司是如何剖析並追蹤使用者來從我們身上獲利,好像我們都是笨蛋一樣。

因此,我得出結論:唯一的解法就是 Web。一如以往。Web 技術很穩定,我不需要讀完好幾頁的服務條款,只為了知道我的專案可能會因為我沒遵守他們的壟斷規則而被隨機關閉。

如果到頭來,跨平台框架終究需要編譯,那麼先做一個 Web App,再用 Capacitor 包裝起來,只為了發佈到 App Store 和 Google Play Store,這完全說得通。反正它們本來就該被當成次要優先。

這從來就不是關於裝置效能、裝置 API,也不是多執行緒。 這是關於自尊,以及達成一件大事的目標。

abcd.com 和 google.com 是一樣的,而我應該從那裡開始。

上一條動態
Copyright 2026
網站地圖
隱私政策
服務條款

主題由 Astro-Yi