我想開發一個網頁應用程序,然後開發相應的 android/ios 應用程式。到目前為止,我只決定了我想要使用 React 和 React Native for mobile 的前端。
對於技術堆疊的其餘部分,我正在考慮使用meteor.js,在這種情況下,如果我錯了,請糾正我,我不需要其他技術。
不過,我也在尋找替代方案,我讀過的一些內容是環回、firebase 和 redux。我對這一切都很陌生,所以我知道這可能是蘋果與橙子的比較,但我不太確定,其中每一個會對我做什麼,以及這是否是一個非此即彼的情況或我是否可以將其中一些結合起來? Redux 聽起來似乎也適合meteor.js 工作流程?
總而言之,如果有人能向我解釋所有這些如何組合在一起以及什麼樣的組合作為技術堆疊才有意義,那就太好了。
答案1
火力基地:
Firebase 的工作原理如下:一個或多個用戶訂閱某些數據,因為他們對這些資訊感興趣。
伺服器會追蹤這些訂閱。一旦發生新的訂閱,一些資料就會作為訊息發回。
當一個客戶端寫入一些資料時,發布/訂閱伺服器會將此更新廣播到所有其他活動訂閱。
一切都以發布/訂閱的方式進行,因此不存在“查詢”的概念。您只需告訴您感興趣的內容,然後您就會收到描述該資料的訊息。
優點
- 如果您的應用程式確實運行集中式資料庫並且由許多用戶更新,那麼它完全有能力處理設備之間的即時資料更新。
- 儲存在雲端中,因此隨處可用。
- 跨平台 API(如果您將此資料庫與應用程式一起使用)。
- 它們託管數據,這意味著如果您要存儲大量數據,則不必擔心硬體!
缺點:
- 除非您的應用程式運行一個由大量用戶更新的集中式資料庫,否則這是一種重大的殺傷力。
- 儲存格式與 SQL 完全不同(Firebase 使用 JSON),因此您無法輕鬆遷移。
- 報告工具與標準 SQL 工具相差甚遠。
- 成本!僅限 50 個連接和 100MB 儲存空間!
- 您不託管資料。 Firebase 確實如此。根據您安裝的伺服器,查看那裡的正常運行時間,最近似乎有很多中斷。
終極版
Redux 是一種架構模式和一個函式庫。它給您的禮物是能夠在單一物件中管理應用程式的狀態。這是一個文章談到這一點,以及文章 談到將所有狀態儲存在單一不可變原子中的缺點。
環回
優點
- 非常快速的 RESTful API 開發
- 約定優於配置
- 內建模型可供使用
- 遠端過程呼叫支援
- 需要時完全可配置
- 豐富的文檔
- 全職團隊致力於該項目
- 可用的商業支持