2016-09-28 50 views
0

我們有一個簡單的Web應用程序和移動應用程序場景。這兩個應用程序都使用服務器端Web API。我們的業務邏輯僅駐留在該API上。在不復制業務邏輯的情況下使用Firebase

我們正在從AWS RDS遷移到Firebase。無處不在,我不需要在Firebase中使用服務器端代碼,但是如何直接從我的應用(移動設備和網絡)訪問Firebase,而無需在兩個應用上覆制我的業務邏輯?

我知道這種方法(僅使用Firebase,沒有服務器端代碼)適用於簡單的應用程序。但是,如果我不想複製我的邏輯,幾乎所有我能想到的應用程序都必須有一個服務器端API。

我是否錯過了某些東西,或者真的需要服務器端API?

+1

想到的是「爲什麼」,爲什麼你認爲你需要一個服務器端API的第一件事情?否則你的問題太廣泛了。與往常一樣,幾乎所有的事情都是按基地劃分的大多數情況下,通過完成客戶端上的所有工作並將安全性留給數據庫(對於學習如何編寫良好的安全規則非常重要),您會做的很好,並且幾乎總是在任何大型項目中都需要一些函數在服務器上運行,以避免暴露私鑰或運行代碼,這些代碼在客戶端上不可能執行(但這是例外情況,而不是規則)。 –

+0

我同意你的意見。但讓我給你一些背景。可以說,每次添加新產品時都必須發送電子郵件。我必須在兩個應用程序(網頁終端移動設備)上編寫該規則?讓我們想象我的邏輯變化......我需要在任何地方記住*我把這個邏輯放在哪裏?使用API​​我不得不更新一個地方。現在想象一下我有一個Web應用程序,iOS應用程序,WP應用程序和Android應用程序的場景。我將不得不在任何地方更新我的代碼。它不難想象會有錯過的東西。 –

+0

哦,對了,我一直在用跨平臺的javascript工作了很長時間,所以我忘記了XD的這些問題。在那種情況下,我猜你必須繼續以同樣的方式工作。如果你希望更深入地瞭解一個想法,那麼如果你發佈了一個關於真實場景的更具體的問題,仍然認爲它會更有用。 –

回答

0

這聽起來像你正在尋找一個一次寫入隨處運行solution.You可以看看:

  • 基於Web的解決方案(例如漸進Web應用程序)
  • 混合解決方案(例如,離子)
  • 接近原生的解決方案(例如原生做出反應,NativeScript)
  • 交叉編譯解決方案(如英特爾XDK)

...的d可能還有其他幾個類別。

如果這些都不滿足您的需求,您必須:

+0

其實我們在我們的移動版本中使用Ionic,在我們的網絡版本中使用angular2。我說iOS,Android,wp只是爲了說明。簡單的問題是:在兩個應用程序(Web和Ionic)上使用複製業務邏輯還是使用Web API作爲應用程序和Firebase之間的中間件並將邏輯保存在一個地方更好? –